How job costing software for contractors does the math
On a CoatHQ job, direct cost is exact material cost plus labor hours times labor rate. You see it as a total and per square foot. Gross margin and margin percent sit right next to it.
The key word is exact. Material cost comes from what inventory sent out to the job. It isn't a line off the estimate or an average. That's why job costing in a general field service tool tends to let you down. If the software has no inventory, "material cost" is just the number somebody typed into the quote.
Per square foot is the number that travels
You can't compare a 480 sq ft garage to a 2,400 sq ft shop floor in dollars. Per square foot, you can. Two crews, two months or two job types line up the same way. It's the most useful number a coating shop can start tracking. Almost nobody has it.
Where the surprises show up
The profitability report shows gross margin, labor cost and material cost. It breaks margin out by service. You also get a list of jobs you can sort by margin percent. Next to that sit revenue over time, a quote funnel, average job value and completion rate. A toggle compares any stretch to the one before it.
Look for two surprises. One is the job type you thought was your bread and butter. Once you count material honestly, it barely clears. The other is a job you almost turned down. It turned out to be the best margin of the quarter. A revenue report won't show you either one.
One more thing. Reported revenue follows the invoice, which is the quote plus any approved change orders. A discount comes off that bill. A goodwill credit gets held for a future job instead. So the number in the report is one you can defend.
Inventory you can actually count
Stock lives in locations, like the warehouse and each truck. On hand, reserved and allocated are tracked apart. A ledger logs every move, from received to transferred. So when someone asks where that pail of resin went, you can look it up.
Material planned from the quote
When you sell a job, CoatHQ works out the products, amounts and cost straight from the quote. It adds 10% for overage. Once the job is on the schedule, it holds that stock. If there isn't enough, you get a shortage flag in the office. That's days before the crew finds out on the driveway.
Ordering math nobody does by hand
Jobs on the schedule turn into forecast demand. CoatHQ runs that forecast through a two-pass kit optimizer. It picks the cheapest mix of pail sizes, like three-gallon against fifteen-gallon. When your booked work gets big enough, volume thresholds open up pallet pricing.
Then comes the reorder. Products under their reorder point get grouped by vendor. One click turns them into draft purchase orders. A person checks them and sends them. Each PO goes from draft to submitted, then ordered, then received. Received stock goes back into inventory at the spot where you received it.
Cost one of your finished jobs with us
Bring a finished floor and the material it used. We'll cost it in the system. Then you'll see margin per square foot next to what you thought it was.
Sign up nowLabor is half of job cost, so it has to be real
Labor hours come from clocking in and out on the phone, with a GPS stamp. Each punch ties to the job. A manager approves the hours, and you can add time by hand when you need to. That makes labor a real measure instead of a plug number. The same hours feed crew performance. There they turn into revenue per hour and labor cost percent for each person.
How job costing and inventory get packaged
If you're comparing tools, read this part closely. On 2026-07-26 we checked each vendor's own docs. In general field service platforms, job costing and inventory often sat on a higher tier. Sometimes they weren't there at all, even when the marketing page listed them.
| Capability | Typical general field-service tool | CoatHQ |
|---|---|---|
| Materials inventory | Higher tier or not offered | On Pro, multi-location |
| Job costing / margin | Higher tier, or service-call level | On Pro, per job and per sq ft |
| Material planned from the quote | Rare | On Pro, with shortage flags |
| Reorder to draft PO | Varies | On Pro |
| User model | Mostly per seat or per tech | Unlimited users on both plans |
We checked each row against the vendors' own docs on 2026-07-26. Software changes all the time, so check again before you lean on any one row.
So on any demo, ask the tier question out loud: "What plan is inventory on? What plan is job costing on?" Then price that plan. Ours is Pro. That is $297 a month with a partner referral, or $497 without one, unlimited users either way, and that figure sits on the pricing page instead of behind a call.
Frequently asked questions
What is job costing software, and why do contractors need it?
It puts material, labor and overhead on each job, so you can see what that job made. Without it, you learn if a job made money when the month closes. That's too late to change how you bid the next one.
How does CoatHQ calculate job cost?
It's exact material cost plus labor hours times labor rate. You see it as a total and per square foot, with gross margin and margin percent. Material cost comes from what inventory sent to the job. It doesn't come from the estimate.
Does it handle inventory in multiple locations?
Yes, and each van counts as its own location. On hand, reserved and allocated stock are tracked apart. A full ledger sits behind every move.
Can it create purchase orders automatically?
It makes drafts. With one click, products under their reorder point get grouped by vendor into draft POs. Then a person checks them and sends them. Received stock goes back into inventory where you received it.
How do customer payments work?
Payments run through Stripe. You connect your own Stripe account, so customer money goes straight to you. Stripe's own processing fees still apply.