Why Cin7 Manufactured Margins Are Wrong

A correct Cin7 BOM can still produce a wrong manufactured margin. See where cost timing breaks and how to trace the gap before it hits your P&L.

SYSTEMS AND SOFTWARE

Jaco Roets

8/28/20269 min read

Why Your Manufactured Margins Are Wrong in Cin7

Pierre Goldie, Co-founder & CGO @ Fiskal

Your manufactured item margins look healthy in Cin7. Cin7 and QuickBooks Online or Xero agree with each other. No sync errors. No reconciliation flags.

None of that confirms the margin is real.

A Bill of Materials can be built correctly at setup and still produce a wrong manufactured margin months later. In most cases, the BOM itself is not the problem. The timing of when costs enter the production sequence is. That distinction matters, because a team that spends a week rechecking BOM line items is auditing the wrong thing if the actual gap sits somewhere else in the chain.

This is also why the problem is easy to miss. Purchased and resold SKUs in the same Cin7 account can report correctly while manufactured SKUs quietly drift. Nothing about the sync looks broken. The number is simply wrong, and it stays wrong until someone manually corrects it at close.

Manufactured margins carry more risk than purchased goods margins for exactly this reason. A purchased SKU cost is a single number pulled from a purchase order. A manufactured SKU cost is an aggregate: raw materials, landed cost, labor, overhead, and packaging, assembled at a specific point in time. Every one of those inputs has its own timing, and each one is a place where the number can go quietly wrong without tripping any error.

TL;DR

  • A correctly built BOM can still produce a wrong manufactured margin, because Cin7 does not automatically recalculate Standard Cost when component prices change.

  • Labor, overhead, freight, duties, or co-manufacturer fees can bypass capitalization into the finished good if they post after production has already consumed the materials.

  • Cin7 finalizes inventory value the moment a production or assembly run completes or is authorized. It does not recalculate on an ongoing basis after that.

  • When an actual supplier invoice cost differs from the original purchase order cost, Cin7 attempts to update the downstream general ledger entry. An active period lock date blocks the update and throws a sync validation error. With no period lock date in place, Cin7 updates the historical transaction directly, and the past reporting period quietly shifts.

  • The result is understated COGS and overstated margin, specifically on manufactured SKUs, often invisible until month end or year end reconciliation.

  • The fix is a structured cost audit that traces the gap to its specific stage, not a manual BOM recheck.

How Do You Know If Your Cin7 Manufactured Margin Is Wrong?

Manufactured SKU margins look healthy while purchased or resold SKUs continue to report correctly. That contrast is exactly what hides the gap. If every category of inventory were drifting, someone would notice faster. Instead, one category looks fine and quietly reassures the team that the whole system is trustworthy.

Production and accounting reconcile manually every month instead of agreeing on their own. The margin looks fine in aggregate, but it has never been checked against synced COGS and inventory asset balances on the general ledger. That check, not the sync status, is what actually confirms accuracy.

If your team adjusts the same manufactured SKU margins at every month end close, the number was never confirmed in the first place. It was manually corrected, then reported as though it had been right all along. Pricing and sales incentive decisions get made on that number well before anyone cross checks it against the GL.

That is the real exposure. Not that the margin is off by some amount, but that decisions get built on top of it before anyone verifies it. A sales team can scale volume on a margin that looks strong, while the actual procurement, freight, and labor costs behind it run higher than the report shows.

The Root Cause Is Timing, Not Setup

Reframe the question. Instead of asking whether the BOM is wrong, ask where in the cost sequence an input was missed or delayed. Two separate mechanisms create this gap, and they behave differently enough that treating them as one problem leads to the wrong fix.

Standard Cost lag

Standard Cost, the field used for quoting and baseline demand planning, does not recalculate automatically when a component price shifts. Live transactions still evaluate cost allocation through the operational inventory path you use, whether that is FIFO, FEFO, or weighted average. The Standard Cost reference field itself stays static until a manual cost rollup is explicitly triggered. If nobody runs that rollup on the assemblies that depend on the changed component, every dependent Bill of Materials keeps quoting against the old number. This is the slow, steady version of the problem. It does not announce itself. It just accumulates.

Actual cost adjustment, governed by the period lock date

This mechanism is different, and it is the one most finance and operations teams do not know exists. When an actual supplier invoice cost differs from the original purchase order cost, Cin7 attempts to update the downstream general ledger entry to reflect the real number. Whether that update posts cleanly depends on one setting: whether a period lock date is active on the affected period.

If a period lock date is active, Cin7 is blocked from posting the update and throws a sync validation error on the integration log. That is a visible signal, but it still leaves an unresolved discrepancy between Cin7 and the general ledger until someone acts on it.

If no period lock date is active, Cin7 posts the update directly into the historical transaction. A period your finance team already closed and reported on shifts retroactively, without anyone approving that change or necessarily noticing it happened. This direction fails silently. The first does not.

A team that only checks for sync errors will catch the first case. It has no way of catching the second, because nothing fails visibly.

Costs like labor, overhead, freight, duties, or co-manufacturer fees compound both mechanisms further. If any of them post after production has already consumed the underlying materials, they can bypass capitalization into the finished good cost entirely, regardless of which timing mechanism is in play.

The practical difference is what to check first. A slow, unexplained margin drift points to a missed cost rollup on Standard Cost. A margin that changed on a period you already closed points to the period lock date setting and whether it was active when the actual cost posted.

The Cin7 Cost Capture Chain

Walk the actual sequence, because the failure point depends on exactly where a cost enters late or does not enter at all.

Raw Material Intake and Valuation, then Landed Cost Assignment, then BOM Component Allocation, then Production Run or Assembly Completion (Finished Good Cost Finalization), then COGS Recognition at Sale.

Physical stock valuation happens at the start, when raw materials enter the warehouse. When a production or assembly run completes, Cin7 does not generate a separate valuation event at that point. It rolls up the cumulative cost of every consumed component, plus labor and overhead, into the finished good unit cost the moment production finishes. That number is what gets carried forward into COGS recognition at sale.

Inventory value is locked in at the point a production run is authorized or completed. This is not configurable behavior. It is foundational to how Cin7 Core's ledger logic works, and it holds true across every plan tier. Standard, Pro, and Advanced tiers differ in which operational modules you can access, such as Simple Assemblies versus Advanced Manufacturing. They do not differ in how the underlying asset valuation and COGS timing logic behaves. If you are troubleshooting a margin gap, plan tier is not where to look.

A gap introduced early in this chain compounds through every stage that follows it. A miss at landed cost assignment or BOM allocation does not stay contained there. By the time the finished good reaches COGS recognition, the original miss is buried inside a number that looks final and reconciled.

Co-manufacturing arrangements carry a related but distinct version of this risk. Landed costs such as freight and duties, along with standalone external vendor bills, get capitalized through a manual Expense Allocation task. Co-manufacturer service fees follow a separate path: they can be embedded directly inside a production operation as a service line, which auto generates the linked service purchase order. Both are capitalized costs feeding the same finished good, but they enter through different mechanisms, and each is a separate place a cost can be missed.

Walking the chain this way gives production and finance a shared vocabulary. Instead of each side describing the problem as "the system is wrong" in its own terms, both teams can point to the same named stage, whether that is landed cost assignment, BOM allocation, or the period lock date behavior at actual cost adjustment. That shared reference point is what makes the gap something you can trace, rather than something you argue about.

The Patterns to Check in Your Own Setup

Four patterns show up most often. Qualifying language matters here. Any of these may indicate a gap. None of them confirm one on their own, and more than one can be present at the same time.

The first two patterns explain why a margin drifts slowly and predictably. BOM Cost Incompleteness is usually a setup gap that was never revisited once labor rates or packaging costs changed. Standard Cost Lag is a process gap: someone has to trigger the rollup, and if nobody owns that step, it does not happen.

The Retroactive Rewrite behaves differently, because it explains why a margin can change without warning, in either direction, well after the period already closed. It is also the pattern most likely to be mistaken for a system glitch, when it is actually period lock date policy working exactly as configured, just not as intended.

The Accrued Inventory Gap is not a fixed system limitation. Cin7 can pick up a lagging actual cost correctly if the Accrued Inventory setting is active, since that setting maps the Goods Received Not Invoiced accrual when the delayed invoice or labor entry finally posts. The gap only becomes permanent when Accrued Inventory is turned off, or when a period lock date closes the window before the lagging cost clears. Confirming which of those two conditions is present is the difference between a configuration fix and a genuine limitation.

Why This Feels Like the Systems Are Working

The false confidence here is not a mistake your team made. It is what the setup makes reasonable to believe, given what is visible day to day.

None of this means anything was configured wrong at the outset. It means agreement between two systems was mistaken for confirmation of accuracy. Those are not the same thing, and the distinction is exactly where a structured review earns its place over another manual BOM check.

What a Correct Cost Sequence Looks Like

Use this as the target state to audit toward, not a one time fix you complete and move on from.

Every raw material carries a fully allocated landed cost before it enters production, rather than an estimate that gets corrected after the fact. Every BOM includes lines for raw components, labor, packaging overhead, and defined wastage, not material cost alone. Accrued Inventory is active and correctly configured, so a delayed supplier invoice or labor entry still lands against the right production run instead of falling outside the closed cost. Production runs stay open until every component and service cost has cleared, including delayed invoices, rather than closing out on a partial cost picture the moment the physical run finishes.

Period lock date policy is applied deliberately, so your team knows in advance whether an actual cost adjustment will throw a sync validation error or silently update a closed period, instead of discovering the behavior after the fact. General ledger balances mirror the operational inventory values on an ongoing basis, not only at the moment someone forces a month end reconciliation.

None of this requires new software or a system migration. It requires a defined owner for cost rollups, a defined period lock date policy that production and finance both understand, and a recurring check that compares manufactured SKU margins against the GL on a schedule, rather than only when something looks off.

The Gap Is Diagnosable, Not Vague

The gap sits in cost timing: when an input entered the sequence relative to when the production run closed, and whether a period lock date allowed or blocked the correction afterward. That is the specific, checkable question, not a vague sense that something is off.

COGS can be understated and margin overstated specifically on manufactured SKUs, while purchased goods reporting continues to look correct. That contrast is what misdirects pricing and cash flow decisions, because the distortion hides behind a category of inventory that nobody is questioning. Sales volume can scale on a margin nobody has verified, while the true cost of procurement, freight, and labor runs higher underneath it.

There is an operational cost to this as well. Production teams end up defending a production run cost that finance later has to adjust, and that friction repeats every close cycle instead of getting resolved once. SKU level profitability reporting becomes unreliable specifically for manufactured items, while purchased goods reporting continues to look fine, which makes the manufactured gap even easier to overlook in a broader reporting review.

The gap tends to surface at month end or year end close, the moment it is hardest to explain to leadership, and the moment pricing decisions already made are hardest to unwind. A structured cost review traces the gap back to the specific stage where it was introduced, rather than starting from the assumption that the BOM itself is wrong.

Where the Gap in Your Manufactured Margin Actually Sits

If your manufactured product margins in Cin7 look strong but do not fully reconcile against your QuickBooks Online or Xero numbers, the gap is often in cost timing rather than BOM setup. A Fiskal Cin7 Core System Audit reviews where costs enter your production sequence, where they may be missed or delayed, and where your standard costs and period lock date policy should be reviewed together rather than treated as separate issues.

It will not resolve the difference on its own. It will show you where to look first, so the next fix is aimed at the actual stage where the cost was lost, not another pass through a BOM that was never the problem.

Need Support With Your Cin7 and Xero or QuickBooks Integration?

Learn how Fiskal supports post-go-live Cin7 and Xero or QuickBooks environments.

Where close stability, reconciliation clarity, and integration governance require structural alignment.

📞 Or call us directly: (954) 415-7895

Share on your socials.