Last updated November 6, 2026
General information, not tax or legal advice. The rules depend on your country and your situation, so check anything with a tax or legal consequence with your accountant.
To turn billable hours into an invoice, close your time log at a cut-off date, review the entries, group them into a few lines, multiply hours by the agreed rate, add tax and state the period the work covers. Keep the detailed log to hand, because it's the first thing a client asks for when a figure surprises them.
What does an invoice for hours need to show?
An invoice for hourly work needs to show what was done, how much of it, at what rate and when. In the EU, a VAT invoice must state "the extent and nature of the services rendered", the unit price excluding VAT, and the date the supply was made or completed where that differs from the issue date (Article 226 of the VAT Directive).
For hourly work, the extent is the number of hours, the unit price is the rate, and the supply date is the period worked. The other required fields are in VAT invoice template fields, explained. National rules add to these, and countries outside the EU have their own.
How detailed should the invoice lines be?
One line per job and per rate suits most clients. Anything finer belongs in a time summary sent with the invoice, because a 60-line invoice invites a 60-line argument.
| Client or contract | What the lines should show |
|---|---|
| One job at one rate | One line: job, period, hours, rate |
| Several jobs or cost centres | One line per job, so each can be coded separately |
| Different rates by grade | One line per job and per rate |
| Contract that sets a format, as insurers and public bodies often do | Summary lines, plus backup in exactly the format the contract asks for |
| Capped or estimated job | The usual lines, plus the running total against the cap in your covering note |
From time log to invoice, step by step
- Set the cut-off. Month end, job end, or whatever you agreed. Hours after that date wait for the next invoice.
- Chase missing time. Get everyone's entries in before you review anything.
- Filter the log to this client, this period, billable and not yet invoiced.
- Review it as the client would. Reword vague entries, take out your own rework and check the rate.
- Round once, using the billing increment in the agreement.
- Group into lines and total the hours by job and rate.
- Reconcile. Hours logged, less hours not charged, must equal hours billed.
- Add expenses as their own lines. See how to invoice reimbursable expenses.
- Issue it, then stamp the log. Write the invoice number beside each entry, so no hour can be billed twice.
A worked example: a month of hours, three lines
Here's an invented example. A small consultancy closes March 2026 for one client. A senior consultant bills €120 an hour and an analyst €75, across two jobs. One entry of 1.50 analyst hours was rework of the firm's own mistake, so it isn't charged.
| Job and grade | Hours logged | Not charged | Hours billed | Rate | Net |
|---|---|---|---|---|---|
| Market review, senior | 14.50 | 0.00 | 14.50 | €120 | €1,740.00 |
| Market review, analyst | 23.50 | 1.50 | 22.00 | €75 | €1,650.00 |
| Board paper, senior | 6.00 | 0.00 | 6.00 | €120 | €720.00 |
| Total | 44.00 | 1.50 | 42.50 | €4,110.00 |
VAT at 20% adds €822.00, so the invoice total is €4,932.00.
The reconciliation is the bottom row: 44.00 − 1.50 = 42.50. If those figures don't agree, an entry has gone missing or been counted twice, and it's far cheaper to find out now. Whether you show the 1.50 hours on the invoice as a courtesy is a separate decision, covered in write-down vs write-off.
Wording you can copy
A line description that answers the usual questions:
Market review, senior consultant, 1 to 31 March 2026: 14.50 hours at €120.00 per hour.
A covering note that heads off a query:
Attached is our invoice for March: 42.50 hours across the market review and the board paper. The time summary is attached as well, so you can see what the hours went on. Please tell me if anything needs a second look.
There are more versions in the guide to invoice email templates.
Why do clients query hourly invoices?
Clients query hourly invoices when the total surprises them, more often than because they doubt the hours.
- Over the estimate with no warning. Tell them before you pass it, while they can still change the plan.
- Entries that read like your diary. "Internal catch-up" tells a client they're paying for your meetings.
- A late invoice. Hours from three months ago are hard to check and easy to dispute.
- A rate nobody mentioned. Agree any rise first. The guide to the rate increase letter has the wording.
Invoicing billable hours in ERPFlow
ERPFlow doesn't have a timer or timesheets today, and time recorded on a project card doesn't become invoice lines. Time tracking, including converting tracked time into invoices, is coming soon.
Today you bill hours by entering them. Set up a service with your hourly price, one per grade if your rates differ, and add it to a new invoice. Picking it fills in the description and price. You type the hours as the quantity, which holds two decimal places, add the job and period to the description, and choose the tax rate for that line. The PDF has no unit column, so write "hours" in the description.
- A customer's purchase order goes in the Order number field, which prints on the PDF.
- The time summary has to go separately. Files on an invoice's Attachments card are internal and are never emailed to the customer, so send the summary yourself or put the key figures in the line description or Notes.
- The project can be linked under Linked documents, which is also internal.
- Once issued, the invoice is final. A wrong figure is corrected with Mark as void and Duplicate.
If you use Projects, the Time spent total on a card is a useful cross-check against your log, though it has no dates and no split by person.