What are the steps between logging hours and invoicing?
Invoicing from hours is mostly about following a set process. Skip a step and you risk billing too little, too much, or the same hours twice.
- Pick the period—usually a calendar month—and have everyone complete their hours.
- Approve the hours or review them yourself. See approving timesheets.
- For each client, select the billable hours from that period that haven’t been invoiced yet.
- Turn them into a draft invoice, grouped as agreed with the client.
- Check the draft: rates, totals, descriptions, and the breakdown.
- Send the invoice and make sure the hours are marked as invoiced.
How should you group hours on an invoice, and how much detail do you show?
There’s no single rule—it depends on what your client wants to see and the level of trust. A regular client with ongoing work often prefers one line per project. A new client, or one who needs to justify costs internally, may want more detail.
A practical middle ground: on the invoice, show one line per project or activity with the number of hours and the rate. Attach the detailed breakdown as a separate document.
| Level of detail | When it fits |
|---|---|
| One line with a total | Regular client, same type of work, high trust |
| Per project | Several projects for the same client |
| Per activity | Work at different rates, like consulting and delivery |
| Per entry | New client, likely questions, or if the client requests it |
Should you attach a time breakdown?
It’s not always required, but it prevents most questions. A breakdown lists the date, person, description, and duration for each entry. The client sees exactly what they’re paying for, so you don’t have to explain later.
So pay attention to your descriptions. Internal codes, file names, or ‘misc.’ don’t belong in a document for the client. What makes a good description is explained in billable hours.
Which hours shouldn’t you invoice?
Not everything you log should go on an invoice. Filter before you bill.
- Non-billable hours, like admin, sales, and internal meetings.
- Leave and sick days. These are for your payroll records, not for the client.
- Trips and travel time, unless you’ve agreed otherwise with the client—like a set amount per trip or travel at a lower rate.
- Hours already invoiced, even if they were edited later.
- Hours not yet approved, if you use approvals.
How do you avoid invoicing hours twice?
Give every entry an invoice status: invoiced or not. Set that status when the invoice is created—not later by hand. For the next invoice, select only hours without that status.
Watch out for hours edited after invoicing, or hours logged late into a month you’ve already billed. Those fall outside your period selection. So always filter on ‘not yet invoiced,’ not just by date range.
If you use accounting software, create draft invoices and only send them after checking. Deleting a draft is easier than issuing a credit note.
How does it work with a budget, prepaid hours, or a monthly fee?
With an hour budget, just log hours on the project and track what’s left. Let the client know before the budget runs out, not after. Only bill hours over budget if that’s been agreed.
With a fixed monthly fee or retainer, invoice the agreed amount no matter how many hours you work. Still log your hours: that way, you can see if the price still matches the work.
How Half5 does it
In Half5 reports, "Create draft invoices from report" prepares draft invoices in one go. They include only work entries with a billable activity (or no activity) that haven’t been invoiced yet. With "Approve hours before invoicing" turned on, only approved hours are included. Trips and leave are never added as invoice lines. Per-client trip charges (a fixed amount per trip, per km, or travel time) show up in the reports, but you add them to the invoice yourself. You can export the breakdown to CSV, Excel, or PDF; the invoice status column shows what’s already been invoiced.
The invoice itself is created in your accounting software, and integrations vary. Moneybird gets a draft invoice, can send it by email, and syncs contacts and projects. WeFact gets a draft invoice, sends by email, syncs debtors, and can create credit invoices and mark invoices as paid. Exact Online gets a draft invoice and syncs accounts; you finalize and send it in Exact. e-Boekhouden doesn’t get a draft: Half5 only creates the invoice there when you finalize it, and you send it yourself. Contacts and ledger accounts sync.
Projects have an hour budget, showing budget used and a warning when you go over. A fixed monthly fee or prepaid bundle isn’t an invoice type in Half5; you invoice those in your accounting software.
Frequently asked questions
How often should you invoice from hours?
Monthly, at the start of the next month, is standard. For large projects, invoicing by milestone or every two weeks can help your cash flow.
Do I have to put every entry on the invoice?
No. One line per project or activity on the invoice is usually enough. Send the detailed breakdown as an attachment.
What do I do with hours I forgot to invoice?
Add them to a later invoice, with a clear description of the period. That’s why filtering on ‘not yet invoiced’ works better than filtering by date alone.
Can I put travel costs on the same invoice?
Yes, if you’ve agreed on that with the client. List them on a separate line so the client can see hours and travel costs separately.
What if the client disputes an entry?
Fix the invoice with a credit note or correction line, and record the agreement for next time. Clear descriptions on every entry prevent most disputes.