Core Module ยท MVP
Financial Management

Real-time budget tracking from WBS phase to corporate portfolio โ€” with zero rounding errors, per-currency discipline, and an AR aging dashboard that replaces four hours of manual reconciliation with an eight-minute review.

The Financial Picture BuildOS Provides

BuildOS gives Tom and Sarah three financial lenses simultaneously:

๐Ÿ—
Project Level
Per-WBS-phase budget tracking for a single project โ€” estimated vs. committed vs. actual, with variance highlighting
๐Ÿข
Portfolio Level
All active projects rolled up into a single corporate view โ€” total committed, total spent, total remaining, by quarter and currency
๐Ÿ“Š
Receivables
AR aging buckets showing how much money is outstanding and for how long โ€” current, 30-day, 60-day, 90+ day

Three Budget States

Every budget phase moves through three states as a project progresses. Understanding these states is fundamental to reading BuildOS financial reports:

1
Estimated โ€” "What we planned to spend"
Set when the project budget is created, typically based on the pre-construction estimate. This is the baseline. Variance is always measured against the estimate.
2
Committed โ€” "What we've agreed to spend"
Represents signed contracts, purchase orders, and approved invoices. The committed amount is certain โ€” it's money the firm is legally obligated to pay, even if the work isn't done yet. Committed > Estimated is an early warning sign.
3
Actual โ€” "What we've already paid"
Invoices that have been paid. This is cash out the door. Actual tracks what's already happened; committed tracks what's locked in but not yet paid.
โš ๏ธ
Committed vs. Actual: A common mistake is managing only to actual spend. By the time actuals show a problem, it's too late to fix it. BuildOS surfaces committed costs prominently โ€” if committed is 12% over estimate on the Foundation phase, Tom can act before that cash has left the account.

WBS Phase Budgets

Budgets are tracked at the WBS phase level โ€” the same phase codes used by the schedule (Foundation, Framing, MEP, etc.). This means budget status and schedule status are always aligned. If Foundation is 60% complete on the schedule, Tom can see immediately whether Foundation spending is also tracking at 60% โ€” or whether it's already at 90%.

Each budget phase record tracks:

Invoice Lifecycle

Invoices from subcontractors and vendors flow through a defined approval process:

StatusMeaningWho Acts
Pending Invoice received, awaiting review Sarah reviews against PO and WBS phase
Approved Invoice verified and approved for payment Sarah or Tom approves; moves to committed if not already
Rejected Invoice disputed โ€” incorrect amount, wrong phase, or unauthorized work Sarah flags with notes; vendor notified
Paid Payment issued; amount moves to Actual Sarah marks paid with payment date

Each invoice is linked to a specific WBS phase. When an invoice is approved, the committed amount for that phase updates automatically. When it's marked paid, the actual amount updates. The financial dashboard reflects these changes in real time.

Corporate Financial Dashboard

The corporate dashboard gives Tom a consolidated view of all active projects. It refreshes daily (a background job runs at 4 AM UTC) and presents:

Portfolio Summary
Total estimated, committed, and actual across all active projects. Variance both in dollar amount and percentage. All figures shown per currency โ€” USD and CAD are never combined.
Project Drill-Down
One row per active project showing its individual financial summary. Click to expand into per-phase breakdown. Overbudget phases highlighted automatically.
Quarterly Rollup
Budgets aggregated by fiscal quarter โ€” useful for lender reporting, draw request preparation, and cash flow forecasting.
AR Aging
Outstanding receivables bucketed by age. See below for full AR aging detail.

AR Aging โ€” Accounts Receivable Tracking

AR aging is the measure of how long money owed to the firm has been outstanding. BuildOS tracks AR in four buckets, each representing a different level of collection risk:

BucketAge of ReceivableWhat It SignalsTypical Action
Current 0โ€“30 days Normal โ€” within standard payment terms No action needed
30-Day 31โ€“60 days Slightly late โ€” may be administrative delay Friendly reminder to client
60-Day 61โ€“90 days Significantly overdue โ€” attention required Direct outreach; confirm receipt and intent to pay
90+ Day >90 days At risk of non-collection Escalate to owner; consider lien or collections

AR aging snapshots are taken daily and stored historically, so Tom can see whether the 90-day bucket is growing (a trend problem) or whether a specific invoice has been stuck (a one-off issue). All amounts are shown in their original currency โ€” USD aging and CAD aging are displayed as separate panels.

Multi-Currency Design

BuildOS serves GC firms that operate in both the United States and Canada. All financial values are stored and displayed in their original currency โ€” no automatic conversion is ever performed. This means:

๐Ÿ”ข
No rounding errors, ever. All monetary values in BuildOS are stored as whole cents (integers) โ€” never as decimals. This means the total of 1,000 line items will always add up exactly, with no spreadsheet-style pennies-off discrepancies. The currency symbol and decimal point are added only when displaying the value to users.

G702 / G703 Draw Requests Post-MVP

G702 and G703 are the American Institute of Architects standard forms for construction draw requests โ€” the documents GCs submit to lenders or owners to request payment at project milestones. BuildOS will auto-populate these forms using data already in the system:

This eliminates the manual process of assembling a draw request from multiple spreadsheets โ€” estimated to save 2โ€“4 hours per project per draw cycle. Available in Phase 2 (post-MVP milestone M8).

Who Can See Financials

Financial data is restricted to owner and admin roles by default. Superintendents can see project-level financial summaries but not invoice details or corporate-level AR. Field workers have no financial visibility. For the full permissions breakdown, see Roles & Permissions.