Actual vs Estimated Run Times in Business Central Production Orders

Comparing actual vs estimated run times in Microsoft Dynamics 365 Business Central means reading the expected time from the routing against the time posted to capacity ledger entries for the same production order, and Business Central provides both figures and a statistics report to compare them. The comparison is only as honest as the actual side, which is why shops that key time from paper travelers see variances they cannot explain. This article covers where the expected time and cost come from, where the actual comes from, how to read production order statistics, why the comparison collapses when time is entered by hand, and what Production Order Analysis adds when you need the picture across many orders at once.

Where does the estimated run time come from?

The estimated run time comes from the routing. Each routing operation carries four time fields, and Microsoft Learn’s routing page states that “Setup time is calculated per production order, whereas run time is calculated per produced item” in its routing documentation. When a production order for 200 pieces is created from a routing whose operation 10 has 30 minutes of setup and 1.5 minutes of run time per piece, the expected time on that production order routing line is 30 plus 300 minutes.

Expected cost follows from expected time. The work center or machine center carries a unit cost, and Business Central multiplies expected time by that rate to produce the expected capacity cost on the order. Microsoft Learn’s page on work centers and machine centers covers the capacity, costing and unit cost fields involved. For a planner, the useful point is that a wrong routing time produces a wrong expected cost and a wrong schedule at the same time; fixing the routing fixes both.

Where does the actual run time come from?

The actual run time comes from capacity ledger entries, which are posted when someone records operation time through the Production Journal, the Output Journal or a shop floor data capture tool. Microsoft Learn describes the entry as “a record of the time that was spent to produce the item” in its production order posting design details. Each entry carries the production order, the operation, the work or machine center, setup time, run time and quantity.

Actual cost then follows the same rule as expected cost: recorded time multiplied by the work or machine center rate. So the capacity ledger entry is the single source for both the time variance and the capacity cost variance on an operation. If the time in that entry is wrong, both variances are wrong.

There is a configuration edge case worth checking before trusting any variance. The Flushing Method field on the work center or machine center, per the Microsoft Learn work center page cited above, selects “whether manually or automatically calculate and post output at this work center.” With Manual, you “post time used, output, and scrap in the output journal or production journal”; with Backward, Business Central posts the output automatically when you finish the production order, with nobody recording time. An automatically posted operation reflects the routing’s expected values, so actual equals expected by construction and the report shows a zero time variance that means nothing. A shop that wants a real comparison needs Manual flushing on the operations it cares about, with time recorded from the floor.

How do I read production order statistics for expected vs actual?

Open the production order and run Production Order Statistics. Microsoft Learn describes the report: “The Production Order Statistics report shows a breakdown of all cost categories for a production order including material, capacity, subcontracting, and overheads,” and “The expected and actual costs show with a deviation percentage to illustrate the variance of actual vs. expected figures,” on the report page. The capacity line is where run time shows up, expressed as cost.

Two timing rules govern what you see.

  1. Before the order is finished, the actual figures reflect what has posted so far. Microsoft Learn notes that “You can also filter to check released production orders before they’re finished,” which is useful for catching an operation that has already consumed its full expected time with half the quantity still to run.
  2. After the order is finished, the variance is not final until cost adjustment has run. The design details page is explicit: “When the production order is set to Finished, you invoice the order by running the Adjust Cost-Item Entries batch job,” after which “The variances between the calculated standard costs and the actual production costs are calculated and posted.” The Automatic Cost Adjustment field on the Inventory Setup page decides how far back adjustment runs on posting; with the Never option, Microsoft Learn states that “Costs are not adjusted when you post,” so someone has to run that batch job before the number is trustworthy.

For time rather than cost, the Capacity Ledger Entries page filtered by production order number gives the recorded setup and run minutes per operation, which you compare to the Expected Capacity Need on the production order routing lines. That is a manual comparison for one order at a time, and it is fine when you are investigating one job.

Why does the comparison fail when time is entered by hand?

The comparison fails because hand-entered time is usually a copy of the estimate. A clerk posting an Output Journal at the end of the week, working from a traveler with no start and stop times, enters the routing time because it is the only number available. The capacity ledger entry then records the expected time as if it were actual, the variance reads zero, and the routing is never corrected.

Where times are written down, they are rounded, overlapping jobs are guessed at, and rework is folded into whatever operation was open. The variance that results is real, but it is a variance between two estimates. Barcode time capture at the work center is the fix, and it is a topic of its own; the article on shop floor time tracking in Business Central covers it. In short, Shop Floor Insight records setup and run time as the operator scans in and out of each operation, splits time across batched orders by rule, and posts approved time card lines as the capacity ledger entries this comparison depends on. The shop floor data capture for Business Central page describes the terminal workflow.

Once time is captured that way, the routing estimate becomes a hypothesis the shop tests every day, and the variance becomes something a production manager can act on.

What does Production Order Analysis add to the standard report?

Production Order Analysis adds a worksheet that compares actual against expected cost across many production orders at once, gives what its app page calls a “detailed view of material, labor, and subcontracting expenses,” and shows a sales margin where the order is linked to a sales order. Standard Business Central gives you the statistics report for one order; the worksheet gives you the same comparison for every order that finished last period, sortable by variance, in one place. The production order cost analysis for Business Central page describes the worksheet.

The margin column is the part standard Business Central does not offer. For a make-to-order shop, the production order is linked to the sales order that caused it, so the worksheet can set the actual cost against the sold price and show whether the job made money. Cost tells you what happened; margin tells you whether it mattered. The margin depends on that link, so a make-to-stock shop gets the cost comparison and reads margin elsewhere, because there is no linked sales order to take the price from.

Question Standard Business Central Production Order Analysis
Expected vs actual cost for one order Production Order Statistics report Same figures, in a worksheet row
Expected vs actual across many orders Run the report per order, or export One worksheet, filter and sort
Variance by material, labor, subcontracting Prod. Order Detailed Calc report per order Columns per category across orders
Sales margin against the linked sales order Not provided Calculated where the link exists
Operation time variance and standard deviation Capacity Ledger Entries page, manually Not in this app; see Routing Analysis
Timing On demand from posted entries On demand from posted entries

Two boundaries matter. Production Order Analysis reports on cost; it does not change standards, routing times or BOM quantities, and its figures are on demand from posted entries, so an order with unposted output shows an incomplete actual. It also does not analyze time variance per operation. That job belongs to Routing Analysis, which compares operation times on finished production orders against routing expected times, shows standard deviation per operation, and lets the routing time be corrected in place. The post on routing analysis in Business Central explains that side. Both apps are components of the Enhanced Planning Pack, and the app page carries current licensing for Production Order Analysis; the MRP for Business Central hub sets both apps in the wider planning context.

What should a shop do first?

Start with the routing times you doubt most, put manual flushing and captured time on those operations, and run Production Order Statistics on the next five finished orders. If the capacity variance is consistently in one direction, correct the routing and watch the next five. That loop, expected time challenged by recorded actual and then corrected, is what the comparison is for. Add the worksheet view when the number of orders makes one-at-a-time reporting impractical, and add the margin column when the sales side wants to know which configurations are worth quoting again.

FAQ

How do I compare estimated vs actual run times gathered from routings and shop floor capture? Run Production Order Statistics on the production order for the cost view with deviation percentages, or compare the Capacity Ledger Entries filtered by order against the Expected Capacity Need on the production order routing lines for minutes. Captured time from Shop Floor Insight posts into those same capacity ledger entries.

Why does my variance always show zero? Most often because the work or machine center uses an automatic flushing method, so output posts without anyone recording time, or because the clerk entering time copied the routing estimate. Switch the operation to Manual flushing and record time from the floor.

When is the production order variance final? After the order is set to Finished and the Adjust Cost-Item Entries batch job has run. Until then the figures reflect what has posted so far.

Does Business Central show actual vs expected cost without an app? Yes. Production Order Statistics, Prod. Order Detailed Calc and the Production Order WIP report all cover one order at a time. Production Order Analysis adds the multi-order worksheet and the sales margin.

Does Production Order Analysis show time variance per operation? No. It compares cost across material, labor and subcontracting. Operation time variance, including standard deviation per operation, is the job of Routing Analysis.