Review unbilled Clockify time and bill it in QuickBooks

By General Input

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.

Integrations

  • Clockify
  • QuickBooks Online

Type

App

Categories

  • Finance
  • Operations

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.

Related prompts

Explore more prompts
See which HoneyBook packages and seasons make you moneyRun your monthly Freshdesk support billing in one sittingTurn finished CompanyCam jobsites into QuickBooks invoicesTurn ClickUp tracked time into QuickBooks invoices each FridayFriday timesheet close-out board for your Clockify teamWeekly staffing board to plan your Clockify team's capacityBraintree settlement reconciliation workbench for month endReconcile Authorize.Net settlements against QuickBooksBuild quotes on your Bigin deals and invoice them in QuickBooksFetch invoices from supplier portals and post them to QuickBooks