Review unbilled Clockify time and bill it in QuickBooks
Open one screen at month end to check every client's unbilled hours and expenses, fix what is wrong, then bill approved clients in one click.
Build me a billing review app I open at the end of each month, before I invoice clients, so tracked time gets a proper check before it turns into an invoice. It reads from Clockify and pushes approved work into invoices in Clockify and QuickBooks Online. The core business rule everything else hangs off: time that has already been flagged as invoiced is never shown and can never be billed twice.
Main view is a billing review list for one period. Default the period to last calendar month with a picker for other months and a custom date range, and a workspace picker if I belong to more than one (Get all my workspaces). One row per client showing unbilled billable hours, unbilled expenses, the computed invoice amount after rounding, and a status of needs review, approved, billed, or rolling to next month. Build the rows from Clockify: Find clients on a workspace for the client list, Get all projects on a workspace for project names, client mapping, billable flags and rates, Generate a detailed report for the period filtered to billable entries that are not yet invoiced, and Generate an expense report for the period's expenses. Clients with nothing unbilled sit collapsed at the bottom rather than cluttering the list.
Opening a client shows the detail view: line items grouped by project and then by person, each row showing the date, description, hours, the rate applied and the amount, with a per-project subtotal and a per-person subtotal. Expenses list separately with their category, date and amount. Pull the client's billing details with Get a client by ID so the invoice has the right contact and address.
I need to edit line items in place before anything goes out: reassign an entry to a different project, flip an entry from billable to non billable, write time off by reducing the billable duration, and fix a description. Persist single edits with Update time entry on a workspace and use Bulk edit time entries when I apply the same change to a multi select. The client total and the period total update live as I edit, optimistically in the UI and then reconciled against what Clockify returns. Show a small changes summary per client, for example three entries moved, two written off, so I can see what I touched before approving.
Bake in rounding rules and a per client minimum. Rounding is configurable: round up or round to nearest, in increments of 6, 15 or 30 minutes, applied per entry or per grouped line item, defaulting to round up to the nearest 15 minutes per line item, with an off switch. The minimum invoice amount has a global default and a per client override; when a client's rounded total falls below their minimum, mark the row as rolling to next month, exclude it from billing, and leave its entries un invoiced so they reappear in the next period's review stacked on top of that month's work. Show the rolled amount on the row so I know what is deferred.
When a client is approved I hit Bill. That runs, in order: Add an invoice in Clockify for that client with the invoice number, issue date, due date and currency; Import time entries and expenses to an invoice to pull that period's time and expenses onto it as items; Mark time entries as invoiced for exactly the entries in this run so they can never be billed again; then QuickBooks Online, where the app looks for the customer using Query Entities against the Customer entity matched on display name, calls Create Customer if there is no match, and then Create Invoice with the reviewed totals, one line per project by default with a setting to split per person instead, plus separate lines for expenses. Show live progress through those steps and the resulting invoice numbers and links when it finishes.
Clockify invoicing is a paid feature and returns a permission error on plans without it. Detect that specific failure and keep going rather than blocking the run: skip the Clockify invoice, still create the QuickBooks Online invoice, and still call Mark time entries as invoiced so the double bill guard holds. Tell me plainly in the result panel that the Clockify invoice was skipped because the plan does not include invoicing.
Persist app settings and history. Settings cover the default period, rounding rule, global and per client minimums, per client rate overrides, QuickBooks line grouping, payment terms and currency. Every bill run writes a history record for that client and period holding hours billed, amount, the Clockify invoice id, the QuickBooks invoice id, whether it was rolled over, and who approved it. A history view lists past runs by period with those links so I can answer questions about what was billed months later.
Safety rules to respect throughout. Never surface entries already flagged as invoiced anywhere in the review. Block the Bill button for a client already billed for that period unless I explicitly override it. Never mark entries as invoiced unless an invoice was actually created somewhere. If a step fails partway through a run, stop and show exactly what succeeded and what did not instead of silently retrying, and let me resume from the failed step.
What does this prompt do?
- Lists every client with their unbilled billable hours and expenses for the period, with line items grouped by project and by person so you can see who worked on what and at what rate.
- Lets you fix things before money goes out: move an entry to the right project, flip work to non-billable, or write off time, and watch the client total update as you edit.
- Approve a client and hit Bill to raise the invoice in Clockify, pull that period's time and expenses onto it, and create the matching invoice in QuickBooks Online, adding the customer there if they are new.
- Applies your rounding rules and a per-client minimum, so small balances roll into next month instead of becoming a tiny invoice, and billed time is locked so it can never be charged twice.
What do I need to use this?
- A Clockify account with your clients, projects, and billable rates already set up
- A QuickBooks Online company you can connect
- Time and expenses tracked against clients for the period you want to bill
- Clockify invoicing sits on paid plans only. If your plan does not include it, the review and the QuickBooks invoice still work and your time still gets locked as billed.
How can I customize it?
- Change the rounding rule, for example round every line up to the nearest 15 minutes, or switch rounding off entirely
- Set a minimum invoice amount, globally or per client, so anything smaller rolls into next month
- Change the billing period, currency and payment terms, or choose whether QuickBooks invoices show one line per project or one line per person
FAQs
Can the same hours get billed twice?
What if my Clockify plan does not include invoicing?
Do my edits change the real data in Clockify?
What happens to a client whose total is under the minimum?
Do I have to set up my customers in QuickBooks first?
Related templates
Compare weddings against portraits against corporate work, with real costs from your books, so you know what to raise, hold, or retire.
Review every client's billable support hours for the month, trim what should not go out, then raise the invoices in QuickBooks without leaving the screen.
A billing desk where your office manager reviews the jobsite photos and crew notes, then raises the QuickBooks invoice on the same screen.
Open one screen every Friday to review the week's tracked hours client by client, fix what is wrong, then raise draft invoices in QuickBooks.
Open one screen every Friday to see who is short on hours, fix bad entries on the spot, and nudge stragglers in Slack before payroll runs.
See who is booked, who has room, and what work has nobody on it, then adjust the plan without leaving the board.
Give every invoice a proper check before it goes out.
Review a whole month of billable time and expenses in one screen, then bill approved clients in Clockify and QuickBooks without retyping anything.