Orbit CommerceInventory Auditing & ReconciliationAdvanced

Orbit Commerce Physical Stock Take Broadsheet & FEFO Reconciliation Runbook

Tactical standard operating procedure for high-density inventory stock takes, barcode wedge scanner incrementing, debounced dirty-delta autosaving, atomic variance ledger reconciliation, and First-Expired, First-Out (FEFO) batch expiration control.

FrontOrbit Core Engineering·Principal Systems Architect
26 min read

1. Operational Mission & Pre-Flight Verification Gate

Physical inventory discrepancies degrade retail profitability through phantom stock-outs, unrecorded shrinkage, and expired shelf goods. In high-density retail environments, conducting physical stock takes using manual clipboards or slow form-based screens leads to count fatigue, misplaced lines, and multi-hour store closures.

The Orbit Commerce Stock Take Broadsheet provides an ergonomic, high-density data matrix engineered for rapid physical counts:

  • Mission Target: Audit 1,000+ stock keeping units per operator hour with zero data loss and sub-2ms UI latency.
  • Operator Authority: Tier 2 Station Lead for count entry; Tier 3 Inventory Supervisor PIN required for final variance reconciliation and ledger posting.
  • Regulatory Scope: Perpetual inventory compliance under IFRS / GAAP and local commercial standards governing tax-deductible shrinkage allowances.

Pre-Flight Hardware & Environmental Verification Gate

[x]Hardware Scanner Calibration: Barcode scanner configured in HID wedge mode with carriage return suffix.
[x]Station Session Status: Active terminal session verified with valid location context bound to store floor.
[x]POS Sales Freeze: Lane checkout paused or locked for the audited category to prevent concurrent stock depletion.
[x]Unsaved Delta Watchdog: Browser local buffer armed with debounced 2.5s auto-save active.

2. Environmental Pre-Conditions & Station Readiness Matrix

Before initiating a full store count or cycle audit, verify station parameters across hardware and system subsystems:

Subsystem / StationRequired Baseline StateVerification MethodRemediation Action if Failed
Broadsheet Viewport1080p or 720p high-density layout loadedBrowser viewport width ≥ 1024pxMaximize browser window or switch terminal to full-screen mode (F11).
Barcode Scanner WedgeInter-character delay < 25msScan test EAN-13 code into input boxReset scanner to factory default HID mode using configuration barcode sheet.
Network ConnectivityContinuous bidirectional HTTP accessStatus indicator shows green checkmarkLocal dirty buffer will retain counts; reconnect Wi-Fi or plug in wired Ethernet cable.
Stock Location ContextSingle active location selected (e.g. Main Floor)Location badge visible in top navigationNavigate to location selector and select primary retail dispensary or storage zone.
Supervisor PIN CacheTier 3 credentials active on deviceVerify supervisor role in profile drawerRequest floor manager authentication prior to final audit reconciliation.

3. High-Density Broadsheet Architecture & DataGrid Ergonomics

The broadsheet is rendered using an optimized virtualized DataGrid that supports continuous keyboard-driven count entry, inline reason selection, and live variance recalculation.

FrontOrbit Core Terminal
Production UI
Deterministic Client Application RuntimeStock Take Broadsheet

SESSION #ST-2026-0842

IN PROGRESS (184 Items)

Location: Main Retail Floor

All Deltas Saved (Auto-Save: 2.5s)

Barcode Ingress:

Scan item barcode to auto-increment count & snap viewport to row.

Item Name & SKULot / Expiry (FEFO)ExpectedCountedVarianceUnit CostVariance CostDiscrepancy Reason

Organic Almond Milk 1L

8964000123456 · BEV-ALM-01

LOT-2026-A4

Exp: 2026-11-30 (53d)
24.00

23.00

-1.00SAR 14.50-SAR 14.50

DAMAGE

Cold Pressed Olive Oil 500ml

6281001001010 · OIL-OLV-50

LOT-2025-B9

Exp: 2027-04-15 (189d)
12.0012.000.00SAR 38.00SAR 0.00--

Whole Bean Arabica Roast 250g

8964000987654 · COF-ARA-25

LOT-2026-X1

Exp: 2026-10-22 (14d)
15.0016.00+1.00SAR 28.00+SAR 28.00

FOUND_STOCK

Total Expected Qty
51.0000 Units
Total Counted Qty
51.0000 Units
Net Variance Qty
0.0000 Units
Net Variance Value
+SAR 13.50

4. Granular Procedural Execution Workflow

Executing a physical stock take follows four standardized operational phases to preserve data integrity and prevent operator error.

Workflow Lifecycle Architecture

Stock Take Broadsheet, Scanner Wedge Ingress & Variance Posting

Perpetual Sync Invariant

Session InitiationPOST /commerce/stock-takesLocation Lock EnforcedBroadsheet DataGridScanner Wedge Ingress800ms Flash + Auto-ScrollDebounced Delta Save2.5s Timer / Ctrl+S KeydirtyItemIdsRef SetFEFO Expiry ValidationNear-Expiry WarningOldest Lot Depleted FirstSupervisor PIN Sign-OffTier 3 AuthenticationReview Variance ReasonsAtomic Ledger PostingCOMMERCE_AUDIT_ADJUSTDr 5020 Shrink / Cr 1200Session ArchivalStatus: RECONCILEDPerpetual Stock Synced

Phase 1: Session Initiation & Location Locking

  1. Navigate to Inventory > Stock Takes on the primary navigation rail.
  2. Select New Session.
  3. Configure the session parameters:
    • Location: Select target warehouse bin, retail counter, or cold storage vault.
    • Audit Type: Select FULL for store-wide quarterly audits or CYCLE_COUNT for weekly category audits.
    • Category Scope: (For cycle counts) Select the target category to isolate items and restrict broadsheet scope.
  4. Click Initialize Session. The server creates the session with status IN_PROGRESS, snapshots system expected quantities, and locks the location against conflicting concurrent audit sessions.

Phase 2: High-Density DataGrid Count Entry & Keyboard Ergonomics

Operators can enter physical counts using either direct keyboard navigation or hardware barcode scanners:

  • Direct Key Navigation: Click any count cell, type the physical number, and press Enter or Down Arrow to advance immediately to the next row.
  • Manual Save Shortcut: Press Ctrl + S (or Cmd + S on macOS) to instantly persist all dirty rows without removing hands from the numeric keypad.
  • Quantity Adjustments: Use + and - keys on the numeric keypad to increment or decrement active counts by single units.

Phase 3: Hardware Scanner Wedge Rapid Incrementing

When counting shelf merchandise equipped with optical retail barcodes:

  1. Position the terminal cursor in the Barcode Ingress field or simply scan directly while the broadsheet is focused.
  2. The hardware optical scanner transmits the decoded barcode string followed by an Enter keycode (0x0D).
  3. The broadsheet listener executes the rapid match sequence:
    • Locates the matching item row by barcode or SKU in under 1.2 milliseconds.
    • Increments the counted quantity: countedQuantity = currentCount + 1.
    • Adds the item identifier to the dirtyItemIdsRef tracking set.
    • Triggers an 800ms visual flash (emerald background transition) on the matched row.
    • Executes smooth viewport auto-scrolling (scrollIntoView({ behavior: 'smooth', block: 'nearest' })) to confirm visual alignment for the operator.
    • Automatically re-selects and clears the scanner ingress field for the next scan.
  4. For embedded weight or price barcodes from deli scales, the ingress parses the PLU and fractional weight as detailed in the ean13 scale barcodes and scanner wedge processing protocol specification.

Phase 4: Debounced Dirty-Delta Auto-Save Mechanics

To protect against unexpected hardware disconnections or browser crashes without overwhelming the backend API server with individual keystroke requests:

  1. Every modified row appends its ID to an in-memory dirty set: dirtyItemIdsRef.current.add(itemId).
  2. A debounced timer monitors dirty state. If no new input occurs within 2,500 milliseconds, the broadsheet extracts all dirty row payloads.
  3. The client dispatches a batch update request:
    PUT /v1/commerce/stock-takes/:id/counts
    
  4. Upon receiving HTTP 200 confirmation, the dirty set is cleared, and the UI status pill updates to All Deltas Saved.

5. First-Expired, First-Out (FEFO) Batch & Lot Expiration Rules

For perishable grocery, cosmetic, and pharmaceutical inventories, inventory depletion must enforce strict First-Expired, First-Out (FEFO) protocols rather than standard FIFO.

Batch Expiration Sorting

First-Expired, First-Out (FEFO) Lot Priority Hierarchy

Perishable SKU Rules

P1

Lot 2026-X1 · Whole Bean Arabica 250g

Expiry in 14 days · Critical shelf expiration window

Sell Immediately

P2

Lot 2026-X2 · Whole Bean Arabica 250g

Expiry in 68 days · Active front-facing retail gondola

Secondary Shelf Stock

P3

Lot 2026-X3 · Whole Bean Arabica 250g

Expiry in 180 days · Sealed warehouse reserve pallet

Reserve Storage Vault

5.1 Batch Aging Thresholds

Orbit Commerce tags every batch with dynamic chromatic indicators based on days to expiration:

  • Normal Tier (> 60 days): Standard neutral badge. Active for general shelf stocking.
  • Near-Expiry Warning (15 to 60 days): Amber highlight. Prompts the inventory team to apply promotional markdowns or transfer to high-traffic end-caps.
  • Critical Expiry (< 15 days): Red pulsating badge. Restricts automated warehouse replenishment to exhaust this lot before opening newer crates.
  • Expired (0 days or negative): Deep crimson badge with lockout icon. The point-of-sale terminal blocks sales of expired lots, requiring physical removal and damage write-down.

5.2 Stock Take FEFO Audit Steps

During physical stock taking, operators verify that older batches reside at the front of retail shelves:

  1. If newer inventory is discovered stacked in front of older lots, the operator physically reorganizes the shelf display.
  2. If expired inventory is identified, the counted quantity for that lot is set to zero, and the reason dropdown is flagged as DAMAGE or THEFT_SHRINK.
  3. The discrepancy generates an unearned loss adjustment during ledger reconciliation.

5.3 Multi-Location In-Transit Requisition Variance Isolation

When counting inventory at a retail store that receives daily truck transfers from a central distribution center, stock currently in transit between locations introduces phantom variance risks:

  1. In-Transit Transfer State Tracking: Inventory dispatched from the central hub is stamped with a transfer manifest number, carrier reference, and timestamp. These goods reside in the virtual clearing location LOC-IN-TRANSIT and are excluded from the physical retail floor audit.
  2. Receiving Cutoff Gate: Before a stock take session is initialized, the station lead must verify that all arrived delivery trucks are docked, inspected, and received into stock. Any goods physically on the dock but unreceived in the system must be received or isolated from the counted shelf area.
  3. Discrepancy Manifest Attribution: If a physical stock shortage matches an unreceived in-transit shipment, the audit supervisor flags the variance as IN_TRANSIT_PENDING rather than THEFT_SHRINK, preventing premature general ledger shrinkage write-downs before carrier claims are investigated.

6. Atomic Variance Ledger Reconciliation (COMMERCE_AUDIT_ADJUSTMENT)

When physical counting concludes, the session transitions from counting mode to supervisory financial reconciliation.

Reconciliation Invariant

Atomic General Ledger Variance Posting Flow

COMMERCE_AUDIT_ADJUSTMENT

Reconcile Session GateSupervisor Sign-OffPhysical < Expected (Shrinkage / Damage)Debit Account 5020 (Inventory Shrinkage Expense)Credit Account 1200 (Merchandise Inventory)Physical > Expected (Found Stock)Debit Account 1200 (Merchandise Inventory)Credit Account 5030 (Inventory Adjustment Gain)

Figure 2.1: Dual-branch ledger reconciliation logic decomposing physical count variances into shrinkage expense or inventory adjustment gain.

6.1 Discrepancy Reason Classifications

Every line exhibiting a variance must be tagged with a standardized audit reason:

  • DAMAGE: Damaged goods, broken packaging, or expired perishables discarded from inventory.
  • THEFT_SHRINK: Unaccounted physical loss attributable to retail shoplifting or administrative error.
  • MISPLACED: Stock found in an incorrect storage aisle; scheduled for re-slotting.
  • COUNT_ERROR: Operator miscount identified during recount verification.
  • FOUND_STOCK: Unrecorded surplus inventory recovered during audit.
  • OTHER: Exceptional operational variances requiring written explanation notes.

6.2 General Ledger Voucher Posting

Clicking Reconcile Ledger requires Tier 3 Supervisor PIN authentication. The backend application server processes the reconciliation inside a single database transaction:

  1. Updates the stock_takes status to RECONCILED and records reconciledAt and reconciledById.
  2. Overwrites inventory on-hand balances in the relational persistence kernel to match counted totals.
  3. Automatically posts a balanced COMMERCE_AUDIT_ADJUSTMENT journal entry into the General Ledger:

Case A: Net Inventory Shortage (Shrinkage Variance)

  • Debit (Dr): Account 5020 - Inventory Shrinkage & Spoilage Expense.
  • Credit (Cr): Account 1200 - Merchandise Inventory Asset.

Case B: Net Inventory Surplus (Found Stock Variance)

  • Debit (Dr): Account 1200 - Merchandise Inventory Asset.
  • Credit (Cr): Account 5030 - Inventory Audit Adjustment Gain.

For detailed Chart of Accounts mappings and balance sheet impacts, consult the customer khata debt ledgers and fifo aging accounting guide and recipe yield and realtime depletion.


7. Operational Failure Modes & Discrepancy Triage Matrix

The following operational matrix guides floor captains and warehouse managers through resolving stock take exceptions:

FailureRoot CauseRecovery SOP
Scanner Ingress Misses Target LineScanned item barcode does not exist in the active store catalog or belongs to an unselected category filter.Check top notification banner for error message. Verify item barcode in the catalog management drawer. If item is newly delivered, complete goods receiving before auditing.
Delta Auto-Save Shows "Dirty / Unsaved"Network connectivity dropped or session authentication token expired mid-count.Do NOT close or refresh browser tab. Test local connection. Press Ctrl + S to retry transmission. If connection cannot be restored, record counts in temporary offline sheet.
Reconcile Button Disabled or Grayed OutSession has uncounted lines with zero quantity, or active user lacks Tier 3 supervisory credentials.Review session worklist for unverified rows. Request shift floor manager to enter supervisory override PIN on the reconciliation confirmation modal.
Concurrent POS Sales During Stock TakeCashiers actively selling items in the audited category, causing live inventory drift during physical count.Enforce physical lane freeze. Audit sales completed during count window and enter compensating count adjustments before triggering final ledger reconciliation.
Batch Expiration MismatchPhysical product displays an expiration date not registered in the system batch table.Add new lot record using the Split Batch action in the broadsheet line editor, entering the new expiration timestamp and physical lot number.

8. Cross-Functional Platform Architecture Dependencies

The stock take broadsheet operates in tight coordination with inventory and sales modules across the platform:


9. Operator Quick-Reference FAQs & High-Frequency Triage

Can two operators count the same retail location simultaneously on different tablets?

No. To prevent destructive write races, Orbit Commerce enforces a strict single-session lock per location. If multiple operators must count a large department, split the store into distinct physical sub-locations (e.g. Aisle 1, Cold Storage B) before initializing sessions.

What happens if an operator accidentally counts a carton instead of individual units?

Click the counted cell on the broadsheet, enter the correct unit count, and select COUNT_ERROR as the discrepancy reason. The dirty-delta tracker will immediately mark the row for update and recalculate variance totals upon the next auto-save.

How does the system handle items that have physical stock but zero system expectation?

The broadsheet highlights found items with an emerald variance badge. When reconciled, the system automatically posts an inventory gain voucher (Cr 5030), bringing the physical inventory onto the active balance sheet at the item's standard cost price.

Is it possible to cancel an in-progress stock take without impacting current inventory?

Yes. Click Cancel Session in the top action menu. Cancelling an in-progress session discards all draft counts and releases the location lock without altering inventory balances or posting any general ledger entries.