New: role-based approval matrix and session-replay activity tracking are live. Read more

How to Allocate Machine Downtime Costs in ERP for Real Profit

Hidden machine downtime costs eat margins. This guide shows how to allocate them accurately in ERP, covering labor, energy, and maintenance.

Heavy-duty excavator in a snowy forest, ideal for winter construction themes.
Photo: Primitive Spaces via Pexels

What this covers

  • Downtime costs include labor, energy, and maintenance — track them per machine to avoid hidden losses.
  • Use ERP to split fixed costs (like depreciation) and variable costs (like energy spikes) by production line.
  • Reconcile downtime costs with actual output to spot inefficiencies before they hit the P&L.
  • Avoid over-allocating overheads by linking downtime to specific batches or orders.
  • Start with one machine or line, then expand to the whole plant once the method is proven.

Downtime costs are not just lost production — they distort your entire cost base

When a machine stops, the factory loses more than the hours it’s idle. Labour stands down, but their wages still run. Energy meters keep turning. Maintenance crews arrive, but their time is charged to the wrong jobs. Three months later, these costs seep into your overheads, inflating the cost of every good unit and hiding where the real waste is.

Most ERP systems let you log downtime, but they don’t tell you how to allocate the costs that follow. Without that, you’re left guessing which products carry the burden — or worse, spreading it thinly across everything, making every line look less profitable than it is.

Why spreadsheets and manual logs fail at downtime cost allocation

Factories often track downtime in spreadsheets or on paper logs. The problem isn’t the data collection — it’s what happens next. A typical log might record:

  • The machine stopped at 10:15 AM for a broken belt.
  • The repair took 45 minutes.
  • The operator was idle for the same time.

But where do those 45 minutes go in the accounts? Do they hit the overhead pool? Are they split between the products running on that machine? Without rules in the ERP, the answer is usually nowhere useful. The labour cost stays in payroll, the maintenance cost vanishes into a general ledger, and the energy bill gets divided by total floor space. By the time the month-end rolls around, you’ve lost the link between the downtime and the products it affected.

Facteno solves this by tying downtime events directly to the machines, shifts, and batches in production. When you log a stoppage, the system asks: Which order was running? Which batch was affected? Was this a planned maintenance window or an unplanned failure? Those answers determine where the costs go.

Start with the three cost drivers that move every time a machine stops

Downtime costs fall into three buckets: labour, energy, and maintenance. Each behaves differently, and each needs its own allocation logic.

Labour is the easiest to misallocate. If operators are paid hourly, their wages continue even when the machine is down. If they’re on piece rates, the lost output hits their earnings — but that loss isn’t always visible in the payroll system. Facteno’s HR and payroll module lets you flag idle time per shift and machine, then split the cost between:

  • The products that should have been made during the downtime.
  • The overhead pool, if the downtime was caused by a systemic issue (e.g., poor maintenance scheduling).

Energy is trickier. A stopped machine might still draw power — motors, cooling systems, and even idle screens consume electricity. Some factories allocate energy costs by floor area; others split them by machine runtime. Neither method works for downtime. Instead, use your ERP to log energy consumption per machine (via sub-meters or smart plugs) and assign the downtime-related usage to the affected batches. For example:

Illustration: Say your loom uses 5 kWh per hour when running, but 1.2 kWh when idle. If it stops for 2 hours during a 10-hour shift, those 2.4 kWh belong to the batches that didn’t get woven — not the whole production run.

Maintenance is where most factories lose the trail. A breakdown repair might cost $200, but was it caused by poor lubrication (a training issue), a worn part (a procurement issue), or operator error (a discipline issue)? Facteno’s purchase module lets you code maintenance costs by root cause, then allocate them to:

  • The specific machine (for depreciation impact).
  • The production line (if the downtime delayed orders).
  • The maintenance crew’s overhead (if the fault was preventable).

Depreciation isn’t a downtime cost — but it moves when machines stop

Depreciation is a fixed cost, but its allocation changes when machines aren’t running. If you spread depreciation evenly across all units produced, you’re overcharging the goods that did get made while the machine was down. The correct approach is to:

  1. Calculate the machine’s actual runtime per period (not calendar time).
  2. Divide depreciation by runtime hours, not total hours.
  3. Assign the depreciation cost to the batches produced during runtime.

For example, if a $50,000 machine has a 5-year life and runs 1,800 hours a year:

Illustration: Annual depreciation = $50,000 ÷ 5 = $10,000. Hourly rate = $10,000 ÷ 1,800 = $5.56 per hour. If the machine runs 1,500 hours in a quarter, only $8,330 of depreciation should be allocated to production ($5.56 × 1,500). The rest goes to overhead.

Facteno’s machine depreciation module automates this split, so you’re not left guessing how much of the $10,000 belongs to the products that actually left the factory.

Hidden costs: What your ERP won’t show unless you ask

Downtime costs aren’t just the obvious ones. Three months after a machine stops, you’ll find:

  • Lost sales. If the downtime delayed a customer order, the sales team may have offered a discount to keep the client. That discount isn’t logged in the production system — it’s buried in the sales ledger. Facteno’s sales module lets you link order delays to machine stoppages, so the true cost of downtime appears in the P&L.
  • Overtime to catch up. Operators may work extra hours to meet deadlines after a breakdown. Those hours aren’t “downtime” — they’re a direct result of it. Track them as a separate cost driver and allocate them to the batches that were rushed.
  • Scrap from rushed production. If operators speed up after downtime to meet schedules, scrap rates rise. That extra scrap isn’t logged as a downtime cost, but it’s a direct consequence. Facteno’s quality module lets you flag scrap spikes and tie them to preceding machine stoppages.

These costs don’t appear in standard downtime logs, but they add up. For a factory with a 3% scrap rate, even a 1% increase costs:

Illustration: Say your annual production is 100,000 units at $10 each. A 1% scrap rise means 1,000 extra units lost at $10 = $10,000. If that’s caused by rushed production after downtime, the $10,000 should be part of the downtime cost — not buried in overhead.

When to allocate downtime costs: The right time is not month-end

Most factories allocate costs at month-end, but downtime costs need to be assigned as they happen. Here’s why:

Cost Driver When It Actually Lands What Makes It Move
Labour (idle wages) Payroll run (next month) Shift patterns, piece-rate rules, overtime policies
Energy (idle consumption) Utility bill (next month) Sub-metering accuracy, machine power draw when stopped
Maintenance (repairs) Invoice received (1–4 weeks later) Supplier payment terms, internal labour rates
Depreciation (lost runtime) Annual accounting close Machine usage logs, calendar vs. runtime hours
Lost sales (discounts) Customer invoice (immediate or delayed) Sales team policies, contract penalties
Overtime (catch-up) Payroll run (next month) Labour scheduling rules, union agreements
Extra scrap Quality inspection (same or next shift) Operator pressure, machine settings after downtime

Facteno’s real-time costing engine lets you allocate these costs as they’re incurred, not as they’re paid. For example:

  • Log a machine stoppage in the production module, and the system flags idle labour costs to the affected batches.
  • Attach a maintenance invoice to the downtime event, and the cost is split between the machine’s depreciation and the production line’s overhead.
  • Link a quality inspection to a rushed batch, and the extra scrap cost appears under “downtime consequences” in the cost report.

What to do next week: Pick one machine and test the allocation

You don’t need to overhaul your entire costing system at once. Start with:

  1. One machine. Choose the one with the highest downtime incidents or the most expensive repairs.
  2. One cost driver. Begin with labour or maintenance — they’re easier to trace than energy or scrap.
  3. One batch. Pick a recent production run that was delayed by downtime and reallocate its costs manually (using spreadsheets if needed).
  4. Compare. Run a cost report with the old allocation and the new one. The difference is your hidden loss.
  5. Automate. Once you’ve proven the method works, move it into Facteno’s production module. Use the live demo to see how downtime events trigger cost allocations in real time.

If you’re using a different ERP, the principle is the same: log downtime with enough detail to split costs, then force the system to assign them to the right batches. If your software can’t do this, it’s not the right tool for your plant.

Frequently asked

What if our downtime is mostly planned maintenance?
Planned maintenance costs should be split between the machine’s depreciation (if it extends the machine’s life), the production line’s overhead (if scheduling was poor), and the affected batches (if delays occurred). Facteno’s production module lets you categorise maintenance as preventative or corrective to route costs accurately.
How do we handle energy costs if we don’t have sub-meters?
Estimate idle consumption using manufacturer specs for power draw when stopped. For example, if a loom uses 1.2 kWh/hour idle and stops for 2 hours daily, allocate 2.4 kWh/day to downtime. Multiply by your energy rate to get the daily cost, then distribute it across batches that missed production. This isn’t perfect but is better than floor-area allocation.
Can we allocate downtime costs retroactively if we didn’t log them at the time?
Yes, but it requires pulling production logs and maintenance invoices for the past three months, matching downtime events to batches using shift records, and creating a one-time journal entry in Facteno’s finance module. This won’t prevent future issues but provides a baseline for improvement.
What if our accountant says we can’t allocate costs this precisely?
Cost allocation is allowed as long as it’s consistent and defensible. Document your method—logging downtime with machine IDs, batch numbers, and root causes—and apply the same rules monthly. Facteno’s reports module includes audit trails to prove compliance.
How do we decide which products carry the downtime cost?
Use the ‘last batch rule’: assign costs to the most recent batch that should have run on the machine. For example, if Batch #452 was running when the machine stopped and Batch #453 was next, allocate the cost to #453. This ensures costs hit the products that lost production time.
See it working

Everything above is how Facteno actually behaves

Ask for demo access and we will walk you through a full plant with four months of documents, so you can check the numbers yourself.

Next step

See it running on a real plant, with your questions in the room

The demo carries four months of live documents — orders, batches, inspections, payroll and books that tie. Ask for access and we will walk your process through it.

Request demo access What the demo covers

One business day to reply. No card. No installation.
Or message us on WhatsApp +44 7348 614469 · [email protected]