Reconcile factory inventory and WIP at the financial cutoff
For finance, costing and accounts teams · Compare approaches
TL;DR — what you’ll learn
- Reconcile month-end factory inventory and Work-in-Progress (WIP) by aligning physical event timestamps (gate arrival, shop-floor issue, job completion, dispatch) against ERP ledger posting dates across raw materials, shop-floor WIP, finished goods, and external subcontract/custody locations.
- Never close the period by forcing a plug journal or silently backdating late stock entries without an explicit Cutoff Bridge Schedule that separates timing mismatches from genuine physical shortages.
- Enforce a four-boundary cutoff check at the financial close timestamp (23:59:59 on the cutoff date): (1) goods at the receiving dock vs posted GRNs/AP (S18), (2) raw materials issued to the floor vs unbackflushed WIP (M011), (3) finished assemblies in dispatch vs posted deliveries, and (4) stock at external job-workers or customer custody (S02, S24, M018).
- Keep any unresolved quantity or valuation discrepancy in a named, dated reconciliation register with an accountable owner rather than overwriting historical transaction timestamps.

Illustrative manufacturing inspection room and machine shop floor; not a client facility.
Why physical counts and general-ledger values disagree at month end
In machinery and process manufacturing plants running across multiple shifts, physical material movement rarely pauses cleanly at 23:59:59 on the last day of the month. When the Finance Controller compares the month-end physical/cycle-count valuation (M020) and open WIP ledger (M071) against the general ledger (GL) control accounts on Day +2, large variances appear across raw material, WIP, and subcontract stock—even when not a single component was stolen or lost.
Four cutoff timing mismatches cause the vast majority of month-end factory reconciliation errors:
- Late subcontract or purchase receipts (
Physical_Event_Date ≤ Cutoff below Posting_Date): A lorry carrying machined castings from a subcontractor (S02) arrives at the factory gate at21:40on 31 October and is unloaded into the inspection bay (counted in physical stock), but the stores clerk posts the ERP subcontract receipt and material consumption at09:30on 1 November. On 31 October at midnight, the ERP still shows the raw forgings sitting at the subcontractor warehouse and0finished castings in the plant. - Issued to shop floor but unbackflushed in WIP (
M011): Stores physically hands over 40 steel plates to fabrication on 30 October, or an operator finishes a batch at22:30on 31 October, but the production order backflush is posted on 1 November—leaving raw material overstated or WIP understated at cutoff. - Unsegregated customer-owned or vendor consignment stock (
S24,M018): Physical floor counts include free-issue customer motors or vendor-managed fasteners that rightly carry₹0.00value on the company's balance sheet. - GRN/IR price and quantity cutoff mismatches (
S18): Goods are received before cutoff without a matched vendor invoice, or an invoice is posted in October for goods that physically cross the gate on 1 November.
Direct answer: A reliable month-end inventory and WIP cutoff workflow locks a precise Cutoff Timestamp, captures both Physical_Event_Timestamp and Ledger_Posting_Timestamp on every boundary transaction, reconciles raw, WIP, finished, and external/custody stock through an explicit Quantity and Valuation Cutoff Bridge, and resolves timing gaps through authorised cutoff journals or controlled period postings—never by erasing audit timestamps or lumping timing differences into unexplained stock write-offs.
As documented in ERPNext outward subcontracting and ERPNext inward customer-stock workflows, external processor stock and customer-provided stock follow distinct warehouse and consumption transitions. Meanwhile, Microsoft Dynamics 365 accounts payable invoice matching governs the reconciliation between product receipts and vendor invoices. All cutoff recognition rules, accrual reversals, and period-reopening authorities must follow your company's approved accounting policy and external audit requirements.
Month-End Factory Inventory & WIP Cutoff Reconciliation Workflow
Follow the workflow below, or open its complete text version.
Read the complete workflow as text
- Publish Month-End Cutoff Timestamp (e.g., 31 Oct 23:59:59)... → Extract Unadjusted ERP Subledgers (Raw, WIP, Finished, Subc...
- Extract Unadjusted ERP Subledgers (Raw, WIP, Finished, Subc... → Compile Physical Count & Boundary Event Logs (Gate Pass, Un...
- Compile Physical Count & Boundary Event Logs (Gate Pass, Un... → Exclude Non-Owned Customer & Consignment Stock from Valued...
- Exclude Non-Owned Customer & Consignment Stock from Valued... → Match Boundary Events: Compare Physical_Event_Timestamp vs...
- Match Boundary Events: Compare Physical_Event_Timestamp vs... → Classify in Cutoff Bridge (Late Subcontract Return, Unposte...
- Classify in Cutoff Bridge (Late Subcontract Return, Unposte... → Isolate in Named Physical Variance Register for Stores/Prod...
- Isolate in Named Physical Variance Register for Stores/Prod... → Finance Controller Approves Cutoff Adjustment / Period Post...
- Finance Controller Approves Cutoff Adjustment / Period Post... → Verify Reconciled Subledger + Cutoff Bridge Matches GL Cont...
Worked example: reconciling a straddling subcontract return and unbackflushed WIP at cutoff
The following scenario, dates, quantities, unit costs, and ledger balances are explicitly illustrative and use assumed values to demonstrate a month-end quantity and value cutoff bridge across raw, subcontract, WIP, and finished stock.
Suppose an industrial pump manufacturer closes its monthly financial books at 2026-10-31 23:59:59 IST. To see how cutoff reconciliation resolves apparent multi-bucket variances without hiding physical losses, trace the month-end position for Pump Impeller Family IMP-300 across four inventory buckets:
- Standard raw casting cost (
RAW-IMP-300, rough stainless casting): ₹1,500.00 / unit - Contracted external CNC machining charge at Subcontractor
SUB-CNC-04(S02): ₹400.00 / unit - Standard semi-finished machined impeller cost (
SFG-IMP-300=₹1,500 + ₹400): ₹1,900.00 / unit - Internal balancing & assembly conversion cost added in Plant WIP (
WIP-IMP-300): ₹300.00 / unit (yielding finished impeller assemblyFG-IMP-300at₹2,200.00 / unit).
1. Comparing unadjusted ERP ledger at 2026-10-31 23:59:59 vs physical cutoff count
When Stores and Finance compare the unadjusted ERP snapshot taken at 23:59:59 on 31 October against the verified physical cutoff count at the plant and subcontractor, every single bucket appears out of balance:
Scroll horizontally to see all columns.
| Inventory bucket | Unadjusted ERP qty (31 Oct 23:59) |
Unadjusted ERP value (₹) | Physical count at cutoff (31 Oct 23:59) |
Valued physical stock (₹) | Raw unadjusted variance (Physical − ERP) |
|---|---|---|---|---|---|
1. Raw castings in Main Store (RAW-IMP-300 @ ₹1,500) |
300 units |
₹4,50,000.00 | 258 units |
₹3,87,000.00 | −42 units (−₹63,000.00) |
2. Castings at Subcontractor SUB-CNC-04 (@ ₹1,500) |
120 units |
₹1,80,000.00 | 40 units |
₹60,000.00 | −80 units (−₹1,20,000.00) |
3. Semi-finished machined stock in Store (SFG-IMP-300 @ ₹1,900) |
50 units |
₹95,000.00 | 130 units |
₹2,47,000.00 | +80 units (+₹1,52,000.00) |
4. Shop-floor WIP (WIP-IMP-300 — castings in assembly) |
60 units |
₹90,000.00 (casting value) | 115 units (incl. 15 customer FOC) |
₹1,50,000.00 (100 owned @ ₹1,500) | +55 raw count / +40 owned units (+₹60,000.00) |
Total company-owned IMP-300 pool |
530 units |
₹8,15,000.00 | 528 owned units (+ 15 customer FOC) |
₹8,44,000.00 | −2 owned units / +₹29,000.00 net value delta |
At first glance, the subledger looks chaotic: Raw Store is short 42 units (−₹63,000), Subcontractor stock is short 80 units (−₹1,20,000), Semi-Finished Store is over by 80 units (+₹1,52,000), and Shop-Floor WIP is over by 55 counted units!
2. Resolving the three cutoff events and one real physical variance
Rather than booking blind write-offs and write-ons across the four accounts, the Cutoff Bridge traces the exact event timestamps versus posting timestamps:
Event A — Subcontract return received before cutoff, posted after cutoff (
80 units):- Lorry carrying 80 machined impellers (
SFG-IMP-300) fromSUB-CNC-04arrived at the plant gate at2026-10-31 21:15 IST(Gate Pass GP-1031-88, physical arrival ≤ cutoff) and was placed in the Semi-Finished bay (counted in Bucket 3 physical = 130 units). - However, the stores clerk posted Subcontract Receipt
SCR-2026-1102at2026-11-01 09:20 IST. - Cutoff bridge impact: Recognising the October physical arrival moves 80 units (
₹1,20,000.00casting value) out of Bucket 2 (Subcontractor Stock: 120 − 80 = 40 units, matching physical40) and adds 80 units (₹1,20,000.00casting +80 × ₹400 = ₹32,000.00accrued subcontract machining charge =₹1,52,000.00) into Bucket 3 (SFG Store: 50 + 80 = 130 units, matching physical130).
- Lorry carrying 80 machined impellers (
Event B — Raw castings physically issued to shop floor on 31 Oct, slip keyed on 1 Nov (
40 units):- At
2026-10-31 19:45 IST, Stores issued 40 raw castings (₹60,000.00) on signed Issue SlipMIS-4490to the assembly shop floor (WIP), but the ERP material transfer was keyed on2026-11-01 08:10 IST. - Cutoff bridge impact: Moving 40 units (
₹60,000.00) from Bucket 1 (Raw Store: 300 − 40 = 260 units) to Bucket 4 (Owned WIP: 60 + 40 = 100 owned units) resolves both the+40owned WIP overage and40of the42Raw Store shortage.
- At
Event C — Customer-owned free-issue impellers sitting on the shop floor (
15 units):- Physical counters tallied
115impellers on the floor in Bucket 4, which included 15 customer-owned impellers (JWO-CUST-19,S24) held for repair under a non-valued custody order (M018,M067). - Cutoff bridge impact: Separating those
15custody units into the non-valuedCustomer_Custody_Ledger(115 total counted − 15 customer FOC = 100 company-owned WIP units) aligns physical owned WIP (100 units,₹1,50,000.00) with the Event B adjusted ERP WIP (60 + 40 = 100 units,₹1,50,000.00).
- Physical counters tallied
Item D — Remaining true physical variance in Raw Store (
−2 units):- After deducting the
40units issued onMIS-4490(Event B), Raw Store expected book stock is300 − 40 = 260 units(₹3,90,000.00) versus physical count258 units(₹3,87,000.00). - The remaining
−2 units(−₹3,000.00) is a genuine unposted physical discrepancy (later traced to 2 castings taken for destructive metallurgical sectioning without a scrap issue note) and is logged as Named Variance ItemVAR-2026-10-04for Inventory Controller sign-off.
- After deducting the
3. Complete month-end cutoff bridge table (2026-10-31 23:59:59 IST)
Scroll horizontally to see all columns.
| Bucket | Unadjusted ERP (31 Oct) |
Event A: Late subcontract receipt (80 units) |
Event B: Unposted floor issue (40 units) |
Event C: Exclude customer FOC (15 units) |
Cutoff-adjusted ERP book | Valued physical owned stock | Remaining named variance (VAR-2026-10-04) |
|---|---|---|---|---|---|---|---|
1. Raw Store (@ ₹1,500) |
300 (₹4,50,000) |
0 (₹0) |
−40 (−₹60,000) |
0 (₹0) |
260 (₹3,90,000) |
258 (₹3,87,000) |
−2 units (−₹3,000) |
2. Subcontractor (@ ₹1,500) |
120 (₹1,80,000) |
−80 (−₹1,20,000) |
0 (₹0) |
0 (₹0) |
40 (₹60,000) |
40 (₹60,000) |
0 units (₹0) |
3. Semi-Finished (@ ₹1,900) |
50 (₹95,000) |
+80 (+₹1,52,000)* |
0 (₹0) |
0 (₹0) |
130 (₹2,47,000) |
130 (₹2,47,000) |
0 units (₹0) |
4. Owned Floor WIP (@ ₹1,500) |
60 (₹90,000) |
0 (₹0) |
+40 (+₹60,000) |
(15 FOC excluded) | 100 (₹1,50,000) |
100 (₹1,50,000) |
0 units (₹0) |
| Total Owned Pool | 530 (₹8,15,000) |
0 qty (+₹32,000 accrual) |
0 qty (₹0) |
Custody separated | 530 (₹8,47,000) |
528 (₹8,44,000) |
−2 units (−₹3,000) |
*Note on Event A value bridge: Moving 80 units from Subcontractor (₹1,500/unit = ₹1,20,000) to Semi-Finished Store (₹1,900/unit = ₹1,52,000) conserves physical castings (−80 + 80 = 0 net units) while recognising +₹32,000.00 (80 × ₹400.00) of accrued subcontract machining value added before midnight on 31 October (matched by a +₹32,000.00 Unbilled Subcontract GRN/IR accrual under S18).
Check the overall reconciliation arithmetic:
- Unadjusted net value difference (
Physical ₹8,44,000 minus Unadjusted ERP ₹8,15,000):+₹29,000.00. - Explained by Event A (
+₹32,000.00subcontract value added on received lot) + Event B (₹0.00internal transfer between Raw and WIP) + Item D (−₹3,000.00destructive test shortage):+₹32,000.00 + ₹0.00 − ₹3,000.00 = +₹29,000.00(every rupee and unit is fully reconciled!).
Governance rules for cutoff adjustments and period locks
Scroll horizontally to see all columns.
| Cutoff control | Accountable owner | System & audit rule | Prohibited shortcut |
|---|---|---|---|
| 1. Gate & floor document cutoff freeze | Stores Lead & Production Manager | Record the last October gate pass, GRN, material issue slip, and dispatch challan serial numbers at 23:59:59 (M020). |
Leaving October physical count sheets open while November movements occur in the same rack without segregation. |
| 2. Dual timestamp preservation | ERP Administrator & Finance Controller | Preserve Physical_Event_Timestamp (31 Oct 21:15) and System_Entry_Timestamp (01 Nov 09:20) as separate immutable fields. |
Overwriting system audit logs to make a 1 November entry look like it was keyed on 31 October. |
| 3. Cutoff accrual vs period posting | Finance Controller | Either post inside the open October adjustment window under documented cutoff authority or book a reversing October cutoff journal (Dr SFG ₹1,52,000 / Cr Subcontract Stock ₹1,20,000 / Cr Unbilled GRN Accrual ₹32,000). |
Booking a single unlabelled manual GL journal (Dr Inventory ₹29,000) that disconnects the GL from item subledgers (M071). |
| 4. Named physical variance sign-off | Inventory Controller & Plant Head | Require discrete investigation tickets (VAR-2026-10-04) for any residual shortage after timing bridges are applied. |
Netting +40 WIP timing overages against −42 Raw Store shortages to pretend only 2 units moved. |
Acceptance criteria for month-end inventory and WIP cutoff reconciliation
- Straddling transaction detection (
TEST-M070-01): A cutoff query identifies every receipt, subcontract return, floor issue, and shipment wherePhysical_Event_DateandLedger_Posting_Datefall in different accounting periods. - Custody stock exclusion (
TEST-M070-02): Physical count sheets and WIP reports segregate customer-owned (S24) and vendor-consignment (M018) quantities so non-owned stock is never multiplied by company valuation rates. - Zero-sum internal transfer verification (
TEST-M070-03): Every late shop-floor issue or subcontract return adjustment balances quantities across source and destination buckets (−40 Raw = +40 WIP;−80 Subcontract = +80 SFG) while isolating added conversion accruals (+₹32,000). - Subledger-to-GL tie-out without anonymous plugs (
TEST-M070-04): After applying the approved Cutoff Bridge and named variance adjustments, the sum of Raw, WIP, Finished, and External subledgers reconciles to the GL control accounts (M071), and every unresolved item carries a unique exception ID and owner.
Synthesis and next actions
Month-end inventory and WIP reconciliation turns from a three-day argument into a repeatable two-hour check when you separate timing straddles across boundaries from real physical stock losses and never allow non-owned custody stock to pollute valued counts.
- Publish a last-document cutoff register at midnight on close day: Capture the final gate pass, GRN, subcontract challan (
S02), floor issue slip (M011), and dispatch note numbers at23:59:59before counting begins (M020). - Require both
Event_TimestampandPosting_Timestampon warehouse and WIP transactions: Configure receiving and shop-floor screens so late-keyed entries record the actual gatepass or shift time without altering the system audit timestamp. - Run an automated 48-hour straddle query on Day +1: Extract all movements posted during the first 48 hours of the new month whose physical gate pass or shift date belongs to the prior month, and populate the Cutoff Bridge automatically.
- Reconcile external subcontract and customer-custody balances before locking GL accounts: Verify subcontractor challan balances (
S02), customer free-issue stock (S24), and GRN/IR clearing accounts (S18) alongside in-house WIP (M071) before signing off the monthly close.
Compare this workflow with your current setup
Share the step that takes the most manual work, the systems involved and the exceptions your team handles. That gives us a concrete starting point for comparing approaches.
Sources and further reading
Sources checked 15 October 2026. Worked examples and workflow diagrams are original illustrations, not reported client results.



