Skip to content
Free template

Job costing template: budget, committed, actual

A working budget-vs-actual spreadsheet with fifteen standard residential cost codes. Enter your budget, the POs and subcontracts you've committed, and the bills you've approved — it computes remaining budget per code and flags any code that's OVER or approaching its budget.

Download the job costing template (.xlsx)

Excel / Google Sheets compatible · no sign-up required

How to use it

Three steps to a working document

1

Budget from your estimate

Carry each cost code's budget over from the winning estimate — that's the number the job has to beat.

2

Record committed cost

Signed POs and subcontracts count against the job the day you sign them, not the day the bill arrives — that's the column most spreadsheets miss.

3

Watch the flags

Each code shows OK, WATCH (past 90% of budget), or OVER — so the conversation happens mid-job, while there's still something to do about it.

The template is per-project. Tracking committed cost manually is the hard part — it only works if every PO gets entered the day it's signed.

When the spreadsheet stops scaling

BuildersBridge maintains this exact view automatically — POs commit cost when issued, approved bills become actuals, and every job shows live budget-vs-actual.

See how it works in BuildersBridge
FAQ

Common questions

What's the difference between committed and actual cost?

Committed cost is money you've obligated through signed POs and subcontracts that haven't been billed yet. Actual cost is what approved vendor bills have added. A job can be fully committed long before it looks over budget on paid invoices alone.

Can I change the cost codes?

Yes — the fifteen rows are standard residential categories, and every one is editable. Add rows if you need more; the totals row uses a range you can extend.

How is this different from my accounting software?

Accounting tells you what you've spent after the fact. Job costing compares spend and commitments against the budget per cost code while the job is running — that's what catches an overrun early.