Skip to main content

Job Costing Template for Specialty Trade Subcontractors (Free Google Sheets)

Last updated: March 20, 2026

TLDR

A job costing template tracks labor, materials, equipment, and subcontractor costs against your original estimate for every active job. The goal is a real-time budget vs. actual view — not a post-job reconciliation. A well-built Google Sheets template covers cost codes, WIP calculation, and cost-to-complete — enough for subs with under 10 active jobs. Once you're running 15+ jobs simultaneously, the manual entry cost exceeds what job costing software costs.

DEFINITION

cost code
A numbered category (e.g., 03-100 = concrete labor, 16-200 = electrical materials) used to organize costs by work type. Cost codes let you compare estimated vs. actual costs at the phase level, not just the job level.

DEFINITION

WIP calculation
Work-in-progress calculation: percent complete times contract value, compared to billings to date. Used to identify over-billing (you've billed more than you've earned) or under-billing (you've earned more than you've billed). Required for bonding and construction lending.

DEFINITION

cost-to-complete
The remaining budget on a job: total estimated cost minus actual cost incurred to date. When cost-to-complete plus costs already incurred exceeds the contract value, the job is trending to a loss.

DEFINITION

budget variance
The difference between estimated and actual cost at any cost code or job level. Negative variance means actual costs exceeded the estimate — over budget.
“We ran the Google Sheets template for three years. At 18 active jobs, my office manager was spending 12 hours a month maintaining it. That's when the math finally made sense to switch.”
B. Chukwu , Owner at Chukwu Plumbing
“Five tabs. Job list, cost entry log, budget vs. actual, WIP schedule, cost-to-complete. Build those right and everything else is detail.”
A. Lindberg , Controller at Northern Mechanical

What the template needs to do vs. what bookkeeping does

Bookkeeping records that money moved. Job costing tracks where it went and whether that was the plan.

Your QuickBooks file shows that you paid $8,400 to an electrical supplier on March 3. A job costing system shows that $6,100 of that went to Job #2241 (Northside Medical, rough-in phase, materials cost code) against an estimate of $5,800 — and that job is now $300 over on materials with two phases left.

That’s a different kind of information. QuickBooks gives you the transaction. Job costing gives you the context to act on it.

A job costing template in Google Sheets can bridge this gap if you’re willing to enter costs manually or copy them from QuickBooks exports. The limitation is that manual entry takes time and introduces errors. At low job volume — under 10 active jobs — the manual overhead is manageable. Past that, it becomes a problem.

The 5 tabs your job costing spreadsheet needs

Tab 1: Job list. One row per job. Columns: job number, job name, contract value, estimated cost, estimated margin, start date, percent complete (manually entered), revised cost-to-complete, projected final cost, projected final margin. This tab is your dashboard.

Tab 2: Cost entry log. Every cost entered here: date, job number, cost code, cost type (labor, material, equipment, sub), vendor/employee, amount. This is the raw ledger that feeds every other tab. Enter costs here once; every other tab pulls from it.

Tab 3: Budget vs. actual by cost code. One row per cost code per job. Columns: estimated cost, actual cost to date (summed from the entry log), variance, percent of budget used. Filter by job to see a single job’s cost performance. This tab answers: where are we running over?

Tab 4: WIP schedule. One row per job. Columns: contract value, estimated cost, percent complete, earned value (contract value times percent complete), billings to date (pulled from your invoicing records), over/under-billing (billings minus earned value). Your bonding agent and bank want this report. Build it once and keep it updated.

Tab 5: Cost-to-complete summary. One row per job. Columns: estimated cost, actual cost to date, cost-to-complete (estimated minus actual), revised estimated cost (from PM input), revised variance, projected final margin. This tab answers: how will each job finish?

Five tabs. No more, no less. Additional tabs for subcontractor logs, change order tracking, or labor hour detail are useful but only after these five are working cleanly.

Where the spreadsheet breaks down — and when to switch

The spreadsheet has three failure modes.

The first is data entry volume. At 15+ active jobs with weekly cost entries across multiple cost codes per job, manual entry becomes several hours per week. That time has a cost. At 20 jobs, the person maintaining the spreadsheet is essentially doing a job that job costing software automates.

The second is WIP complexity. When your bonding company starts asking for a formal WIP schedule with over/under-billing columns that tie to your financial statements, a spreadsheet WIP that doesn’t reconcile to your books creates problems. Bonding agents and construction lenders want numbers that agree with your CPA’s reports. Getting there manually requires reconciliation time that compounds every month.

The third is multi-user access. Google Sheets handles concurrent editing poorly when multiple people are entering costs simultaneously. Someone overwrites someone else’s entry; the version history becomes your audit trail. That works until it doesn’t.

None of these are reasons to switch on day one. They’re reasons to watch the threshold. When your office manager is spending more than 6-8 hours per month on spreadsheet maintenance, run the numbers: job costing software at $20/month is cheaper than that time, and it gets more accurate as you add jobs, not less.

Like what you're reading?

Try MarginLock free for 14 days and take control of your job costs.

Q&A

What should a job costing template include?

A complete job costing template needs: (1) a job list tab with contract value, estimated cost, and percent complete for each active job; (2) a cost entry tab where labor, materials, equipment, and sub costs are logged by job and cost code; (3) a budget vs. actual tab that compares estimated cost by cost code to actual costs entered to...

Q&A

When should a subcontractor switch from a spreadsheet to job costing software?

Two thresholds matter. The first is job count: around 10-15 active jobs, the manual entry volume becomes a part-time job in itself. The second is WIP complexity: if your bonding company, bank, or CPA is asking for a formal WIP schedule and your spreadsheet produces numbers that require significant manual cleanup to present, you've passed the point where the tool...

Want to learn more?

  • Zero implementation fees
  • Unlimited users
  • Starts at $20/month

No credit card required.

What is the difference between job costing and bookkeeping?
Bookkeeping records financial transactions — invoices, payments, payroll — in your general ledger. Job costing allocates those transactions to specific jobs and compares them against the estimate for each job. QuickBooks is a bookkeeping tool. It can tag transactions by customer or project, but it can't produce a cost code-level budget vs. actual report or a WIP schedule without significant manual work. You need both: bookkeeping for tax filings and financial statements, job costing for managing profitability on active jobs.
Can you do job costing in QuickBooks?
QuickBooks Online and Desktop both let you track costs by customer or project. What they can't do: cost-code level tracking across phases, WIP schedule generation, cost-to-complete projections, or retainage accounting. If your current process is QuickBooks plus an Excel file where you manually reconcile job costs every month, that's the signal you've outgrown QuickBooks for job costing. The Excel file is doing the actual job costing work — QuickBooks is just the data source.
How do you calculate cost-to-complete on a job?
Cost-to-complete equals total estimated cost minus actual costs incurred to date. If you estimated $180,000 to complete a job and have spent $110,000 so far, your cost-to-complete is $70,000. The useful version also includes a revised estimate column: if you're tracking to finish at $195,000 based on current field progress, your revised cost-to-complete is $85,000 and the job is trending $15,000 over budget. That revised estimate requires your foreman or PM to weigh in on actual progress — the spreadsheet can't calculate it from transaction data alone.

Ready to stop losing money on jobs?

Start Your 14-Day Free Trial

Go deeper