
Contractor Consumables: Stop Lumping Them Into Overhead
Your Consumables Are in the Wrong Bucket — And It's Breaking Your Per-Task Pricing
You just closed a sandblasting job.
Labor was clean. Crew hit the hours. Overhead was covered.
But the margin came in 4 points short of where you bid it. You've been through the numbers twice. Nothing obvious is wrong.
Here's what happened. The blast media you consumed over 80 hours of blasting — around $110 per blasting hour in garnet costs based on what your operation actually spent — was sitting in your overhead pool. Not charged to sandblasting. Charged to everything. Every hour of every task on every job, carrying a slice of blast media cost that most of those tasks never consumed.
So your sandblasting rate looked cheaper than it was. You bid it accordingly. And the job absorbed the gap.

Task-specific consumable burden is the per-hour cost of materials consumed only during a specific task — blast media during blasting, welding rods and shielding gas during welding, grinder disks during cutting — expressed as a dollar rate per hour of that task and applied exclusively to hours where that task is active. It is Layer 4 of the True Cost Baseline. For the trades where it applies, it runs between $1.50 and $500+ per task hour — and almost no contractor has it in the right place.
What Task-Specific Consumables Are — and Why the Default Classification Is Wrong
Before you can fix the allocation, you need to be precise about what these costs are.
There are three categories of cost in a project-based business, and the distinction matters:
True overhead — costs that run regardless of what task is active. Rent, insurance, admin salaries, vehicles, software. These belong in the overhead pool and are correctly spread across all billable hours.
Job-specific direct materials — materials purchased for one job and fully allocated to it. The steel plate, the pipe, the substrate being coated. These are estimated by job and charged directly.
Task-specific consumables — materials consumed at a known rate per hour whenever a specific task is active, that don't exist as a job-line-item. Blast media. Welding rods. Shielding gas. Grinder disks and cutting wheels. Paint thinner. Drill bits. These are consumed by the task — not the job, not the company. They have a calculable cost per task hour. And they should be allocated exclusively to the hours that consume them.
The construction industry's default classification puts task-specific consumables into the overhead pool because they're "difficult to track." That difficulty is real. But the solution isn't to spread them everywhere — it's to calculate the rate per task hour once, and apply it every time that task runs.
The Trades Where This Problem Is Largest
Every trade has consumables, but the cost spread is highest where consumption per hour is significant:
- Abrasive blasting — blast media (steel grit, garnet, crushed glass, coal slag) consumed at 40–200+ pounds per hour depending on equipment and profile specification
- Welding and fabrication — welding rods, wire, and shielding gas (argon, CO2, mixed gas) consumed continuously during arc-on time
- Grinding and cutting — Type 27 grinder disks, cutting wheels, and flap disks with a measurable lifespan per hour of use
- Industrial painting and coating — thinner, roller covers, masking materials, brush expendables per coat applied
- HVAC and mechanical — refrigerant, solder, flux, and thread seal consumed per connection made
- Concrete and core drilling — diamond blades and carbide bits with a calculable cost per hour of use
In every one of these trades, the consumable cost per active task hour is significant — and currently sitting in the wrong bucket for most operations.
The Two Pricing Errors That Happen Simultaneously When You Lump Consumables Into Overhead
This is the part most contractors don't see until the math is laid out in front of them.
When task-specific consumables go into general overhead and get spread across all hours, you don't get one pricing error. You get two — in opposite directions — at the same time.
Here's what that looks like with real numbers.
A fabrication and industrial services job has three task types:

- 80 hours of abrasive blasting
- 60 hours of structural welding
- 40 hours of surface grinding
Consumable costs for those tasks:
- Blast media: $110/hr (what this operation actually spent on garnet divided by blasting hours)
- Welding consumables: $14/hr (rods at $5.25/hr + shielding gas at $8.75/hr)
- Grinding disks: $1.50/hr
Total consumable cost for the job: $8,800 + $840 + $60 = $9,700
The overhead-spreading approach (current industry default):
Total task hours: 180. Total consumable cost: $9,700.
Consumable rate spread: $9,700 ÷ 180 = $54/hr applied to all tasks.
What that does to each task:
- Sandblasting carries $54/hr instead of $110/hr — understated by $56/hr
- Welding carries $54/hr instead of $14/hr — overstated by $40/hr
- Grinding carries $54/hr instead of $1.50/hr — overstated by $52.50/hr
Your sandblasting rate is bid too low by $56 per hour. On 80 hours, that's $4,480 of unrecovered consumable cost on a single job scope. And your welding and grinding rates are inflated by consumables they never consumed, making those scopes look more expensive than they are when you price them against competitors.
You are simultaneously underbidding your highest-consumable tasks and overbidding your lowest.
That's not a rounding error. That's a structural pricing error that runs on every job you estimate using a spread-overhead approach.
What This Looks Like at the Annual Scale

Most fabrication, blasting, painting, or mechanical contractors don't run one job at a time. They're running multiple scopes, multiple crews, multiple task types across the year.
If your sandblasting rate is understated by $56/hr and you run 1,200 sandblasting hours per year, that's $67,200 in unrecovered consumable cost annually — not because your blast media invoices are wrong, but because the cost is sitting in the overhead pool where it gets diluted across every other task you run.
On a 14.8% average gross margin (CFMA 2024), there's no room for a $67,200 annual consumable misallocation.
How to Calculate Your Task-Specific Consumable Rate Per Hour
This calculation takes about 30 minutes per task type the first time. Once it's set, it runs automatically.
Step 1 — Identify Which Consumables Belong to Which Task
Start with your three highest-consumption task types. For each task, list every consumable that is consumed only when that task is active.

The test: if the task isn't running, is this consumable being consumed? If no — it belongs to that task, not to overhead.
Blast media isn't consumed when you're welding. Welding gas isn't consumed when you're grinding. These are task-specific.
Step 2 — Calculate the Cost Per Hour for Each Consumable
For each consumable, you need two numbers: cost per unit and consumption rate per hour.
Abrasive blasting example:
- Pull last month's blast media invoices: total spent on garnet, other media, trucking, environmental fee etc.
- Pull last month's total blasting hours from your time records
- Divide: $8,800 spent ÷ 80 blasting hours = $110/hr
That's your blast media rate per blasting hour — derived from your actual books, not an engineering formula. It automatically captures your specific media type, equipment, job conditions, and usage patterns. Recalculate it every few months or whenever your media cost changes significantly.
Structural welding example:
- 7018 rod at $3.50/lb, consumption rate 1.5 lbs/hr: $5.25/hr
- Shielding gas (75/25 Ar/CO2) at $0.35/cu ft, 25 cu ft/hr: $8.75/hr
- Total welding consumable cost per hour: $14.00/hr
Surface grinding example:
- 4.5" Type 27 grinding disk at $3.00 each
- Lifespan: 2 hours per disk in typical structural steel grinding
- Disk cost per grinding hour: $1.50/hr
Add your consumables for each task type, total them, and that's your task-specific consumable rate per hour for that task.
Step 3 — Remove These Costs From Your Overhead Pool
Once you've calculated the per-task rate, pull the corresponding annual cost out of your overhead total. If blast media costs you $96,000/year and you run 800 blasting hours, that $96,000 should come out of overhead and be applied as $120/hr on blasting tasks only.
Your overhead rate per hour — already calculated from your books per the method in the [overhead rate calculation post](/construction-overhead-rate-calculation) — will decrease. Your task-specific consumable rates will carry that cost load, but only on the tasks that belong to them.
The result: every task in your cost system carries only the costs it actually produces.
How ProjectWatchPRO Applies This Automatically at Clock-In
Calculating the consumable rate is a 30-minute exercise. Applying it manually every time a task runs is where most contractors lose the discipline.
This is where the system does the work.
In ProjectWatchPRO, every task type has a cost profile. That profile includes:
- The task name (e.g., "Abrasive Blasting — SA2.5 Profile")
- The labor cost rate
- The overhead burden rate
- The task-specific consumable rate — the number you just calculated
When a field worker clocks into that task, the system starts accumulating all four cost layers simultaneously — in real time, against the active job.
A blaster clocking into "Abrasive Blasting" at 7:00 AM is automatically accumulating:
- Labor cost (base wage × time on clock)
- Labor burden (taxes, WC, benefits × time)
- Overhead burden (your overhead rate × time)
- Task-specific consumable burden ($110/hr × time on task)
The accumulation runs by the second. By 3:00 PM — 8 hours on the task — the job cost report shows $880 in blast media cost already recorded. Not estimated. Not reconciled at month-end. Recorded, against the blasting task, in the same moment the media was being consumed.
No manual consumable tracking. No month-end reconciliation. No spreadsheet where someone goes back and tries to allocate what was used where.
The rate is set once. The system applies it every time anyone clocks into that task — on any job, with any crew, going forward.
That's what task-level cost intelligence looks like in practice: the consumable cost is captured the moment the task starts, so by the time the task closes, the full true cost is already in the numbers.
Where Task-Specific Burden Fits in the True Cost Baseline
If you've built your True Cost Baseline from the [labor burden calculation](/true-labor-cost-contractors) and the [overhead rate calculation](/construction-overhead-rate-calculation), task-specific consumable burden is Layer 4 — the next number that has to be in your cost stack.

Layer 4 is what makes task-level pricing accurate. Without it, your overhead burden is inflated by consumable costs that don't belong there, and your task rates are wrong in both directions.
For a sandblaster, Layer 4 may be $120/hr when sandblasting. For an inspector with no consumables, Layer 4 is $0 when inspecting. Treating them identically through an overhead pool is where the margin goes.
The full True Cost Baseline — all six layers — is what gives you a charge-out rate that actually covers what a task costs to run. Everything else is a guess that compounds on every bid.
Key Takeaways
- Task-specific consumables — blast media, welding rods and gas, grinder disks, drill bits — are not overhead. They are direct costs consumed at a known rate per hour during a specific task.
- Lumping them into overhead creates two pricing errors simultaneously: tasks that consume them are undercosted; tasks that don't are overcosted. Both corrupt your charge-out rates.
- The fix is a per-task consumable rate: identify which consumables belong to which task, calculate cost per unit × consumption rate per hour, and apply that rate only to the task hours that consume it.
- For a fabrication job with 80 hours of blasting at $110/hr in blast media: the overhead-spreading approach understates the blasting rate by $56/hr. On 1,200 annual blasting hours, that's $67,200 in unrecovered consumable cost per year.
- Once the rate is set, ProjectWatchPRO applies it automatically at clock-in — the moment a field worker clocks into a sandblasting task, the system starts accumulating blast media cost in real time against that task, by the second, with no manual tracking required.
- Task-specific burden is Layer 4 of the True Cost Baseline — the layer that differentiates cost by task type, not just by job or by hour.
- For most trades, this is the last major untracked cost layer. Labor burden and overhead burden are covered in earlier posts. Task-specific burden is what makes per-task pricing accurate.
Frequently Asked Questions
Q: Should consumables be overhead or direct cost in construction job costing?
Task-specific consumables — materials consumed only when a specific task is active, at a calculable rate per hour — should be treated as direct costs allocated to that task, not as overhead spread across all hours. Overhead is for costs that run regardless of task. Consumables that only run during sandblasting, welding, or grinding belong to those tasks exclusively.
Q: How do you calculate consumable cost per hour for sandblasting?
Pull your blast media invoices for the last month and divide the total spent by your total blasting hours for the same period. If you spent $8,800 on garnet across 80 blasting hours, your rate is $110/hr. This approach captures your actual media type, equipment, and usage patterns automatically — no technical formulas required. Recalculate quarterly or whenever media costs shift.
Q: How do contractors price welding consumables into jobs?
Calculate rod cost per hour (rod cost per pound × pounds consumed per hour), shielding gas cost per hour (cost per cubic foot × cubic feet per hour), and any other consumables. A structural welding task running 7018 rod at $3.50/lb, 1.5 lbs/hr, plus 75/25 shielding gas at $0.35/cu ft, 25 cu ft/hr, carries $14/hr in welding consumables. Apply this rate to welding hours only — not to grinding, blasting, or any other task.
Q: What is task-specific burden in construction job costing?
Task-specific burden is the per-hour cost of consumables consumed only during a specific task, expressed as a dollar rate and applied exclusively to the hours where that task is active. It is Layer 4 of the True Cost Baseline — above overhead burden and below shift differential. For tasks with significant consumable costs like blasting or welding, it can be the largest single cost layer above base wage.
Q: How do you track consumable costs by task without manual reconciliation?
Set the consumable rate per task type once — based on your calculated cost per hour for that task's consumables. Then apply that rate automatically at clock-in. In ProjectWatchPRO, every task type carries its consumable rate as part of the task cost profile. When a worker clocks into a task, the system accumulates the consumable cost in real time alongside labor and burden — no manual tracking, no month-end reconciliation, no estimated allocation after the fact.
Fix the Bucket Before You Fix the Bid
You can spend hours getting your labor burden right and your overhead rate right — and still have structurally wrong task pricing because the consumable costs are in the wrong place.
The calculation to fix it takes about 30 minutes per task type.
Start with your True Cost Baseline at truelaborcost.site — the full 6-layer stack including Layer 4 Task-Specific Burden. Enter your consumable rate for each task type and see what your true cost per task hour actually is.
Most contractors who run this find their highest-consumable tasks are priced $40–$110+/hr below their true cost — not because they missed the labor or the overhead, but because the blast media and the welding gas were sitting in the wrong bucket.
Once you have the right number, ProjectWatchPRO applies it the moment anyone clocks in — so the consumable cost is in the job report before the task is even finished.
→ Build Your True Cost Baseline at truelaborcost.site

