Problem guide
Material costs never reach the job cost
Material costs miss the job when purchases and stock pulls are recorded without a job attached, so they land in general expense or get assigned weeks later by guesswork. Require a job on every purchase and every pull at the moment it happens, and review the unassigned pile every week.

What it usually looks like
A foreman runs short of conduit and fittings on a tenant build out and picks them up at the supply house on the company account. The receipt says the company name and nothing else. At month end the invoice arrives with thirty other purchases on it. The bookkeeper recognizes some by the address of the store and guesses the rest. This one goes to shop supplies. When the project closes, the job cost report shows material well under budget, and the estimator uses that job as a model for the next bid.
Signs you have this problem
- Job cost reports show little or no material on jobs that clearly used a lot
- A large general supplies or shop expense account grows every month
- Supply house receipts arrive with no job name or number on them
- Someone in accounting spends days at month end guessing which job a purchase belongs to
What usually causes it
- Receipts and invoices are coded to jobs by retyping in the office, long after the purchaseThe re-entry trap
- Crews buy and pull material in the field, and the job information stays with themThe field-to-office split
- Purchases that cannot be matched to a job pile up with no one assigned to resolve themThe exception swamp
What to try this week
- Size the unassigned pileLook at last month's material purchases and count how many were coded to a general account instead of a job. That share is your starting point.
- Trace a few finished jobsPick three finished jobs and list the material you know they used. Compare it to what the job cost report shows. The gap shows where material falls out.
- Put the job on the receiptAsk every supply house account to require a job name or number on each purchase, and ask crews to write it on any receipt that does not have one.
- Record stock pulls against a jobWhen material leaves the shop or warehouse for a job, write the job on a pull sheet. Even a clipboard by the door beats no record.
- Clear unassigned costs weeklyOnce a week, one person works the list of purchases with no job while the crews still remember. Month end is too late.
Where do-it-yourself stops
These steps get more material onto the right job and show how much is falling out. They still depend on someone retyping receipts and pull sheets into your accounting system and chasing the ones without a job. A lasting fix needs a tool built around your own jobs, suppliers and accounting system, so a purchase or pull carries its job from the moment it happens. That is what a Workflow Spec designs.
Questions people ask
Why do material costs never reach the job cost?
Because the job information is known in the field at the moment of purchase, and the cost is recorded in the office later, by someone who has to guess.
Can we just spread general supplies across jobs?
You can for small consumables. For anything that affects margin, spreading hides which jobs lost money and why.
Does this affect bidding?
Yes. If past jobs show too little material, future estimates will be too low. Fix job costs before trusting them for bids.
Who should assign costs to jobs?
The person buying knows the job best. The office should confirm and chase gaps, not guess from scratch.
How long before this improves?
Track the unassigned share each month. It should fall once crews put the job on every purchase and pull.