Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
Ask HN: Consultants and freelancers, how do you handle invoicing? (b'') similar stories update story
42.0 points by jlevers | karma 422 | avg karma 3.01 2020-11-02 19:30:36+00:00 | hide | past | favorite | 53 comments

I'm a relatively new freelancer, and I haven't found a great way invoice clients. My current strategy depends on the client -- some people I email a work summary each week, some I'm in constant contact with while working so I just tell them the number of hours, and some I invoice via a self-hosted Invoice Ninja[0] instance.

Have you found a way to deal with this that you're happy with?



view as:

I consulted for six years before going back to FTE a couple years ago, I always used Harvest to track time and expenses, and invoice clients. It was good if you’re doing fixed hourly rate or project billing. If I stuck with it longer, I’d have probably used something that was also accounting, like Quickbooks. Harvest can integrate with those, but there are always challenges keeping things in sync between two systems.

I pay for accounting software. This is part of an accounting package that tracks expenses, invoices, they calculate VAT, Corporation Tax etc.

I can generate invoices via the software and it is emailed to the client.

Some invoicing software give you APIs. I am thinkng about moving to Pandle when I switch accountant but I am currently undecided.


My contracts are all project based, so the invoices are extremely simple... Just a template I nicked from Pages.app

Project-based billing, with invoices sent through Quickbooks.

Invoicing feels like such an inconsequential part of consulting. As long as you send it on time and follow up accordingly (or automatically), it makes no significant difference where it comes from.


I bill by the hour and agree with a client up front about an invoicing schedule: usually the 1st of each month, and sometimes on the 1st and 15th of each month.

I ripped off an invoice template for Excel and I just use Google Sheets. I send the invoice via email. This has worked for me for 10 years. As a single-person corp I don't need anything more complex.

I also view invoicing as a completely separate activity from time tracking. I log time every week either in my client's system or in my own independent time sheets. I reference those numbers when I create the invoice.


Nice and simple! I’ve recently started and was thinking to get Xero but then thought why pay $$ each month. With only one client, I want to save every penny

I write a lot of articles for a handful of sites, so in instances where I need to specifically invoice a project, I use Invoice Generator: https://invoice-generator.com/

Suuuuuuper simple, and it keeps track of the invoice number each time I download a new one. I just put in the right details, download it, and send it in.

To keep track of projects, I use Trello: I've got a bunch of columns that I have for "Approved" "In Progress" "Completed" "Invoiced" "Paid", which helps me remember where, what, when, and how much I need to send in. It's a little clunky, but I've got a good workflow with it.


For my own clients I use a spreadsheet in Google Sheets to track my work, either time or tasks and deliverables. I generate invoices from that, as PDF files, then send those by email to whomever approves and pays. I can give clients access to the spreadsheets if they want that.

I work through an agency that has its own work tracking also in a spreadsheet. They handle invoicing and collecting payment for their customers I work with.


When I was freelancing I used Harvest for time-tracking and invoicing. I liked it, and the clients didn't have any complaints. If I was to freelance again I'd probably use Harvest again too.

I ran a little one man band shop in the UK for a few years, my accountant provided me my own FreeAgent (https://www.freeagent.com/us/) account, which I really loved.

I'd track my time, attach it to a contact, create an invoice for said time at x rate, download it, send it to them, and when the $/£ was received, I'd mark it to that invoice. I'd have automatic bank feed, so I'd have my business bank transactions imported daily, I could then attach a payment to said invoice, and any difference in money (invoiced $500, received $475 - transfer fee, currency conversion, etc), FreeAgent would automatically select the correct reason for the discrepancy. Everything was categorised, my accountant could pull reports/taxes from FreeAgent.

This was a few years ago, I only imagine it's gotten better since. I've recommended it to people in the US, and I think it integrated well with the US way of doing things (taxes, forms, etc).


I can definitely recommend FreeAgent for a UK-based operation. It completely automates your taxes and with MTD (making tax digital) you don’t even have to deal with any papers or manual filing at all.

I'm in Canada and second FreeAgent. Been using it for 5-6 years. It's a solid piece of software.

Usually QuickBooks. It's not amazing, but it's pretty standard and all my clients are used to it. I've got a couple templates setup for standard work - one for fixed rate hourly and another for project based. The real hard part is getting clients to actually pay on time ;)

A thought on this: The reason I've stuck with QuickBooks since 2005 (!!!) is that I know my accountant will prefer it. It's not the cheapest, it isn't the easiest, but it keeps the accountant happy and that's good enough for me.

5+ year full-time consultant here. I use FreshBooks ($15/mo) and push clients to accept monthly net 15 or net 30 invoices. Doing any more frequently is too much overhead and cashflow isn't a huge concern for me.

One tip: Any effort put towards "making your invoices beautiful" is overhead and likely a complete waste as most clients won't care or notice.


>push clients to accept monthly net 15 or net 30 invoices. Doing any more frequently is too much overhead and cashflow isn't a huge concern for me.

Just a thought... after I had a client try to not pay me / slow pay me, I moved future contracts to a more aggressive invoicing / payment schedule, plus I added a harsher late payment penalty. Especially if you have payroll to make, it becomes very important to never let a customer get too far into you.


I just use a simple time tracking program in my menu bar to track hours against projects with short comments. Then when it's time to invoice, I go into QuickBooks and make a new invoice (you can clone an existing one for the same client). QuickBooks emails it to the client directly. QuickBooks Small Business is all web-based and pretty easy to use.

I'd recommend invoicing everyone even if you don't need to (because you said some of your clients are more informal about asking for payment). Having consistent invoices for everything in one place will make taxes a lot easier. It will also be important if you ever need to do something like get a loan or buy a house or anything where you need to show who you clients are.

If you are in the US, don't forget to pay your estimated taxes on time! If you are somewhere else, make sure you register for the appropriate local system and don't get behind on taxes.


I agree with invoicing everyone. Invoicing a client from your own business also helps distinguish you from being an employee, should that ever come into question.

W.r.t. estimated taxes -- I seem to remember doing the math and concluding that I'd likely come out ahead financially by keeping the money for the estimated tax payments in the market, and then paying the late fees. Does that sound incorrect to you?

Here’s what worked for me (freelancer turned small agency CEO)

Step 1 - get an accountant

Step 2 - start using the bookkeeping software the accountant recommends

Step 3 - send invoices from the bookkeeping software on the first of the month


I am soon going to be freelancing for 20 years and I must say it is still per client basis. There are projects billed hourly, there are fixed scoped projects and retainers with some time budgets.

I would stay away trying to be super detailed about what you did in small time increments, unless required by customer. Nobody really cares about it, it is much better to say "Feature A development. 30hrs" than "Feature A research 15 mins, Emails 1hr. Rework screen A 4hrs... and so forth in long letter that looks like AWS bill.

I do track my time per project (usually break down to dev and admin category) but give out just half-day or maybe hour increments.


>I would stay away trying to be super detailed about what you did in small time increments

Amen to this - in fact, I'd say that if you have a customer asking for this kind of granularity, be wary. My own experience is the more a customer wants to micromanage your time and cost, the more likely they are to become a customer more trouble than they are worth.


That's really interesting advice about avoiding granular time reporting, which I've been doing habitually. Your reasoning makes a lot of sense, and I think I'm going to move away from doing that.

As far as only breaking time down to half days -- I tried billing daily for a while, but it has felt clunky to me because I tend to work a ton some days and comparatively little others. Do you work at a relatively constant rate? If not, how do you decide when to bill a half day vs an hour?


I used to work more randomly when I was starting, but I am now having strict routine with set working hours. That makes it easy to bill by man-days.

Decision is usually by customer, I am trying to go with having man-days as billable unit as much as possible, but it is not battle worth winning every time. At the end what customer want is having clear idea how much is project going cost and trust that quality would be (at least) good enough.


I use & highly recommend https://www.getharvest.com/.

Second this. Have used it for 7 years and no major complaints, and very affordable.

We have a LaTeX template. We generate a PDF, send the invoice, then we get paid.

Caveat emptor: we've been building custom machine learning products exclusively for large enterprise for seven years..

I wrote a twitter thread[0] you might find useful, especially as a relatively new freelancer. It deals with the fact you'll get paid way more if you're a company than an individual, product development, protecting yourself, foot in the door, and then expanding and abstracting. The context is enterprise products in the mid six figures that a couple of individuals can pull off.

- [0]: https://twitter.com/jugurthahadjar/status/131066829330549965...

Here it is, unrolled:

0. Form:

0.0. It pays to provide services through a company. Companies write large checks to companies without blinking; not so large for individuals.

1. Contracts:

1.0. Get a lawyer to prepare contracts for collaborations. Someone at some point might disagree or have trouble remembering what they have agreed to pay you, make sure to have a mnemonic device in the form of a clear contract.

1.1. Companies have typical contracts for collaboration: don't sign anything without legal counsel.

1.2. Retain intellectual property to amortize engineering and sell what you make to others.

1.3. Companies might ask that you do not sell to competitors: define them and contain geographic zone and duration. Get paid for the opportunity cost.

1.4. Split project into tranches for which you get paid. This can help cash-flow and reduce risk, especially in the beginning.

2. Presentation:

2.0. Your company solves problems and being open minded about these problems is useful; so it's not much about finding problems for your solutions, but more like finding solutions to clients' problems.

2.0.0 After enough problems you built solutions for, patterns emerge and you can abstract a solution that serves several use cases. See "Abstraction" section.

2.1. General presentation with broad strokes of your capabilities, including previous work with other clients

2.2. Conversation with the prospect on their worries in a given space

2.3. Conversation with the prospect on their worries in a given space

2.4. Extract problems from that conversation and send a list of N problems to solve/ideas to explore.

2.5. The client finds one problem urgent/highest priority/highest value

2.6. You get together and talk about "desirability, fasiblity, viability".

2.7. Once you agree on what to do, prove the concept.

2.7.0. e.g: organizations give us data and ask us to predict something, say customer churn or subway car malfunction. We return predictions, they validate the predictions, and we can then start the project because they have proof we actually can predict what they want us to.

3. Execution:

3.0. Your opinion on what is valuable for the client does not matter. It doesn't have to be valuable to you, only to the client. A client who gets excited by a functionality that took one hour to implement because it solves a real problem is a learning experience.

3.1. Go above and beyond. Some sectors/clients are hard to get in, but once you're in, you're in.

3.2. Listening and assuming the client is smart goes a long, long, long way.

3.3. Send meeting notes to the client. It clears ambiguities during/after the project.

3.4. Press to get the client's domain experts' collaboration. They will actually use what you're building. Get them at the table.

3.5. Some of the most valuable insights are gleaned after a meeting and not necessarily with your "counterpart".

Don't build the wrong thing.

4. Abstract:

4.0. When you solve many problems, some patterns emerge. You built custom products for your clients, but you can abstract functionality and build tooling to scale your services, and enable others to do the same.

4.0.0. e.g: we we built machine learning products for enterprise clients. After many projects, we built iko.ai, our own machine learning platform to "Get Data Products Released".

4.1. One advantage of this approach is to explore the space while being profitable. Some problems exist not for lack of a nice front-end or lack of knowledge of the target audience. Coming at them from a purely "webdev"/"devops" mindset can bring bad surprises.

All the best,


Shameless plug: You're welcome to take a look at my invoicing app. I have a free version that runs in your web browser here:

https://cherrypc.com/app/web.html


I use bill.com, because my customer is set up on it. I only have one customer though.

I use Freshbooks. It has a time tracker and makes it easy to send invoices for hourly projects. It also has retainers and other features, accepts credit card payments as well as ACH. It's really easy and allows me to devote as little time to invoicing as possible.

I use Harvest for time tracking and its partner application Forecast for planning work ahead of time.

For invoicing I take the Harvest time tracking, export to Tiime.fr (my accountant uses it and I get it for free) and generate the invoice there.

Harvest + Forecast + Tiime (free) is only about ten bucks a month.

As for when and how to invoice, I mostly do retainer work and send invoices at the end of the month. For some hourly work or project work I bill at the end of the project or when I judge the amount of the invoice is worth bothering the accounting team at the client about.


Seconded Harvest.

I also use Harvest, but export to Xero. Harvest has a native integration.


Wave ( https://www.waveapps.com/ ) has an extensive free tier for accounting and invoicing because they monetize through optional payroll and payment processing.

I found the smartphone app handy before the lockdowns, and I especially like how they handle emailing clients.


I came across https://worknotes.co.uk/freelance-guide recently. Covers a lot of freelancing pain points & has nice advice.

I use https://www.xero.com. My accountant can manage my accounts via their Xero login too which is handy.

Many of these platform have APIs you can use. I've created a few products off the back of them through tools I'm built for myself internally.

- https://www.inviewapp.com | Creates iCal feeds for your invoices and bills so you can see who owes what on your calendar (or in Slack). Works with most major invoicing platforms.

- https://www.quikk.co.uk | Backups and audits all your Xero data.

I'm sure you'd find neat ways to automate your workflow with whichever platform you end up opting for.


In my past I've used Bonsai; all in one proposal, contract, invoicing and payments dashboard.

Same, I was about to post a link to them: https://app.hellobonsai.com/invite/9f297324

^ That's a referral link. I can sub for a different link if it's not allowed.


In the past I've used emacs org-mode to do time tracking against particular projects with breakdown level you can easily control. This can be used to produce summary tables in a variety of ways, which I usually cleaned up a little before plugging into an invoice (typically monthly or by project, sometimes more often). They don't have to be pretty, just accurate.

I've also used an accounting system like xero which will generate invoices and give payment options, but that was more about the back end matching an accountant's system.


I generate invoices using FreshBooks for years. However, I don't use many of the features so I eventually just started to create my own using a word template. Nothing fancy but gets the job done.

I hate invoicing and accounting so much that I built my own invoicing and tax accounting systems (no kidding), because it was more fun than actually doing the invoicing or the accounting. Anyway, bbl I need to go do some accounting.

I've been freelancing for ~20 years.

I have a Google Drive template that I use.

Then for clients I copy last month's invoice for the new month, add in whatever info I need to (usually very little) and save it as a PDF to email them.

Once a month I create and send these invoices to a handful of clients.

I also wrote https://github.com/nickjj/invoice to automatically tally up how much I should bill each client.

All in all I spend about ~10 minutes a month creating invoices.


I've been using Collective (formerly Hyke) [https://www.collective.com/] which not only provides you your own Quickbooks account (to handle all invoicing) but also helps you set up your own S-Corp for better tax savings (if you're US-based) and navigate all the accounting duties. It's a monthly subscription service, but the time saved from not having to deal with accounting plus the tax savings from be set up as an S-Corp pays for itself. Just speaking as a happy customer for the past 18 months. They are extremely supportive and responsive; it's like having your own accounting team. In terms of invoicing, like everyone and you have mentioned, it does depend on the client. I usually invoice at the end of the month.

Feel free to message me for more guidance on getting situated as a freelancer and if you want to learn more about my experience with Collective. I was in your position and someone had explained all this to me instead of learning about it the hard way!


GnuCash is alright and was just laying around on the internet for free. I wouldn't mind having some styling options, but "functional" has been fine.

Harvest has worked well for me -- time tracking + invoices (the Google Calendar integration is nice). My client then direct deposits. Simple

+1 for Harvest. It saves me a lot of time generating hourly invoices.

https://www.getharvest.com/


I used Harvest too, tracking my day’s work and time in the application. I loaded in my details and logo for invoicing at the end of each pay period. Pretty straightforward honestly

Timewarrior + a little spreadsheet that gets exported to a PDF.

You are conflating a few things though:

* invoicing per se. You should get the habit of doing this even if the customer only want to know the hours. Paperwork matters.

* invoice details. Try not to go overboard here. Split per project, total number of hours, make a SUM and you are done.

* work status updates. Don't keep the customer guessing. But also, don't allow the customer to manage your every 15minute increment. You are a 3rd party not their employee.


People talking alot about tools. But, for the 15ish years I was consulting/freelancing i think the pattern of billing BEFORE the work starts was the most beneficial change I made.

Built my own tool to email a PDF invoice.


I'm using Fastbill to add time spend with the client and then automatically create invoices from the times.

Founder of Bonsai (YC W16, www.hellobonsai.com) here.

We're built from the ground up to handle invoicing for freelancers and come with lots of little details to help you save time and get paid. E.g., automatically apply late fees, lock files on a invoice until paid, recurring invoices and auto payments, and more.

Happy to answer any questions you have!


I've been using https://www.timesolv.com for 15 years for my IT invoices. I pay annually for a discount. It is marketed as legal billing but I had no problem adapting it for to my needs. Changing some of the default invoice billing terms, etc it can pretty much be adapted to any industry.

You can write an invoice on a napkin. Do yourself a favor—understand basic business bookkeeping/accounting.

Legal | privacy