Your P&L cannot tell you what you need
A profit and loss statement is a company level summary, written after the fact. It tells you March was thin. It does not tell you which floors made March thin, and that difference is the whole thing.
By the time a bad month shows up on a P&L, you already quoted the next thirty floors using the same assumptions that produced it. The error is not in your bookkeeping. It is in your estimating, and a P&L cannot see estimating at all.
Job costing closes that loop. Cost each floor as it finishes. Compare it with what you estimated. A pattern shows up after about ten jobs instead of after a year. That is the difference between a pricing system and a pricing habit.
The five things to track
Keep it to five. Shops that try to track twenty fields stop in three weeks.
- Square feet actually coated. Measured, not quoted. Those two differ more often than you would think.
- Material used, by product. What left the truck and went on the floor, including waste and partial kits.
- Crew hours, by person. Real hours on the job. Setup, travel if you cost it, and cleanup.
- Job specific costs. Rental, dump fees, permits, the second trip, fuel if you allocate it.
- Invoiced amount. The quote plus approved change orders. The invoice, not the hopeful number.
Those five give you everything that matters. Direct cost, margin after overhead, cost per square foot, and your real daily rate. Anything else is refinement, and almost every coating shop is not yet doing these five.
Running the numbers on a finished floor
One finished garage, costed
- Invoiced
- $3,900
- Material used
- $1,140
- Crew: 14 hours loaded
- $1,330
- Dump fees and fuel
- $160
- Direct job cost
- $2,630
- Overhead at 18% of invoiced
- $702
- Net profit on this floor
- $568
That is 14.6% net margin against a 20% target. And now you know why. The estimate assumed 12 crew hours and the floor took 14. Made up figures throughout, chosen to show the method rather than to describe any real job.
That is the whole exercise. Notice what it produced. Not "the job made money", which you already suspected. It gave you the specific reason it missed target. Two crew hours.
Do that on ten floors and the pattern stops being a story. If eight of them ran long on prep heavy slabs, you just found a pricing error you can fix this week.
Material is where the leak usually is
Labor overruns are visible. Somebody was there late. Material disappears quietly, and it is your second biggest cost.
Four ways it goes, all invisible without job level tracking.
- Waste. Mixed too much, mixed wrong, pot life ran out. Real and normal. The question is how much is normal for you.
- Over ordering. Material bought for a job, used partly, left in a corner, forgotten, bought again.
- Shelf life. Opened kits that go off. Cash written off with no journal entry anywhere.
- Walking off. Material that leaves a site in somebody’s truck. Uncomfortable, and it happens.
None of it shows up on a P&L in a usable form. The P&L shows total material spend for the month, and that number always looks roughly plausible. You find the leak by comparing material used per job against material estimated per job, which is exactly what inventory tracking tied to jobs does.
The byproduct worth more than the costing
Here is the part people do not expect. The most valuable output of job costing is not the margin figure. It is your daily rate.
After ten costed floors you know, with evidence, how many square feet your crew finishes in a day. On clean concrete. On normal slabs. On rough ones. That number feeds every quote you will ever write. Until you have measured it, you are guessing in the exact spot where your biggest cost lives.
It also makes your estimates self correcting. Each costed job updates the rate. The updated rate prices the next job better. That loop is the difference between a shop that prices well in year three and one still arguing with itself about whether the market got competitive. The price calculator takes daily rate as a direct input for that reason, and the guide on daily crew production covers how to set and hold it.
How to do it without it dying in week three
Every coating owner has started a job costing spreadsheet. Most of those spreadsheets have three jobs in them.
The reason is always the same. It needs somebody to retype numbers in the evening, and the evening is when you are quoting tomorrow’s work or asleep. The information already exists. It is on a delivery ticket, a timesheet, a text message and an invoice. The whole cost of job costing is the cost of pulling it together by hand.
So make the capture happen where the work happens.
- Material logged on the job, by the crew, on a phone. Not reconciled against a supplier statement three weeks later.
- Hours captured against the job, not against the week.
- Overhead applied automatically, as a percentage you set once.
- Margin visible on the job, not in a monthly export.
That is the core of what job costing and inventory software does for a coating shop. It is also the highest value system a growing shop can put in, well ahead of anything to do with scheduling. A calendar tells you where the crew is. Job costing tells you whether sending them there was worth it.
Margin on the job, not in a spreadsheet
CoatHQ captures material and crew hours as the job runs and lands them against the estimate automatically. So margin per floor is a number instead of a Sunday evening. Free to active Resinwerks partners. You buy the resin.
Get the software free with ResinwerksCoatHQ is free to active Resinwerks partners. You buy the resin. No subscription and no platform fee. Resinwerks makes its money on resin, not on software.
Common questions
What is job costing for a coating contractor?
Job costing means putting the real cost of a finished floor against what you invoiced for it. Material actually used, crew hours actually worked, and the job’s share of overhead. Then you know whether that one floor made money. A profit and loss statement cannot do that. It tells you the month was good or bad without telling you which jobs made it that way.
How is job costing different from my P&L?
A P&L works at company level, after the fact. It shows revenue, material spend and payroll for a period. So by the time a bad month shows up, you already quoted the next thirty floors the same way. Job costing works at the floor level, so a pricing error shows up after about ten jobs instead of after a year.
What should I track on each job?
Five things. Square feet coated, material actually used by product, crew hours by person, any job specific costs like rental or dump fees, and the invoiced amount including approved change orders. That is enough to give you cost, margin and a real daily rate. Anything beyond those five is refinement, and most shops are not yet doing the five.
How do I put overhead on a job?
The simplest method that works is overhead as a percentage of revenue. Last year’s overhead divided by last year’s revenue, applied to each job. Fancier methods exist and rarely change a decision at the size most coating shops run at. What matters is that overhead lands on the job at all. A job costed on material and labor alone always looks better than it is.
Is job costing worth it for a one truck shop?
Yes, and it is easiest to start then. With one truck a notebook works fine, and ten jobs of honest data tells you whether your daily rate and material estimates are right. That is the information you need before you hire anyone. Shops that wait until they are busy never start, because by then nobody has an evening free to retype anything.
About the figures above. The worked example uses round made up numbers to show the method. They are not market rates, not a typical job, and not a claim about what any shop earns.