I decided I wanted a quick easy way to keep track of my EyeDock business expenses. I don't have a lot of expenses, it's mostly just software utilities to help me work more efficiently. Accounting software can do this of course, or I could just keep a spreadsheet. However, I wanted something that would be even faster to add entries and reference, even from my phone.

However, to make things even easier, I once again made use of the Drafts app. Drafts allows you to quickly enter some text and append it to a Dropbox document, which will work well for our needs today. I wrote more about the Drafts app a while back so I won't dwell on its other features here.

To make a Dropbox action, click open the app and hit the settings icon (the gear). Scroll down to and click Dropbox Actions, then click the plus sign at the top to create a new action.

Give the action a name (I called mine EyeDock expenses), tell it the path to your text file. I have an EyeDock folder in Dropbox, and I decided to nest a 2013 folder in there so I can separate my expenses each year. The actual file name is expenses, and it's a text (.txt) file.

Setting up a Dropbox action in Drafts

Now, I can open up Drafts, type the date, the payee, the expense type, and the amount. When I'm through I click the EyeDock expense action I created and my text is appended to the expenses.txt file in Dropbox.

Entering text in Drafts and selecting the EyeDock expense action

However, this is still too much work for me (I'm lazy). I don't want to have to enter the date - my phone already knows the date, why can't it do it? I only need a few categories, and I don't want to have to type them in. This sounds like the perfect place for Textexpander. If you're unfamiliar with Textexpander, it essentially allows you to create system-wide text macros. So, if you're sick of typing in your address, you can assign a text trigger, such as ".address", and every time you type that it'll insert your address. The macros you make on the Mac can sync (via Dropbox) with your iOS device, which can come in very handy.

Textexpander got even more useful a while back when they added fill-in snippets. They describe fill in snippets like this:

You can add fill-in fields to a snippet to make it easy to create customized boilerplate text at the time you expand an abbreviation.

I made a fill in snippet to automatically enter today's date, a blank field to enter a payee, a list of expense types (software, advertising, hardware), and a blank to enter an amount. I set the trigger to be ".exp", for "expense".

So, I open Drafts, type ".exp", and it immediately takes me to the Textexpander fill-in. The date is already there, I type in my payee, select the type, and enter in an amount. I hit Done and return to Drafts. I hit the EyeDock Expense Dropbox action and I'm done.

Using a fill-in form in Textexpander

The output of the Textexpander fill-in snippet in Drafts

Opening the expenses.txt file in Dropbox I can see that the text was appended to the end of my document appropriately.

The text appended to the expenses.txt file in Dropbox

In this case I'm basically creating a no-frills ledger. I like working with a simple text file because it's easy to open, read, and append to. However, the file is essentially a comma separated volume, which means that I can at any time change the extension to .csv and open it up in a spreadsheet. This might be helpful at the end of the year if I want to quickly SUM the expenses column.