← Back to Blog

Your ERP Can't Track Material (And It Was Never Designed To)

6 min readRunBlu

Last updated: June 6, 2026

Key Facts

  • ERPs track financial transactions: POs, invoices, journal entries
  • None of them track the physical state or location of material
  • The gap between "what we paid for" and "where it physically is" costs contractors 15–30% of material value annually
  • Material control is not an ERP feature — it's a separate discipline
  • RunBlu doesn't replace your ERP. It fills the gap your ERP can't

The question that breaks every ERP

Ask your ERP this question: "How many feet of 1-inch EMT conduit do we have in the yard right now, and is any of it allocated to a job?"

It can't answer. Not because it's a bad system. Because it was never designed to.

Your ERP knows you purchased 2,000 feet of 1-inch EMT on PO #4471 three months ago. It knows the invoice was $3,840. It knows which job it was coded to. It might even know it was received.

But it doesn't know how much is left. It doesn't know if it's in Bay 3 or on Truck 12 or at the Granville job site. It doesn't know if 400 feet were transferred to a different job last week. It doesn't know if the rest is allocated or available.

That's not a bug. That's the boundary of what financial software does.

What your ERP actually tracks

ERPs — Sage, QuickBooks, Viewpoint, Procore's financial modules — are built around the accounting cycle:

Purchase OrdersReceiptsInvoicesJob CostingGL Entries

Every step is a financial transaction. The PO commits budget. The receipt confirms delivery. The invoice triggers payment. The job cost entry allocates expense. The GL entry balances the books.

This is excellent for answering financial questions: What did we spend? On which jobs? Are we over budget? What do we owe vendors?

But notice what's missing: the material itself. After "receipt confirms delivery," the ERP stops caring about the physical material. It landed at the yard. The financial transaction is complete. Everything after that — storage, movement, allocation, transfer, installation, surplus — happens outside the ERP's awareness.

The gap where money disappears

Between "received at yard" and "installed on job," material goes through a series of physical state changes that your ERP doesn't see:

  • Stored — placed in a specific yard location
  • Allocated — claimed for a specific job
  • Transferred — moved between yards, onto trucks, or to job sites
  • On site — arrived at the job and ready for installation
  • Installed — permanently placed and no longer inventory
  • Surplus — left over after job completion, available for reuse
  • Returned — sent back to vendor within the return window

Your ERP sees the first event (received) and sometimes the last event (installed, if someone bothers to close the loop in job costing). Everything in between is a black hole.

That black hole is where 15–30% of your material value disappears annually.

Why your ERP vendor won't fix this

This isn't a feature request. It's a fundamentally different data model.

ERPs are built around transactions — discrete events with a dollar value. Material control is built around state — the continuous, real-time condition and location of a physical object.

A transaction happens once: you bought it, you received it, you paid for it. Done. State is ongoing: this conduit is in Bay 3, allocated to Job 2247, and has been sitting there for 6 weeks.

ERPs are optimized for batch processing: run payroll, close the month, reconcile accounts. Material control requires real-time awareness: what do we have right now, where is it right now, and who is it for right now.

These are architecturally different problems. Bolting material tracking onto an ERP is like bolting GPS navigation onto a calculator. They both use numbers, but they solve different problems.

The real cost of the gap

When purchasing can't see what's in the yard, they order more. When PMs can't see what's allocated, they request buffers. When field crews can't see what's on the truck, they call the office. When nobody tracks surplus, it depreciates in place.

Each of these behaviors has a dollar cost:

| Behavior | Cause | Typical Cost | |----------|-------|-------------| | Duplicate purchasing | Can't see current stock levels | 8–15% of material spend | | Buffer ordering | Don't trust allocated quantities | 5–10% of material spend | | Field delays | Can't verify material in transit | 2–4 hours/week per PM | | Surplus depreciation | No visibility into post-job material | 3–8% of inventory value/year | | Emergency orders | Material exists but can't be found | 15–30% premium per order |

For a $20M contractor with $3M in annual material spend, these behaviors add up to $300K–$600K in avoidable cost. Every year.

What a material control layer does

A material control layer sits alongside your ERP — not inside it and not replacing it. Your ERP keeps doing what it does well: financial tracking, job costing, accounts payable. The material control layer handles what the ERP can't: physical tracking, state management, and real-time visibility.

They connect at the boundaries: POs from the ERP trigger receiving workflows in the material layer. Material usage in the field feeds back into job costing. Inventory values reconcile between the two systems.

But the material layer owns the physical truth: where is this material, what state is it in, and who is it for? That's the question your team asks fifty times a day — and the one your ERP was never built to answer.

The honest assessment

If your ERP is Sage, keep Sage. If it's QuickBooks, keep QuickBooks. If it's Procore, keep Procore. They're good at what they do.

But stop expecting them to track material. They can't, and they won't. The gap between financial tracking and physical tracking is where your money goes. Fill the gap, and the bleeding stops.

Run a free Bleed Audit to see how much the gap is costing you.


Related reading

Stop guessing. Start tracking.

See how much material value your company is losing — and how RunBlu recovers it.