New BuildPhase 2 — Work EngineWF-06

Time Approval & Payroll

Hours, rates, and payroll were three disconnected manual steps in the same chain. Each one introduced delay, inconsistency, or a blind spot in the numbers leadership relied on. This connects them.

The Gap I Found

Three manual steps.
One chain. Zero connections.

Hours were logged informally, billing rates were applied manually, and payroll was never reflected in the cash forecast. Three separate gaps in the same chain — from hours worked to the true cost of running the team. Each one was a manual step that introduced delay, inconsistency, or blind spots in the numbers leadership relied on.

The approval process had no structure: entries were not locked, so they could be changed after the fact. Rate application happened once per billing cycle — someone looked up the rate card, did the multiplication, and hoped they had not missed an entry or applied the wrong rate. Payroll was calculated separately and never posted to the cash forecast, which meant leadership was always looking at a financial picture that excluded the team's cost.

Each gap was invisible on its own. Together, they meant the business could not answer a basic question with confidence: how much does this project actually cost us, and what does that do to our cash position this month?

Why It Happens

Time, rates, and payroll
lived in separate systems.

Time, rates, and payroll lived in separate systems with no triggers connecting them. Each calculation step — approval, rate application, payroll posting — was a human handoff, which meant each one could be delayed, skipped, or done inconsistently.

The Time and Billing DB held hours. The People DB held rates. The Financial DB held cash flow. None of them spoke to each other automatically. The connections between them existed entirely as manual steps in someone's head — and manual steps get skipped exactly when the team is busiest, which is when accurate numbers matter most.

What I Designed

A complete chain from hours logged
to cash impact — three connected stages.

The fix is not one automation — it is a connected sequence. Stage 1 structures the approval: hours log against projects, the system monitors budget in real time, and only manager-approved entries are locked and move forward. Stage 2 fires automatically on approval: billing rate and cost rate are pulled from People DB, billable amount and labor cost are calculated and written back to the entry — zero manual calculation. Stage 3 closes the cash loop: on payroll approval, the total payroll figure posts to Financial DB as a cash outflow and the 90-day forecast in the Report Dashboard updates live.

Stage 1

Approval Loop

Team members log hours against active projects
System checks entry against project budget
Alert fires at 90% budget consumed
Manager reviews and approves
Entry is locked — only locked entries move forward

Stage 2

Rate Application

Fires automatically the moment an entry is approved
Billing rate and cost rate pulled from People DB
billable_amount = hours × billing_rate
labor_cost = hours × cost_rate
Both values written back to the time entry

Stage 3

Payroll to Cash

Payroll approved by owner or finance
Total payroll figure pulled from People DB
Posted as cash outflow to Financial DB
90-day cash forecast in Report Dashboard updates live
Leadership sees the true cost of the team

Before

Hours logged informally against projects
Manual rate card lookup — find the right rate for each person
Manual calculation — hours × rate, applied once per billing cycle
Payroll calculated separately, never posted to cash forecast
Budget overruns discovered on invoices, not before them
Cash forecast always incomplete — team cost not reflected
Steps automated: 0 of 5 · ~1 hr/week manual · Budget alerts: none

After

Hours logged against active projects in Time and Billing DB
Auto: budget check on every entry — PM alerted at 90% consumed
Manager approves — entry locked, rate applied from People DB immediately
billable_amount and labor_cost written back on every locked entry
Payroll approved — outflow posts to Financial DB, cash forecast updates live
Invoice and Billing reads locked entries — no recalculation needed
Steps automated: 4 of 5 · Rate variance: zero · Budget alerts fire before overruns

Systems Involved

Time and Billing DB (Notion / Airtable)Project DB (budget tracking)People DB (billing rates + cost rates + payroll)Financial DB (cash outflow)Report DashboardPayroll tool (Gusto / Rippling)Automation (Make / Zapier / n8n)

What Changed

Rate applied on every entry.
Cash forecast finally complete.

0

Manual rate calculations

Rate is applied automatically the moment an entry is approved — pulled from People DB, calculated, written back. No spreadsheet lookup, no mental math, no variance between entries or billing cycles.

90%

Budget alert threshold

Project managers are alerted before the budget is gone, not after the invoice is built. The alert gives time to have a scope conversation while there is still scope to discuss.

100%

Entries rated before invoicing

Every approved hour goes into Invoice and Billing with billable_amount already calculated. The finance team reviews a billing queue — they do not produce it.

Payroll in cash forecast

On payroll approval, the outflow posts automatically to Financial DB and the 90-day forecast refreshes. Leadership no longer looks at a cash position that excludes the team's cost.

The clearest change is in what the finance team and leadership actually see. Before, billing rate was applied once per invoice cycle by someone doing manual math — and the cash forecast never included the team's cost because payroll lived in a separate calculation. Now rate is applied on every approved entry with zero variance, budget alerts give project managers time to act before scope becomes a problem, and payroll posts automatically on approval so the cash forecast is always complete.

The team did not lose control — they gained visibility. Every decision that used to depend on memory or a spreadsheet now depends on a live system that updates the moment work is approved.

How It Connects

The workflow that makes every
downstream number accurate.

Time Approval and Payroll is the source of clean data for three other workflows. It feeds Invoice and Billing with pre-calculated, locked entries — no recalculation needed downstream. It connects to Project Management's scope change stage through budget alerts. And it completes the Report Dashboard's cash forecast by posting payroll as an outflow the moment it is approved. Every number in the system that depends on what something actually cost runs through this workflow first.

Invoice and BillingLocked, rate-applied entries feed directly into Invoice and Billing. billable_amount is already written — no recalculation required. Clean upstream data means accurate invoices downstream.
Project ManagementBudget alerts from Stage 1 connect to the scope change stage of Project Management. When a budget hits 90%, the system triggers a PM review before the client is surprised by an overage.
Report DashboardPayroll postings feed the Financial DB cash forecast visible in the Report Dashboard. This workflow makes the cash forecast complete — team cost was previously missing from the picture entirely.

Linh Pham

Operations Analyst

Ready to automate your ops?

pdlinh.vyco@gmail.com

© 2025 Linh Pham · Based in Canada · Remote Worldwide