Extends ExistingPhase 1 — FoundationWF-03

Invoice & Billing

Every invoice required someone to manually look up rates and do the math. The approved hours existed — the step that turned them into billable amounts didn't happen automatically. This closes that gap.

The Gap I Found

The hours were approved.
The math still had to happen.

Every invoice required someone to manually look up rates, do the math on hours, and build the billing amounts before it could go out. The approved time entries existed in the system — the calculation to turn them into billable amounts didn't happen automatically. That calculation lived in someone's head and a rate card spreadsheet.

The gap wasn't in collecting the hours. It was in the intermediate step between "hours approved" and "invoice generated" — a step that nobody had automated, because it looked like part of the invoicing process rather than a process failure of its own. Every billing cycle, the finance team opened the time records, found the rate card, did the multiplication, and assembled the invoice line items by hand.

On small projects, that was manageable. On larger projects with multiple people at different rates, it was 30–60 minutes of work that introduced error every time — a wrong rate applied, an entry missed, a line item assembled from memory rather than data.

Why It Happens

Invoicing pulled from raw hours.
No rollup step existed.

The existing invoicing workflow pulled directly from raw time entries — hours logged, nothing more. There was no intermediate step that applied billing rates and calculated amounts before the invoice was generated.

That calculation was a manual bridge between two systems that weren't connected: the Time & Billing DB where hours lived, and the Financial DB where invoices were built. Without a trigger that fired on approval and ran the rate logic, the bridge had to be built by hand — every cycle, every project, every person at their own rate.

What I Designed

A rollup step that runs before
the invoice is ever triggered.

The fix is an intermediate calculation layer that runs automatically on approval — before the invoice is generated, not during it. When a time entry is approved and locked, the system looks up the person's billing rate and cost rate from the People DB, calculates the billable amount and labor cost, and writes both values back to the entry. The invoice then pulls from those pre-calculated fields, not from raw hours.

No rate lookup. No manual math. No line-item assembly. The finance team opens a billing queue where every entry already has its amounts calculated — their job is to review the output, not produce it.

Before

Approved time entries exist in the system
Manual rate card lookup — find the right rate for each person
Manual calculation — hours × rate, for every entry
Manual invoice build — assemble line items from scratch
Invoice sent when someone finishes the math
Steps automated: 0 of 4 · ~30–60 min manual work per billing cycle

After

Approved time entries locked in the system
Auto: billing rate + cost rate pulled from People DB per entry
Auto: billable_amount and labor_cost calculated and written back
Auto: invoice generated from pre-calculated fields — not raw hours
Finance reviews and approves — zero recalculation required
Steps automated: 3 of 4 · Error rate: near-zero · Finance reviews, not recalculates

Systems Involved

Time & Billing DB (Notion / Airtable)People DB (billing rates + cost rates)Financial DB / Invoicing tool (QuickBooks / Xero / Stripe)Automation (Make / Zapier / n8n)

What Changed

Finance reviews the invoice.
They no longer build it.

0

Manual rate calculations

Billing rate is applied automatically the moment a time entry is approved. No spreadsheet lookup, no mental math, no variation between entries or billing cycles.

<1m

From approval to billed amount

The rate application fires on approval. By the time the finance team opens the billing queue, every entry already has its billable_amount and labor_cost written — ready to invoice.

100%

Entries consistently rated

Every approved hour is rated, on every project, in every cycle. No unbilled work slips through because someone forgot a line item or skipped a manual step under time pressure.

Finance reviews, not recalculates

The finance team's role changed: from doing the math to reviewing the output. That is a faster, higher-quality interaction with the billing data — and a more accurate final invoice.

The clearest change is in what the finance team does at invoice time. Before, they were the calculation engine — pulling rates, doing math, assembling line items. Now they are reviewers. They open the billing queue, see amounts already calculated with no variance, approve, and the invoice goes out. The 30–60 minutes of manual work per cycle no longer exists. Neither does the error rate that came with it.

How It Connects

Invoice & Billing sits between
two critical workflows.

This workflow is the middle of the billing chain. It depends on what Time Approval & Payroll produces upstream — approved, locked entries with rates applied. And it feeds what Collections & AR monitors downstream — invoices in the Financial DB ready to trigger follow-up sequences. Invoice & Billing is where time becomes money in the system. The two workflows it touches ensure that nothing goes unbilled and nothing goes uncollected.

Time Approval & PayrollDepends on approved, locked entries with billable_amount and labor_cost already written before this workflow runs. Clean rate application upstream means accurate invoice data downstream.
Collections & ARFeeds the invoice records that Collections & AR monitors for payment status. Invoice & Billing opens the cycle; Collections closes it — together they form the complete billing loop.
Report DashboardAccurate invoice data flows directly into the Financial DB AR balance and cash forecast visible in the Report Dashboard. Every invoice generated here updates the numbers leadership relies on.

Linh Pham

Operations Analyst

Ready to automate your ops?

pdlinh.vyco@gmail.com

© 2025 Linh Pham · Based in Canada · Remote Worldwide