Stop Late WIP: Job Costing Methods for 2–30 Truck Contractors
Job costing for 2–30 truck contractors: daily field capture, weekly accruals, and committed cost workflows that fix WIP and protect margins.
Stop Late WIP: Job Costing Methods for 2–30 Truck Contractors

Job costing means tracking every dollar of labor, materials, subcontractors, equipment, and overhead against a specific project so you know if that job actually made money. The main job costing methods are actual costing, standard costing, activity-based costing, percentage-of-completion, and completed-contract accounting. Most project-based contractors default to actual costing for day-to-day tracking and cost-to-cost percentage-of-completion for longer jobs, because both methods match real cash movement to real work performed.
TL;DR:
- Actual costing should be combined with weekly accruals of committed subcontractor and material costs to prevent understating expenses before invoices arrive.
- Standard costing works best for repetitive tasks but can mislead in custom projects if standards become outdated or inconsistent.
- Activity-based costing is advantageous for large operations with varied overhead support, but requires detailed and reliable activity tracking.
- Long-term contracts should use percentage-of-completion with cost-to-cost recognition, while very short jobs may remain on actual costing alone.
- Consistent daily field data capture and frequent WIP reviews are crucial for accurate job costing and maintaining reliable profit and project tracking.
- ✓Real-time job cost tracking
- ✓Scheduling and dispatch
- ✓Invoicing from the field
- ✓Timeclock and payroll
Table of Contents
- What Are the Main Job Costing Methods?
- How Does Actual Costing Work in Practice?
- How Do You Set Up Standard Costing and Track Variances?
- When Does Activity-Based Costing Improve Accuracy?
- Percentage-of-Completion vs. Completed-Contract: Which Fits Longer Jobs?
- What Are the Core Job Cost Categories?
- How Do You Calculate Job Costs Step by Step?
- How Should You Structure Cost Codes and Field Data Capture?
- What Mistakes Wreck Job Cost Accuracy?
- Which Software Features Actually Improve Job Costing?
- How MEPflow Supports Field-Level Job Costing
- How Does Job Costing Change Pricing and Profitability?
- How Does Job Costing Fit Into Project Management and Budgeting?
- How Do Different Industries Apply Job Costing Methods?
- Job Costing Is a Daily Habit, Not a Monthly Report
- Put Job Costing Where the Work Actually Happens
- Sources
- FAQ
What Are the Main Job Costing Methods?
Each job costing method solves a different problem, and picking the wrong one for your contract type is how owners end up with WIP reports nobody trusts. The five approaches below cover almost every project-based business, from a three-truck plumbing outfit to a mid-sized mechanical contractor running six-month builds.
- Actual costing records real labor, material, and subcontractor costs as they happen. Best for service and repair work with short cycles and frequent job turnover.
- Standard costing sets a predetermined cost per unit or task, then tracks variances against it. Fits repetitive production work like duct fabrication or panel assembly.
- Activity-based costing (ABC) traces overhead to specific activities rather than spreading it evenly. Useful when overhead is large and jobs vary widely in how much support they consume.
- Percentage-of-completion (POC) recognizes revenue as work progresses, typically using the cost-to-cost method. Required for most long-term contracts under IRS guidance.
- Completed-contract method delays revenue recognition until the job finishes. Occasionally used for very short jobs or by contractors meeting specific small-business exceptions.
Contract length is the fastest filter. Jobs under a few weeks usually run fine on actual costing alone. Anything spanning multiple billing cycles needs POC to keep revenue and cost in the same period, and production-heavy shops benefit from standard costing layered on top of actual costs to catch drift early.
How Does Actual Costing Work in Practice?
Actual costing captures real costs as they hit the job, not estimates or averages. It’s the backbone method for most 2 to 30 truck operations because it mirrors how cash actually moves through a project.
- Labor gets posted by cost code as technicians clock hours in the field, ideally the same day the work happens.
- Materials post when delivered or installed, tied to a purchase order number so nothing floats unassigned.
- Subcontractor costs post against the committed contract amount, not just the invoices received so far.
- Equipment charges apply an internal or rental-equivalent rate per hour or day used on that job.
- Overhead allocates using a consistent base, whether that’s labor hours or direct cost dollars.
The timing mismatch is where actual costing gets messy. A subcontractor might complete $40,000 of work in March but not invoice until April. If you only record invoiced costs, your March job cost report understates the real spend and overstates profit. The fix is accruing committed costs as they’re incurred, then reversing the accrual once the actual invoice posts.
Pro Tip: Set a weekly rule: any subcontractor or vendor work completed but not yet billed gets an estimated accrual entry before Friday. Reverse it the moment the real invoice lands. This single habit fixes most of the “profitable job, no cash” problem contractors run into.
How Do You Set Up Standard Costing and Track Variances?
Standard costing works by assigning a predetermined cost to a unit of work, then comparing actual results against that baseline. It’s less common in custom project work but valuable anywhere you repeat the same task across jobs.
- Set labor standards using historical time studies: how many hours a standard install, changeout, or panel run should take.
- Set material standards from vendor pricing agreements or average purchase history over the past few months.
- Record variances in two buckets: rate variance (paid more or less per hour or unit than planned) and efficiency variance (took more or fewer hours or units than planned).
- Review variances by cost code, not just by job total, so you can see whether the miss was labor speed, material waste, or price inflation.
- Update standards quarterly. A standard set two years ago against today’s material prices produces variance noise that hides real problems.
Standard costing fits shops doing repetitive, high-volume work: sheet metal fabrication, panel assembly, service agreement maintenance visits. It misleads contractors on highly custom jobs, where every project has a different scope and a “standard” cost is really just a guess dressed up as a benchmark. If your work rarely repeats the same task twice, skip standard costing and stick with actual costs plus a solid budget comparison instead.
When Does Activity-Based Costing Improve Accuracy?
Activity-based costing traces overhead to the specific activities that actually drive it, instead of spreading indirect costs evenly across every job by revenue or labor hours. That distinction matters most when your jobs vary a lot in how much office and shop support they consume.
- Estimating and design time as an activity pool, driven by number of change orders or design revisions per job.
- Dispatch and scheduling driven by number of trips or visits required.
- Purchasing and receiving driven by number of purchase orders processed.
- Equipment yard support driven by hours of equipment checked out.
Under a flat overhead allocation, a simple one-visit repair job absorbs the same overhead rate as a complex multi-trip installation with six change orders, even though the second job clearly consumes more office time. ABC fixes that by charging overhead based on what each job actually used.
The cost is setup effort. Activity-based costing requires reliable activity tracking, meaning someone has to log change-order counts, PO counts, or dispatch trips consistently. For a two-truck shop, that overhead isn’t worth it. For a 20-truck operation with wildly different job types, sloppy flat allocation, and margin questions nobody can answer, ABC usually pays for itself within a year.
Pro Tip: Start ABC with just two or three activity pools, not ten. Estimating time and dispatch trips alone will surface most of the distortion a flat rate creates, and you avoid drowning your office staff in tracking work.
Percentage-of-Completion vs. Completed-Contract: Which Fits Longer Jobs?
Percentage-of-completion recognizes revenue as work progresses, using the cost-to-cost method: costs incurred to date divided by total estimated costs, applied against the contract price. If a job is $60,000 into an estimated $200,000 total cost, you’ve recognized 30% of contract revenue, regardless of what’s been billed so far.
- Cost-to-cost keeps revenue recognition tied to real progress rather than billing schedules, which prevents front-loaded contracts from looking artificially profitable early.
- IRS guidance treats cost-to-cost as the standard measurement approach for percentage-of-completion on long-term contracts.
- The completed-contract method defers all revenue and cost recognition until the job is substantially finished. It’s simpler but can distort year-to-year profitability, especially for a business with a handful of large, overlapping jobs.
- Retainage needs separate treatment under either method. Retainage typically runs 5% to 10% of each invoice and shouldn’t count as earned revenue until it’s actually collectible.
- Earned revenue calculated through cost-to-cost should reconcile against billed amounts monthly, producing the over/underbilling figures that show up on your WIP schedule.
Completed-contract shows up less often now, mostly limited to very short jobs or specific small-contractor exceptions. Most 2 to 30 truck shops running anything longer than a billing cycle end up on percentage-of-completion by necessity, not preference.
What Are the Core Job Cost Categories?
Every job costing method, no matter which one you pick, runs on the same five inputs. Get these wrong and the method on top doesn’t matter.
- Labor is wage plus burden, meaning payroll taxes, workers’ comp, and benefits loaded on top of the hourly rate. A technician earning $28 an hour might carry a true burdened cost closer to $38 to $40 once you add burden. Capture hours by job and cost code daily, not from a weekly memory reconstruction.
- Materials get tracked from purchase order to delivery ticket to installation. Decide up front whether materials count as job cost the moment they’re delivered to the site or only once installed. Delivered-but-uninstalled inventory sitting in a trailer is a common source of overstated progress.
- Subcontractor costs track against the committed contract amount from day one, not just invoices received. If you’ve committed to a $50,000 subcontract and received $20,000 in invoices, your job cost report needs to reflect the $50,000 obligation, adjusted for actual percent complete.
- Equipment charges apply either an internal rate (what it would cost to rent that piece of equipment externally) or the actual external rental cost when equipment is leased for the job. Internal rates should get reviewed annually against real market rental rates.
- Overhead gets grouped into pools, then allocated using a base that actually correlates with how overhead gets consumed, whether that’s direct labor hours, total direct costs, or machine hours. Picking the wrong base skews every job margin the same direction.
Get these five categories capturing correctly and consistently, and almost any job costing method you layer on top will produce numbers you can trust.
How Do You Calculate Job Costs Step by Step?
Job costing math isn’t complicated. The failure point is almost always incomplete or late data, not the formula itself. Here’s the sequence that produces a reliable job cost report every time.
- Collect actual costs by cost code: labor hours times burdened rate, material costs from delivery tickets, subcontractor invoices received.
- Add committed but unbilled costs: open purchase orders and signed subcontract balances not yet invoiced.
- Apply labor burden and equipment rates consistently across every job, using the same rate table each time.
- Allocate overhead using your chosen base, applied at the same rate to every job in the period.
- Calculate cost-to-complete: what remains to finish the job, based on the current scope and any approved change orders.
- Compute Estimate at Completion (EAC): actual costs to date plus cost-to-complete.
- Compare EAC against the original budget to produce a variance, positive or negative.
Here’s a worked example. A $200,000 HVAC installation has incurred $90,000 in actual costs and $15,000 in committed but unbilled subcontractor costs, for a total of $105,000 recognized cost. The project manager estimates $70,000 remains to finish. EAC equals $105,000 plus $70,000, or $175,000. Against the $200,000 budget, that’s a favorable variance of $25,000, or 12.5% under budget. Compare that number monthly, and a slipping trend shows up long before the job closes and it’s too late to fix.
Retainage, which typically runs 5% to 10% of billed amounts, stays out of your recognized revenue calculation until it’s collectible, even though the cost side of the job continues as normal.

How Should You Structure Cost Codes and Field Data Capture?
Cost codes are the skeleton that holds every job costing method together, and most contractors either skip structuring them or copy a system that’s too complicated to actually use in the field.
A CSI-based structure (Construction Specifications Institute divisions like 22 for plumbing, 23 for HVAC, 26 for electrical) gives you a recognizable framework, but most 2 to 30 truck shops do better simplifying it down to 15 to 25 codes that map to how their crews actually think about work: rough-in, trim, equipment install, startup, service call, warranty.
- Assign a cost code to every labor hour, material purchase, and subcontractor line before the job starts, not after.
- Require daily or weekly field reporting that matches hours and materials to the specific cost code, not just the job number.
- Reconcile purchase orders against delivery tickets weekly so uninstalled material doesn’t get booked as progress.
- Treat committed costs (open POs, signed subcontracts) as real obligations in your WIP the moment they’re committed, accruing them until the actual invoice arrives.
Industry practice recommends a monthly WIP close at minimum, with weekly or even daily review for labor-intensive contractors running multiple active jobs. The WIP schedule should function as your single source of truth: costs incurred, billings to date, and earned revenue reconciled in one place, with retainage carved out separately so it doesn’t distort the earned revenue figure.
Pro Tip: Run the accrue-reverse-actual routine every week without exception: accrue committed subcontractor and material costs as they’re incurred, then reverse the accrual the moment the real invoice posts. This is the single habit that keeps WIP numbers from drifting away from reality.
What Mistakes Wreck Job Cost Accuracy?
A handful of errors show up across nearly every contractor’s books, and each one has a specific, fixable cause.
- Omitting labor burden or applying it inconsistently across jobs, which makes labor-heavy jobs look more profitable than they are.
- Recording uninstalled materials as job progress, inflating percent complete before the material is actually in the wall or on the roof.
- Failing to record committed subcontract costs and retainage, so the job looks cheaper than its real obligation until an invoice finally shows up.
- Letting cost-to-complete estimates go stale, especially after a change order that nobody updated in the budget.
- Losing change orders between field and billing, a common gap between what happens on-site and what makes it into the office system.
The fixes are procedural, not technical: enforce PO discipline before work starts, require daily field capture instead of end-of-week reconstruction, and standardize your labor burden template so every job uses the same loaded rate.
Which Software Features Actually Improve Job Costing?
The right features matter far more than the vendor name on the login screen. When evaluating any job costing software comparison, judge tools against these four capability categories rather than a feature checklist.
- Field mobile apps with offline sync and timeclock, so labor hours post to the correct job and cost code the same day, even without signal on a jobsite.
- Committed-cost workflows, including purchase order creation and PO-to-invoice matching, so open commitments show up in job cost reports before the invoice arrives.
- Cost-code flexibility and WIP reporting built in, not bolted on through a separate spreadsheet that someone has to update manually every month.
- Integration with your accounting system, plus clean import and export, so job cost data doesn’t require double entry between field software and the books.
A job costing spreadsheet can handle all of this for a two-truck shop with simple jobs. Once you’re running multiple crews and overlapping projects, the manual reconciliation a spreadsheet demands becomes the bottleneck, and that’s usually the signal to automate job costing with dedicated software instead.
How MEPflow Supports Field-Level Job Costing
MEPflow is mobile-first and works offline, which matters because most job costing errors start in the field, not the office. Technicians clock time, log materials, and update job status from the truck, and it all syncs the moment signal returns. The platform includes a per-trade pricebook, trade calculators, a built-in timeclock, and job costing with WIP reporting, all running on the same data the office side sees.
That structure directly targets the mistakes covered above: labor hours post same-day instead of getting reconstructed from memory, and change orders captured in the field don’t get lost before they reach billing.
How Does Job Costing Change Pricing and Profitability?
Job cost data is the raw material behind every pricing decision you make, whether you realize it or not. A bid built on gut feel or last year’s rough numbers will drift further from reality every time material prices or labor rates shift.
Accurate job costing shows you your real margin by job type, not just your overall company margin. A plumbing shop might discover that service calls run a 45% margin while new construction rough-in work runs 18%, information that’s invisible until costs get tracked by job and compared against revenue. That breakdown tells you where to focus sales effort and where to raise prices or walk away.
Job cost history also improves future estimates directly. If your actual labor hours on the last ten similar installs consistently ran 15% over what you bid, that pattern belongs in your next estimate, not buried in a closed job file nobody reopens. Estimators who pull from real job cost history bid tighter and more competitively than ones guessing from memory, and they still protect margin because the numbers reflect what actually happened, not what was hoped for.
The profitability picture only holds up if the underlying job cost data is accurate. Feed a pricing model bad labor burden numbers or missing subcontractor commitments, and you’ll price jobs that look profitable on paper and lose money in the field. That’s the real cost of skipping the discipline covered throughout this guide.
How Does Job Costing Fit Into Project Management and Budgeting?
Job costing isn’t a separate accounting exercise that runs parallel to project management. It’s the feedback loop that tells a project manager whether the plan they built is still the plan they’re executing.
A project budget sets the target: expected labor hours, material spend, subcontractor commitments, and overhead allocation for the job. Job costing tracks the actual results against that target in real time, cost code by cost code, so a project manager sees drift within days instead of discovering it at closeout. That’s the entire point of computing EAC and comparing it against budget throughout the job’s life, not just at the end.
The connection runs both directions. Budgeting depends on job cost history from past projects to set realistic targets in the first place, and job costing depends on a well-structured budget to know what “on track” even means for a given cost code. Skip one and the other loses most of its value.
Change orders are where this integration either works or breaks down. A project manager who approves a scope change in the field needs that change reflected in the budget and the job cost report within the same reporting cycle, not weeks later when the cost-to-complete estimate has already gone stale. Software that connects field activity to office budgeting closes that gap; a paper change order sitting in a truck console does not.
How Do Different Industries Apply Job Costing Methods?
The five job costing methods flex differently depending on what you build and how you bill it.
Plumbing, HVAC, and electrical contractors doing mostly service and repair work lean on actual costing almost exclusively, since jobs are short and billing typically follows completion closely. The same contractors running new construction or larger commercial installs shift to percentage-of-completion with cost-to-cost measurement, because those jobs span multiple billing cycles and revenue needs to track progress, not just invoices.

Manufacturing and fabrication shops producing repeated units, like sheet metal duct runs or prefabricated electrical panels, get more value from standard costing layered over actual costs. Setting a standard per unit and tracking variance catches material waste or labor drift across a production run in a way pure actual costing can miss, since actual costing treats every unit as a one-off rather than comparing it against a baseline.
General contractors and mechanical contractors managing large commercial or industrial projects, especially ones with heavy overhead from estimating, design, and project management staff, are the most common users of activity-based costing. Their overhead doesn’t scale evenly with job size, so tracing it to actual activity pools produces a much more honest margin picture than a flat allocation rate.
Across every industry, the constant is that the method should match the contract structure and the cost patterns of the work, not the other way around. Forcing a method that doesn’t fit your job type produces numbers that are technically correct and practically useless.
Job Costing Is a Daily Habit, Not a Monthly Report
The gap between contractors who run profitable jobs and those who guess is rarely the accounting method they picked. It’s whether job cost data gets into the system the same day the work happens. Actual costing, percentage-of-completion, or ABC all fail the same way when field data arrives a week late: the WIP schedule reflects last week’s reality, and decisions get made on stale numbers.
Routine reconciliation matters more than method sophistication. A shop running simple actual costing with daily field capture and weekly accruals will out-perform a shop running a more advanced method on monthly data that’s always a little behind. Treat job costing as something you check the way you check your bank balance, not something you review once a month when the accountant asks for it.
— Jonathan
Put Job Costing Where the Work Actually Happens
MEPflow is built for the moment job costing usually breaks down: when a technician finishes a task in the field and that information needs to reach the office before the WIP schedule goes stale. The platform is mobile-first and works offline, so labor hours, materials, and job status sync the moment signal returns instead of waiting for someone to remember at the end of the week.
All subscription tiers include core features such as job costing with WIP reporting, built-in timeclock, per-trade pricebooks, trade calculators accessible in the field, scheduling, invoicing, and accounting integration, with differences based on crew size rather than feature availability. The software was developed by experienced tradespeople who use it themselves to ensure quality before releasing features.
Pricing details live at /#pricing, and if you’d rather talk through a 14-day trial, call 866-808-4996. Otherwise, create your company account and start capturing job costs from the field, not from memory.
Sources
For deeper background on the accounting rules behind the methods covered here, the IRS construction industry audit technique guide covers percentage-of-completion and completed-contract treatment in detail. Outsourced Bookkeeping’s guide to construction job costing walks through committed-cost capture, and Corpay’s retainage resource explains how retainage should be handled inside a WIP schedule.
- Job costing — Paylocity resources glossary
- Construction retainage — Corpay resources
- Construction industry audit technique guide — IRS
- Job costing in construction accounting: A practical guide — Outsourced Bookkeeping
FAQ
What Are the Main Methods of Job Costing?
The main methods are actual costing, standard costing, activity-based costing, percentage-of-completion, and completed-contract accounting. Most project-based businesses use actual costing for routine tracking and switch to percentage-of-completion with cost-to-cost measurement for longer contracts.
What Are the Four Types of Costing Methods?
If you’re narrowing to four, the common grouping is job order costing, process costing, standard costing, and activity-based costing, distinguished mainly by whether costs get tracked per job, per continuous process, against a predetermined standard, or by activity driver. Percentage-of-completion and completed-contract are revenue recognition methods layered on top of these, not separate costing systems.
What Are the Steps in the Job Costing Process?
A practical job costing process runs through collecting actual costs by cost code, adding committed but unbilled costs, applying labor burden and equipment rates, allocating overhead consistently, estimating cost-to-complete, calculating estimate at completion, and comparing that figure against the original budget. Running this weekly, rather than only at month-end, catches variances while there’s still time to correct course.
What Cost Categories Should a Job Cost Breakdown Include?
A complete job cost breakdown covers labor, materials, subcontractors, equipment, and overhead, the five categories that determine true job profitability. Labor should include burden, materials should distinguish delivered from installed, and subcontractor costs should reflect committed contract amounts, not just invoices received so far.
Is a Job Costing Spreadsheet Enough, or Do I Need Software?
A job costing spreadsheet can work fine for a small shop running a handful of simple jobs at a time, but it depends entirely on someone manually keeping it current. Once you’re running multiple crews with overlapping jobs and committed costs to track, dedicated software like MEPflow removes the manual reconciliation step by syncing field data directly into job cost and WIP reports.
How Often Should I Update My WIP Schedule?
Most contractors close WIP at least monthly, though labor-intensive operations benefit from weekly or even daily review by project managers. Waiting a full month to reconcile committed costs and retainage is often what causes a profitable-looking job to suddenly run short on cash.
Where to next
- See what MEPflow doesScheduling, estimates, dispatch, invoicing and job costing in one app.
- Create your company accountSet your shop up in a few minutes. No card to start.
- How to Reduce Field Service Scheduling TimeMore from the MEPflow blog
- Cut No Shows 25%: Text Appointment Reminders for Service ShopsMore from the MEPflow blog
