Cost Rollup
The Cost section on a Production Batch is the bottom line for everything that happened on that batch. It pulls together material cost, labor cost, service cost, and overhead — and divides by the quantity produced to give you cost per garment.
Get this right and you have honest cost data for pricing, brand reporting, and cost-margin analysis. Get it wrong (usually by misclassifying steps or skipping reconciliation) and your margins are decorative.
Where each number comes from
Material cost sums the actual issuances against the Batch from the Raw Material warehouse. Source: Stock Entries posted with the Batch as reference. If a Stock Entry is missing or mis-referenced, the material cost will understate or overstate accordingly.
Internal labor cost sums the Internal Batch Operation Steps, valuing them at the Cost per Minute set in Garment Manufacturing Settings multiplied by the actual minutes recorded against each step (from Operation Ledger Start/End deltas, or from Batch Card entries).
External service cost sums the External Steps. A subcontractor is a pure labour purchase in GarmentFlow's books — the operation ledger has already moved and consumed the material at the supplier's warehouse — so what lands here is the service fee, and nothing else.
Each External step declares a Cost Source (Blanket Order, Purchase Order or Purchase Invoice), a supplier and a service item. Until the buying document is submitted, the step carries its Estimated Cost as a placeholder: planned quantity × the negotiated rate.
Once the buying document is submitted, GarmentFlow writes Subcontract Cost Allocation rows — the bridge between one buying-document line and the many steps it pays for — and the step's Actual Cost becomes the sum of its allocations. Two properties matter:
- Always net. Allocations carry the buying line's net amount, never the gross. Input tax is recoverable and is not part of an operation's cost.
- Always live. Rows appear on submit and disappear on cancel, so a step is "billed" if and only if it has allocation rows. Cancel the invoice and the step drops back to its estimate.
For the whole chain — negotiated rates, billable quantity, the billing worksheet and the reconciliation reports — see Subcontracting.
GarmentFlow does not use ERPNext's goods-custody subcontracting. There is no Subcontracting Receipt in this flow, and no second inventory to reconcile.
Overhead (if you've configured allocation in Settings) gets added on top.
The sum is the Batch's total cost. Divided by the produced quantity (from the reconciled Size Plan), you get cost per garment.
Why a Batch's cost is more honest than the Tech Pack's
The Tech Pack Costs tab is a plan. The Production Batch Cost tab is reality. They're related — the Batch's BOM came from the Tech Pack — but they're not the same number.
A Tech Pack might cost a garment at $24.60. The Batch that actually produced 400 of those garments might cost them at $25.40 because the fabric came in 4% over the plan, or at $23.90 because subcontracted washing came in under the Blanket Order rate. The Batch number is the one that goes into your real margin reports.
Reconciliation moments
A few moments to know about:
- At Batch completion. When the Batch moves to Completed, the cost figures are sealed. Quantities reconcile against the Size Plan; variances flow into the cost-per-garment.
- When a late PI lands. A Purchase Invoice posted after Batch completion still updates the External Step's Actual Cost. The Batch's total cost can move slightly after the fact. This is intentional — you want the truth, not just the close-of-month snapshot. A daily reconcile job is the backstop, so a step's actual cost cannot drift silently if a posting hiccups.
- When Stock Entries are reposted. If a Stock Entry is amended (a quantity correction, for example), the Batch cost recalculates.
When cost data is missing
A step with no cost source — or an external step with no supplier, service item or estimated cost — can never produce an actual cost. The batch's rollup is then quietly incomplete, and so is the order's margin.
Two places catch it:
- The Operation Steps Needing Cost Data report, across every open order.
- The Cost column on the Finish Production Order readiness report, per batch, at the moment someone tries to close.
What to do next
That closes the Production Batch section. Head back to the Batch hub, or step over to Cutting and marker to see where the cut bundles come from in the first place.