Welcome to the fourth (and I think final!) part of my going indie series! Previously, I discussed the exciting topics of business structure, taxes, and retirement. Today, I’m going to discuss two final topics: bookkeeping and invoicing. The first is about how to correctly track your income and expenses, and the second is about making sure you get paid! Because this is capitalism, baby — we are not here for passion, we are here to pay those bills.

In This Series

This post is part of a series about becoming an indie developer and freelancer.

  1. Going Independent
  2. Going Indie: building a foundation, finding clients, and negotiating rates
  3. Going indie: business structure, taxes, and retirement
  4. Going Indie: bookkeeping and invoicing

Disclaimer: As I have previously disclaimed, I am not an accountant. But the content in this post is what I have learned from my accountant, as well as multiple years of being indie. Accountants are pretty rad, you should get one! They will teach you a lot and when the IRS comes knocking with an audit, you’ll be glad to have someone on your side who understands our deliberately esoteric and obtuse tax code that was written and paid for by neoliberal sociopaths.


I mentioned bank accounts in the previous post, but I’ll reiterate briefly. It would be wise to open new bank accounts that are solely for your business. I would recommend having one checking account and one credit card, at the very least.

If you are a sole proprietor, you can open regular accounts. Sole proprietors do not need to open “business” accounts (although you can, if you want). If you have another business structure (as discussed previously), then you might require business accounts.

Anyway — the purpose of opening new accounts is to keep your business income and expenses separate from all of your personal finances. Do the simple thing first, and make adjustments as needed.

Bookkeeping software

You are going to need software for this, preferably something that automatically pulls in transactions from your checking and credit card accounts. Then you can categorize your income and expenses accordingly, which can hopefully be automated as well.

I use QuickBooks and I highly recommend it. Yes, it is a bit “corporate” and maybe not the most delightful piece of software — but it works, it is basically an industry standard, and your accountant is most likely already very familiar with it. That last point is key. QuickBooks makes working with your accountant easy because you can give them special accountant access. There are a lot of different versions and plans with various features. I use QuickBooks Self-Employed, which is pretty lightweight and fits my needs just fine. If you have an LLC or S-Corp, you might want to consider their other offerings.

For the rest of this post, I’ll assume you are using QuickBooks Self-Employed. However, if you are using an alternative I’m sure it has similar features.

How to keep your books

If you have ever used a personal finance tracking tool like Mint, then you’ll feel comfortable in QuickBooks. The main tasks at hand are:

  1. Track your income and expenses. That is, hook up QuickBooks to your accounts and let it pull in all of your transactions. Done.
  2. Categorize everything correctly. QuickBooks has all the categories you might need. Most of this categorization happens automatically. If needed, you can setup custom rules.
  3. Keep receipts! (And attach them to their corresponding transactions in QuickBooks.)

If you do these things and keep track regularly (for example, I do my bookkeeping every Friday), then at the end of the year you can use QuickBooks to generate all the various reports you need for your taxes. Receipts are necessary documentation in case you get audited, and after uploading them to QuickBooks your accountant will be able to access them.

The most difficult part is categorization, but that’s not too hard. Once you learn how all of your different expenses should be tracked, this becomes easy to maintain. Many items have obvious categories: meals, travel, computers, software, etc. Here are some of the not-so-obvious things to track:

  • If you need to deposit money into your business account, categorize this as a “personal deposit”. The only time I ever did this was when I first started out and had an empty bank account. The point here is to not mistakenly track a deposit of your own cash as “income”. QuickBooks will omit “personal deposits” in your annual income reports.

  • When you withdraw money to pay yourself, categorize this as a “personal withdrawal”. Typically, when money is leaving your account this would be considered an expense, but that is not the case in this situation. Thus, you want to avoid accidentally mislabeling this transaction. QuickBooks will omit “personal withdrawals” in your annual expense reports.

  • Similar to paying yourself, withdrawals for retirement accounts like a Solo 401(k) contributions should be labeled as a “personal withdrawal”. Be sure to track your contributions and consult with your accountant and financial advisor.

  • Claim a home office. After doing this, you can claim rent, energy (gas and electricity), and renter’s insurance. (Or if you own a home, your mortgage and homeowner’s insurance.) The formula for this involves finding the square footage of your office as a percentage of the total square footage of your entire apartment or home. Then you can split expenses accordingly. For example, if your home office is 10% of your apartment, then you can deduct 10% of your rent as a business expense.

  • Health insurance premiums. These monthly expenses can be deducted.

  • Pay other utilities like Internet and cell phone via your business account and split them 50-50 as personal and business expenses.

  • Large computer expenses, like a new laptop should usually be categorized as a “fixed asset” rather than a normal business expense. This is because these devices are kept in use for multiple years and depreciate over time. Consult your accountant.

  • Finally, for subscription-based software I highly recommend paying annually instead of monthly, if you can. A single transaction with a single receipt is much easier to track than 12 transactions and 12 receipts. Plus, many services offer discounts if you pay annually.

What qualifies as an expense?

I have already named and alluded to a number of different expenses you can claim. My understanding is that what can be considered an expense is quite broad. According to my accountant, anything that helps you run your business is usually a valid expense. As I mentioned above, your home office and any related costs can be expensed. Expense all software and services you use. Conferences, along with all associated costs (travel, food, etc.), are valid expenses. Anything broadly relating to “professional development” is a valid expense. If working from a coffee shop for the day, anything you purchase can be expensed.

Again, consult your accountant. But one thing I learned over the years is that when I first started, I was way too conservative in tracking expenses. For my first year, I had hardly any expenses. I thought, “well, all I really did was sit at my desk at home.” I definitely missed out on claiming some valid expenses that year.

So, my advice is to freely claim as many expenses as possible but stay organized with your bookkeeping. Then during tax season, if you claimed something that is not a valid expense, it is easy to throw out. It is much harder, if not impossible, to try to track down expenses you might have missed over the last 12 months.

Creating invoices

Invoices are another “first impression” for your clients. They should be professional and high quality. They should look professional and high quality. Don’t pick some random, shitty invoice template. Take the time to make a nice template — you only have to do it once.

QuickBooks has some built-in invoicing and payment processing features, but I have never used them. The generated invoices are rather bland and cannot be customized. I don’t think they look very nice, nor professional. As far as payments go, all of my clients use ACH transfers — so I give them my account information and they direct deposit payments. I imagine this is pretty common, so you probably do not need to find payment processing / invoicing software.

I have been very happy using Pages to create my invoices. Pages has a great invoice template that you can use as a starting point. I recommend customizing it with your own branding, or create a template from scratch and use the provided template as a guide. You can export any document in Pages as a template via File > Save as Template. If you don’t want to use Pages, I’m sure there are plenty of other options out there.

As far as content goes, my invoices contain:

  • The date the invoice is being sent.
  • An invoice number. I use the date for this. For example, an invoice sent on April 1, 1976 would be #19760401. I find that this makes it the easiest to keep track of. Not to mention, it is consistent and makes them easy to sort.
  • My contact info.
  • A “To:” field with the client’s contact info.
  • The project name.
  • A table with my hours for each day, rate, and a total cost.

Sending invoices

My preference is to send invoices every two weeks and request that they be fulfilled within two weeks. To me, this is “the sweet spot”. I prefer getting paid as early as possible because I am not in the business of giving interest-free loans to companies. The sooner you can make your monthly contribution to your retirement account (or other investments), the better. Even in full-time positions, there is no real reason that workers can’t get paid at the end of every day for that day’s work. This would be especially impactful for low-wage workers for whom waiting two weeks for payment can be seriously precarious. Delayed payments for labor are about power and subjugation. But, I digress.

The downside of more frequent invoicing is that you have more work to do for bookkeeping. But, it’s not that bad. Unfortunately, due to the archaic bureaucracy present in many organizations, my preferences are often not possible to accommodate. However, sometimes clients are, surprisingly, interested in more frequent invoicing. I have experienced all of the following: weekly invoices with weekly payments, bi-weekly invoices and bi-weekly payments, monthly invoices with monthly payments.

Know your preferences and communicate them, but know that your client may not be able to accommodate you. The frequency of invoicing and payments is something to be negotiated with each client. Make sure you establish and confirm these details at the start of your contract to avoid confusion later.

For all of my work so far, I have sent pdf invoices via email to the client. Depending on the organization, this sometimes goes to the accounting department, accounting@company.com or something similar.

How to automate invoicing

This is a bonus section to share a bit of my workflow. I have yet to figure out how to fully automate invoices, but I’ve gotten pretty close by eliminating a lot of tedious, repetitive steps. If you have additional tips, let me know! Here’s how I handle this:

I setup an email template for the client. Basically, you want to write a sample email and save it as a draft. Enter the client’s email in the “To:” field as if it is a real email. Add all of your content. I keep my emails brief, “Hello NAME! Here’s my invoice for the month. Let me know if you have any questions!” Something like that. I always set the subject to “Invoice - DATE” and I have an email signature with my contact info.

For Fastmail and Mail.app on macOS, you can drag this saved draft to a new folder called Templates/ to save it as a template. I’m sure other email clients and services are similar. When you are ready to send an invoice, navigate to the correct template email. In Mail.app, you can right-click and click “Send Again”, which generates a new email from the template. Then fill-in the details, attach the pdf invoice, and send! (Again, I’m sure other mail clients can do this.)

While working, every day I track and record my hours on the current invoice. That is, updating the .pages file. Then, I have an AppleScript to automatically export the pages file as a pdf. (You can find the script here.) This saves me a handful of tedious clicks.


That’s everything I have to share about bookkeeping and invoicing, and how I deal with these tasks as an indie developer. And this post concludes my series on Going Indie — at least for now. If I think of other topics or if readers have a lot of questions, I will certainly write more.

If you’ve been following this series and you’ve reached this point, thank you for letting me share my thoughts and experience with you. I hope you’ve enjoyed it!