Skip to main content

Practical guide

Timesheet to invoice

If you bill by the hour, your timesheet is the source of truth for your invoice. The timesheet records what was worked - dates, task descriptions, hours, and the rate each hour is billed at. Converting it into an invoice turns each billable time entry into a line item: the description carries over, the hours become the quantity, and the rate becomes the unit price. Done this way, the invoice is defensible: every line traces back to a dated time entry the client can review.

Who needs this workflow

Step-by-step: from time entries to invoice

  1. Keep the timesheet clean as you go. The fields that matter per entry:
    • Date - clients approve invoices faster when hours are dated.
    • Description - write it for the client, not yourself. "Fixed checkout bug reported 3 June" beats "misc dev".
    • Hours - decimal hours (1.5, 2.25, 0.75), not minutes. Pick a rounding increment and apply it consistently.
    • Rate - per entry, so mixed-rate work (e.g. development vs meetings) is explicit rather than averaged.
    • Billable flag - mark internal or goodwill time non-billable so it never leaks onto the invoice.
  2. Review and approve the period. Fix vague descriptions and stray entries now - after the invoice goes out, corrections require a credit note.
  3. Click Convert → Invoice. Billable time rows become invoice lines; non-billable rows and the pay period are dropped. The invoice gets its own number, and the timesheet number is recorded as its source.
  4. Set issue and due dates, add tax if applicable and your payment details, then save. The timesheet remains in your drafts unchanged.

Common mistakes

Worked example: mixed rates and decimal hours

A consultant's approved timesheet for the first week of the month has three billable entries and one non-billable entry, with tax at 5%.

EntryHoursRateLine total
API integration work7.5$60.00$450.00
Bug fixes and review3.25$60.00$195.00
Architecture workshop6$80.00$480.00
Internal admin (non-billable)2dropped

The invoice shows the three billable lines: subtotal $450.00 + $195.00 + $480.00 =$1,125.00; tax at 5% adds $1,125.00 × 0.05 = $56.25; total $1,181.25. The two non-billable hours never appear. Note the decimal quantities: 3.25 × 60.00 is exactly $195.00 - line items are computed with exact decimal arithmetic, so there is no floating-point drift in the totals.

Timesheet vs adjacent documents

Frequently asked questions

How should I round billed hours?

Pick one increment - commonly 6 minutes (0.1 h) or 15 minutes (0.25 h) - state it in your engagement terms, and apply it to every entry. Consistency matters more than which increment you choose.

Can I bill different rates on the same invoice?

Yes. Because each timesheet entry carries its own rate, the converted invoice naturally shows each activity at its own price, as in the example above. Avoid blending rates into an average - it hides information the client needs to approve payment.

What happens to non-billable time in the conversion?

It is dropped. Non-billable rows and the pay-period fields stay on the timesheet; only billable rows become invoice lines. That is by design - pay periods and internal time are payroll concerns, not customer-facing ones.

Should I attach the timesheet to the invoice?

For clients who require it, yes - send the timesheet PDF alongside the invoice PDF. Because the invoice lines mirror the billable entries, the two documents will reconcile exactly.

Can one timesheet produce more than one invoice?

The cleaner pattern is one timesheet per client per billing period, each converting to one invoice. If you track several clients on one sheet, split it first - an invoice should never contain another client's hours.

Do I charge tax on hourly services?

It depends on where you and your client are and what you supply. Many VAT-style jurisdictions do tax services - check the conventions on yourcountry page and confirm with a local advisor.

Doing this in Formnivo

Track the period in the timesheet generator, then use Convert → Invoice to open theinvoice generator with billable entries carried over as line items. The invoice records the timesheet as its source, and all money math uses exact decimal arithmetic. Everything runs locally in your browser: no account and no document upload. Data stays browser-local unless you export or share it yourself.