Industry Trends

Where Manufacturing Costs Hide Between the ERP and the Shop Floor

Jetson Workforce
|
10 mins
October 23, 2026
Share on social media

What Goes Into the Cost of Making a Product

Manufacturing costs are all the expenses a plant incurs to turn raw materials into finished goods. They fall into three buckets. Direct materials are the ingredients, components, and packaging that become part of the product. Direct labor is the pay of the people who physically make it. Manufacturing overhead is every other production cost that cannot be traced to a single unit, from supervisors and sanitation crews to utilities and equipment depreciation. Add the three together and you have total manufacturing cost.

Selling, marketing, and administrative expenses sit outside that total. They are period costs, expensed in the month they happen rather than carried in inventory.

The arithmetic is simple. The hard part is that each bucket gets its inputs from two places that rarely agree. The ERP holds the routings, the bills of material, the standard rates, and the general ledger. The shop floor holds the punches, the crew moves, the production counts, and the changeovers as they happened. Every number in the formula passes through a handoff between those two records, and each handoff is a chance for a dollar to land in the wrong department, the wrong SKU, or the wrong month.

Those handoffs are where cost hides, and six of them are worth knowing by name. A controller who can see all six while the period is open can correct most of them before they harden into variances.

The Total Manufacturing Cost Formula With a Worked Example

The total manufacturing cost formula adds the three buckets for a single period.

Total manufacturing cost = direct materials + direct labor + manufacturing overhead

Direct materials usually equal beginning raw materials inventory plus purchases minus ending raw materials inventory, which gives you what was consumed. Direct labor is the wages, and typically the payroll taxes and benefits attached to them, for hours spent making product. Overhead is often applied through a predetermined rate per labor hour or machine hour, then trued up against actual spending at close.

Here is an illustration with round numbers. Say a plant consumes $1.2 million in direct materials in a month, pays $450,000 in direct labor, and incurs $650,000 in overhead. Total manufacturing cost is $2.3 million. If the plant produced 200,000 good units, each one carries $11.50 of cost. That last step, dividing by good output, is how you get to true cost per finished unit, the figure that pricing and margin decisions rest on.

One distinction trips people up. Total manufacturing cost counts what the plant spent on production in the period, whether or not the product was finished. Cost of goods manufactured adjusts for work in process, so it reflects only the goods completed.

Six Places the Floor Record and the ERP Stop Agreeing

Cost hides wherever the shop floor records one thing and the ERP books another. Neither system is wrong on its own terms. The time clock captures who was paid and when. The ERP captures what was planned, what was confirmed, and what was posted. The gap opens because the two were built to answer different questions.

That is how reported manufacturing costs end up accurate in total and wrong in the detail. The labor bill ties to payroll, yet the hours sit in the wrong departments. Materials tie to inventory, yet the consumption on each order came from a formula. Overhead ties to the ledger, yet a large share of it has no department or SKU attached. Each hiding place below moves cost between departments, products, or periods without changing the grand total, which is why it goes unnoticed until a line that ran well still misses budget.

Mid-Shift Cost Center Moves

A mid-shift move sends hours to a cost center that did not use them. Take an operator whose home department is packaging. She gets moved to sanitation at 11 a.m. because a changeover needs extra hands. The supervisor made the right call. The time system, though, still has her in packaging for the whole shift, so all eight hours post there.

Packaging now shows more labor than its output justifies. Sanitation looks under budget for work it performed. The variance appears in a department that did not incur it, while the department that did incur it gets credit it never earned.

The hours add up quickly. In this illustration, five people moved for four hours a day across a five-day week puts 100 hours in the wrong cost center before anyone reviews a report. Distribution centers and 3PLs see the same pattern when pickers shift from receiving to outbound during a surge and their hours stay with their home function.

Indirect Labor That Never Reaches a Work Order

Indirect labor hides when it is worked and paid but never attached to an order. Sanitation shifts, changeover crews, training sessions, safety meetings, and rework all consume paid hours. Few of them carry a work order number, so the hours fall into an overhead pool, or they get charged to whatever production order is open on the terminal.

Both outcomes bend the numbers. When indirect hours pool in overhead, nobody reconciles that pool until close, and by then the only question anyone can answer is how big it got. Overhead is applied to product at a budgeted rate, so the extra hours show up as under-absorbed overhead with no department or product attached. When indirect hours land on a production order instead, that order's direct labor inflates and its unit cost rises for reasons unrelated to how the product ran.

Rework is the most expensive version. The hours spent fixing a batch belong to the SKU that needed fixing. Left uncoded, they spread across everything the plant made that month.

Standards That No Longer Match the Line

A stale standard makes every variance against it measure the wrong thing. Picture a routing that says a line produces 40 units an hour. Since a SKU change eight months ago, the line has run 34. The ERP still costs every unit at the 40-unit rate, which puts standard labor per unit roughly 15 percent below what each unit takes, and inventory carries less cost than it took to make.

The floor knows the real rate. The ERP does not. So each month posts the same unfavorable labor efficiency variance, people learn to expect it, and the variance stops carrying information. If a new problem appears on that line, it lands inside a number everyone has already written off. The fix starts with putting the ERP routing and the demonstrated floor rate side by side.

Partial and Backflushed Work Orders

Backflushing records material consumption by formula instead of by count. When an order reports completion, the ERP multiplies the units by the bill of material and relieves that much from inventory. That assumes the line used exactly what the bill says.

Lines rarely do. Extra film gets threaded after a web break. A batch runs heavy on an ingredient. Scrap that never got declared stays inside the formula. The shortfall waits until a cycle count turns it into an adjustment, which usually posts to a variance or overhead account with no order attached.

Partial orders add a second gap. Material gets issued to an order that is half finished at month end, or output gets declared before the last material issue posts. Either way, the ERP's work-in-process balance and the floor's view of where that order stands disagree. That is the problem job costing software for manufacturing is built to solve, since true unit cost depends on what each order consumed rather than what the formula assumed.

Temp and Agency Hours Billed Outside the Time System

Agency labor hides because it arrives as an invoice rather than a punch. Many plants and warehouses badge temporary workers through the agency's own system or a paper sign-in sheet, so the hours never pass through the time clock that feeds the ERP. The invoice gets approved against a purchase order and coded to a single account, often overhead or a general labor line, instead of the departments and orders that used the people.

Two problems follow. One is matching. A published Jetson customer result shows the scale, with a staffing agency billing 1,240 hours against 1,150 actual employee punches, a 90-hour gap that surfaces only when someone compares the two records. The other is attribution. Even when the hours are right, the departments that leaned on temps look cheaper than they ran, and the SKUs those temps produced carry too little labor.

Fulfillment and distribution sites feel this most in peak season, when agency staff fill a large part of the floor.

The Timing Gap Between Floor and Ledger

The floor records continuously, and the ERP posts on a cycle. Punches happen every minute. Production counts update every shift. Labor posts to the ledger when payroll runs, weekly or every two weeks. Agency invoices post when someone approves them. Overhead gets applied and trued up at month end. Anything between those posting points is invisible to the ledger.

A mid-month look at the ERP therefore shows a mix of dates. Labor may be current through last Friday's payroll. Materials may be current through yesterday's backflush. Overhead may not be applied at all yet. Accruals bridge the gap at close, but an accrual is an estimate of something the floor already knows in detail.

This gap turns every other hiding place into a month-end discovery. A crew move from the second week does not surface until the variance report three weeks later, when nobody can easily reconstruct why the move happened. Your margin is decided daily and understood monthly. Close the gap.

How a Controller Ties the Two Sources During the Period

A controller ties the floor to the ERP during the period by matching records on a shared key, checking where people worked, coding indirect time when it happens, keeping standards current, and working a short exception list while the posting can still be corrected. The ERP stays the system of record throughout. The goal is for what flows into it to agree with the floor.

It also works best as a joint routine. Supervisors and plant leaders hold the context behind every exception, so reconciliation moves faster when they help resolve the list. Operations Finance supplies the dollar view, the floor supplies the reason, and the correction gets made once.

Give Every Hour a Common Key at Entry

Every hour needs a key that links the time record to the work order, captured when the hour is worked. In practice that means the work order number, or an indirect activity code when no order applies, attached at the punch or at the terminal when someone starts a job. Matching by date and department after the fact is how those 100 misplaced hours from the packaging example stay hidden.

Coding indirect labor at entry is part of the same habit. Sanitation, changeover, training, meetings, and rework each get their own code, chosen when the work starts rather than assigned at close from memory. Rework gets coded to the order or SKU that needed it. A short list of codes people use every shift will reconcile better than a long one nobody selects.

Once the key exists, the time file and the ERP's labor transactions join line by line, and every unmatched hour shows up the day it happens.

Validate Cost Centers Against Actual Deployment

Cost center assignment should come from where people worked rather than from where the HR master says they belong. The HR record holds a home department, which changes only with a permanent transfer. It does not change when a supervisor moves three operators to cover a line for the afternoon.

The check is daily and simple in concept. Compare hours by cost center against the crew each area ran, using transfer punches, line sign-ins, or the production system's crew records. Where hours and deployment disagree, ask the supervisor what happened. They usually know in seconds, and the correction posts before the hours harden into a variance.

Over time, the pattern of moves tells Finance something useful too. A department that lends people out every week may be budgeted for a mix it no longer runs. That becomes a planning conversation with Operations, with both sides looking at the same hours.

Review Standards on a Fixed Cadence

Standards stay trustworthy when someone compares them to demonstrated rates on a schedule. A quarterly review is a sensible default, plus a review triggered by any SKU change, line rebuild, or packaging change. Pull the trailing rate the line has run, set it beside the routing, and flag anything outside an agreed tolerance for Operations and engineering to confirm.

Timing the update matters for Finance. Changing a standard revalues inventory and resets the baseline for every variance that follows, so it usually makes sense to batch changes into a planned cost roll rather than editing routings mid-month. The point of the cadence is that a 40-versus-34 gap gets caught in its first quarter instead of its eighth month. For the tradeoffs between holding a standard and costing from live data, see how standard costing and real-time costing compare.

Surface Exceptions While the Period Is Still Open

An exception list worked weekly, or daily at a high-volume site, is what lets reconciliation change the period while it is still running. The list stays short and specific. It flags hours with no work order or indirect code, hours in a cost center that produced nothing, agency hours billed without matching punches, orders with material issued and no output declared, and lines running outside tolerance against standard.

Each item gets a dollar value and a person to ask, and most clear with a single question to the floor. Speed is what pays. An unmatched agency hour or a misposted crew move found on a Wednesday can be fixed before payroll runs, while the same item found at close can only be explained.

Clean, attributed numbers also make the next decision easier. A manufacturing cost reduction plan built on reconciled data goes after cost in the department and SKU that actually incurred it.

Where Jetson Fits Alongside the ERP

Jetson, an AI-Native Controllership platform built for Finance in manufacturing and supply chain, keeps a continuously reconciled view of what operations cost right beside the ERP. It connects to ERP and financial systems such as SAP, Microsoft Dynamics 365, and Infor, to payroll and time systems such as ADP, UKG, and Paylocity, and to shop-floor data from Redzone.

The hiding places above map to two of its capabilities. Reconcile matches labor, production, schedules, standards, and other operating records across those systems, rebuilding missing or unreliable records and resolving conflicting signals, so a mid-shift move or an unmatched agency hour shows up as an exception while the period is open. Attribute assigns labor, materials, and overhead to the departments, work areas, and SKUs that incurred them, so manufacturing costs can be compared against standard and budget at the level where they happened.

The ERP remains the system of record, and Jetson's write-back carries corrected cost center assignments and verified hours into it before close. Finance gets numbers it can explain, and Operations gets the same view with the floor context attached.

Keeping the Floor and the Ledger in Step

Every hiding place here is ordinary. Crews move, sanitation runs, agencies invoice, and payroll posts on its own calendar. None of that needs to stop. Finance just needs to see it while the period is still open. Jetson reconciles the floor record with the ERP continuously and attributes each cost to the department and SKU that incurred it, so the total manufacturing cost formula runs on numbers that already agree. Request a demo to see it on your own data.

Frequently Asked Questions

What Is the Total Manufacturing Cost Formula?

Total manufacturing cost equals direct materials plus direct labor plus manufacturing overhead for a given period. Direct materials are the inputs consumed, direct labor is pay for hours spent making product, and overhead covers indirect production costs such as supervision, sanitation, utilities, and equipment depreciation. Divide the total by good units produced to get cost per unit. The result is only as accurate as the records feeding each bucket.

How Is Total Manufacturing Cost Different From Cost of Goods Manufactured?

Total manufacturing cost is everything a plant spent on production in a period, finished or not. Cost of goods manufactured counts only what was completed. To calculate it, add beginning work-in-process inventory to total manufacturing cost, then subtract ending work-in-process inventory. When a lot of work sits half finished at month end, the two figures can differ by a wide margin.

Is Indirect Labor Part of Direct Labor or Overhead?

Indirect labor belongs in manufacturing overhead. It covers paid work that supports production without tracing to a specific unit, such as sanitation, dedicated changeover crews, maintenance, training, and supervision. Trouble starts when indirect hours get charged to whatever production order is open, which inflates that order's direct labor, or when they pool in overhead uncoded, which leaves no way to tie manufacturing costs back to the work that caused them.

Does Jetson Work Alongside an Existing ERP?

Yes. Jetson extends the ERP, which stays the system of record. It connects to ERP, payroll, and shop-floor systems, reconciles floor records against ERP and payroll data during the period, and attributes each cost to the department and SKU that incurred it. Jetson can also write trusted operational data back into the ERP, so corrected hours and cost center assignments reach the ledger before close.

‍

‍

Share on social media