Skip to content

FreshBooks Review: An Invoicing System for Freelancers

Last November, I started using FreshBooks (full disclosure: if you click on that link, sign up and end up paying them money, I get some money), which is online invoicing software… Wait, let’s back up a minute.

When I started contracting and consulting (oh yes, they’re different), I originally was doing all my invoices in Word docs (actually, OpenOffice Writer), and it seemed natural to track my time there as well. Don’t repeat yourself, right?

After a while, it was tedious to have to open up each invoice every time I switched the client I was working for, so I started using an OpenOffice Calc spreadsheet. On the left hand column were dates, and on the top row were projects/tasks (“work order 13”, “troubleshooting database performance issues”). I ended up having a second row, which was client identifier.

This worked well for a while. When invoicing time came around, I would take the hours and task data from the spreadsheet and put it in the custom invoice. I’d export the custom invoice as a PDF, and put it in a directory. When the client paid, I’d move the invoice to a ‘paid’ directory. This differentiation let me send gentle reminders to clients who hadn’t paid yet.

I realized early on that this wasn’t the most efficient system. Several times, I did research on invoicing systems. I looked around SourceForge and FreshMeat, but the invoicing systems I found there were aimed at invoicing for products, not hours. I had a friend who’d used GnuCash but it seemed to be so much more than I needed.

So, each time, I went back to my old friends, the spreadsheet and the word document.

Mid last year, I was slammed with work. This made me realize, again, how inefficient my invoicing system was. I thought, ‘hey, I’ll outsource it’. A friend had a good person doing some administrative work for him. I hired her to do my invoicing, once a month. I talked her through my system, and she got it. I double checked her first invoice, and it was great. The price was reasonable, I could still use my familiar system, I was happy.

Then this lady decided to raise her prices fifty percent, in a rather high handed and arbitrary manner. Now, I was not a big client. Frankly, I can understand how 1-3 hours of work a month was not very attractive (though I did throw her some research work at least once). However, I was slightly offended at the price increase, and decided to take my work elsewhere. This shows the power of the initial price, because if she’d quoted the hourly fee at the higher rate originally, I would not have blinked.

I tried to find someone else to do the job. I found a relative, who could do the job, but required a fair amount of hand holding. The relative kept talking about the automated accounting systems she had used in the past, so I undertook my search again.

This led me to last October. I looked around for web based invoicing system that would work with me the way I wanted to work:

  • mostly time and materials billing
  • some fixed bid, including for clients that I do t&m for
  • varying hourly rates
  • ~10 clients
  • pdf invoices I could email
  • web based
  • time tracking including
  • professional looking invoices generated

I narrowed it down to three contenders (this was as of October, 2008; there may be more now):

I took one look at QuickBooks Online, saw that it was IE only, and discarded that option (I may run Windows, but I want to support the open web).

I spent significant time investigating both Cashboard and FreshBooks. I liked the Cashboard interface better, but there was a huge stumbling block. Some of my clients have both fixed bid and t&m work, during the same month. I don’t ever want an invoice to show how much time it took to do a fixed bid project–that’s my business and not the client’s concern (that’s why it is fixed bid). Cashboard had no way of putting both a fixed bid project and t&m work (which must show hours spent) on the same invoice. I even asked Cashboard support about this, and got this answer back: “At the preset(sic) time there is no way you can show time for some projects on an invoice, and hide it for others.” Updated, 4/30/2009, 20:25: Apparently I was wrong, Cashboard can do both types of line items on the invoice; see discussion below.  Now I’m not sure exactly the source of my choice of FreshBooks over Cashboard.

FreshBooks lets you do exactly that, so I signed up for their free account (full disclosure: if you click on that link, sign up and end up paying them money, I get some money). And I’ve been using it since last November. After I decided to use it, I upgraded to get more client accounts.

In general, I’ve been happy with FreshBooks. It is always an adjustment to change your business processes and/or software but I’ve been happy with a lot of what FreshBooks has to offer.

First, though, the gripes and caveats:

FreshBooks is not a full accounting package (and they don’t pretend to be one). I still don’t have one–other than the accountant who does my taxes. This means that I don’t have a precise view of my business’s health all the time. I do find out my profit and loss numbers once a year (tax time), and I find that is enough for me. The business’s expenses and income just aren’t that complicated. I had about 30 deposits into the business checking account, and about 50 checks written against it (and a number of EFTs and fees as well).

The web interface is cumbersome and non-intuitive at times. It can be learned, but the crazy urls and heavy use of javascript are occasionally issues for me. For example, editing time that you already have entered, especially changing the day the time was entered for, took me a while to figure out. I also have to re-login to my account every day, even if the browser window has been open for the entire time.

There is no free widget/desktop app for Windows XP users to use for FreshBooks time tracking (you can always use notepad). There is one you can pay a modest fee for. I think it’d be cool to write an AIR FreshBooks time tracking app–maybe sometime…

What I like about FreshBooks:

This last quarter I qualified for the report card, which is free quarterly data comparing your invoicing statistics with others in your industry. Statistics include number of invoices, amount invoiced, % revenue from new clients, and average time to collect payment. This data is great, and I don’t know how I’d find it otherwise. (As an aside, one of my other project ideas is to have a local Boulder/Denver survey of rates for web software development. I’d pay for that–would you?)

I like the reporting available, including which hours have been invoiced and which haven’t (though I have issue with a fixed bid project that I’ve invoiced, but can’t seem to mark invoiced). If you had more than one employee, this reporting would rapidly increase in value.

The cost is reasonable–I have a Shuttle Bus plan, which is 14 dollars a month. (My bank does charge me a bit extra, because FreshBooks is a Canadian company).

They have a great blog.

FreshBooks has an API, which lets you develop any number of widgets (including the time tracker mentioned above) and/or access your data from other programs.

I want to emphasize that the FreshBooks invoicing software is no one-size-fits-all solution. I am running a one person software/consulting business with a fairly stable set of clients and minimal expenses. FreshBooks has many features I don’t use (postal mail invoices, basecamp integration, expense tracking, estimates).

The biggest component that I don’t use is client login. Freshbooks makes it easy to create client accounts. Clients can then login and view documents, see outstanding invoices, contest them, and even pay them with online payment systems. This seems nice, but doesn’t fit with my client expectations. I may try this with new clients, but I hate to ask someone who is paying me money to login to yet another system, just to make things easier for me. Besides, I like to thank my clients in a personal email around the first of the month (along with sending them my invoice)–it never hurts to thank your clients.

So far, FreshBooks has been a great choice for me. If you’re in the Excel/Word invoicing world, or have an invoicing system you’re looking to dump, check it out.

[tags]invoicing,business process, freshbooks[/tags]

11 thoughts on “FreshBooks Review: An Invoicing System for Freelancers

  1. Ralph Dosser says:

    My accountant makes me use Quickbooks, and my client makes me use a Google Docs spreadsheet. If it weren’t for that I’d find your arguments quite compelling.

  2. moore says:

    I don’t understand how google docs is used–is that just for time reporting?  But, if my clients demanded a particular format, that would carry heavy weight (I remember working for a client a few years ago that had not one, but two timesheet systems I had to put the same data in).

    But you still need to have some way of tracking your hours across clients to pay yourself, right?

    As for your accountant–who’s paying who?

  3. Cashboard says:

    Hi Dan,

    You’re correct there is no way of showing a detailed breakdown of hours logged for one project on an invoice, and hide it for others.

    However, there’s no problem with you creating multiple invoices – one for each project – then sending a “multi-invoice” statement.

    At this point, that’s what we’d recommend you do with Cashboard to achieve the results you’re looking for. for more information on that.

    If you believe we’re still missing the plot, I’d love to see an example of an invoice that you don’t think can be done with Cashboard.

  4. moore says:

    Hi Cashboard,

    It appears that my problem might be solved with the update you link to. Great to see your product progressing–competition is all good!

    It seems like a bit of a hack to have to create two invoices when all I really want to do is have two different types of lineitem (one hourly, one fixed) on one invoice.

    However, I don’t think my clients would mind getting two invoices wrapped into one, as long as I explained it to them first.

  5. Seth - Cashboard says:


    You certianly _can_ have both types of line items on one invoice.

    What I was saying is that you can’t control showing detailed breakdowns of hours logged for one project, then hide them another within the same invoice. I might have misunderstood your initial inquiry.

    Perhaps we didn’t do such a great job of explaining Cashboard’s capabilities – but we’re definitely much more full-featured and offer many more configuration possibilities for your documents when it comes to invoicing and estimates.

    There’s even the possibility of logging _billable_ time for one project, then logging all time for another “fixed bid” project as non-billable. You’d be able to display the invoice in a manner you’d like and still be able to report on all time entries logged.


    – S

  6. moore says:

    Hi Seth,

    Perhaps my question was unclear as well. I just went back and looked at my cashboard account and it appears I can do line items with flat fees. I looked at my old invoice, and its clear that I saw that then as well.

    Hmmm…. Now I’m not sure what my issue with Cashboard was. I’ll update the post accordingly.

  7. Chris says:

    Dan, Did you look at Time59 ( when you were evaluating your options? If so you might want to take a look. It does have full accounts receivable functionality. You can always know exactly where you stand at a glance.

  8. moore says:

    Hi Chris,

    No, I did not evaluate Time59. Took a quick look now and it certainly seems to be reasonably priced. Didn’t walk through all the features, but if someone only needs to be able to time track and invoice for one person, Time 59 might be an option to consider. Nice work!

  9. moore says:

    Thanks Manish, that looks like a useful list to do some evaluation with.

  10. Neil Mathew says:

    Hey All

    I have been using the services of for quite sometime now and they are coming up with the new Invoicera with features like time-tracking, expense tracking, import function, and much more. Check out their blog at for updates


Comments are closed.