Learning contextDemo Retail Group LLC12 stores · 2 distribution centres · AED/SAR/USD · omnichannel replenishmentChange scenario details →
Skip to content

Inventory field guide ​

Inventory in OSERP is a controlled quantity and value ledger, not just a list of products. Every on-hand number must be explainable by item, owner, warehouse, bin, batch or serial, status, document, user, date, and cost. Use Demo Retail Group LLC and item DATE-A-5KG while practising.

Item header ​

Open Inventory → Items → New. Header fields identify the product and its commercial defaults.

FieldExamplePurpose and impact
Item codeDATE-A-5KGImmutable key for documents and APIs
NameMedjool dates Grade A 5 kgPrinted description
Item typeInventoryEnables quantity and valuation
CategoryProduceAccount and reporting defaults
Inventory UoMKGStock ledger unit
Sales UoMCartonCustomer-facing conversion
Purchase UoMPalletSupplier conversion
Barcode6290000042810Scan and duplicate check
ActiveYesFuture selection; history remains
Batch managedYesReceipt and issue require lot
Serial managedNoSet for individually tracked items
Expiry managedYesFEFO and blocked expiry
OwnerDemo Retail GroupLegal stock ownership

Do not change UoM or batch policy after transactions without an approved migration. Use a replacement item or conversion record so historic quantities remain interpretable.

Purchasing and sales defaults ​

Purchasing detail includes preferred supplier, supplier item code, minimum order, lead time days, purchase price list, currency, tax category, incoterm, receiving warehouse, quality requirement, and claim window. Sales detail includes price list, discount group, customer segment, delivery UoM, minimum shelf life, substitution policy, and revenue account.

For a 5-kg carton, define 1 CARTON = 5 KG and 1 PALLET = 40 CARTONS. Conversion must be exact or have controlled rounding. A purchase of 10 pallets therefore creates 200 cartons or 1,000 kg; the document should show both entered and base quantities.

Accounting and valuation ​

Accounting fields include inventory account, goods-received-not-invoiced account, COGS account, price-difference account, shrinkage account, expiry-write-off account, revenue account, and cost centre. Valuation method may be moving average, FIFO, standard cost, or another configured policy. Store currency, cost version, effective date, and approval.

If a 1,000-kg receipt costs AED 7.20/kg, inventory value is AED 7,200 before landed cost. Freight, duty, and insurance are allocated by approved basis and create a visible landed-cost adjustment. A sale relieves actual or configured cost and debits COGS; it should never use a manually typed cost.

Warehouse and bin fields ​

Warehouse header fields include code, name, company, branch, address, timezone, ownership policy, valuation scope, active status, and default accounts. Bin fields include zone, aisle, rack, level, capacity, temperature class, hazardous flag, pick sequence, and status.

DXB-FC-01 may contain ambient, chilled, quarantine, returns, and dispatch zones. A batch requiring 2–8°C cannot be put into an ambient bin without an approved override. A closed or blocked bin cannot receive or pick stock.

Batch and serial detail ​

Batch fields include batch number, manufacture date, expiry/best-before, supplier, country of origin, quality status, certificate, owner, warehouse, quantity, and hold reason. Quality statuses should include quarantine, released, hold, rejected, recalled, and expired. A status change records user, time, reason, evidence, and approval.

Serial fields include serial number, item, batch if applicable, condition, warranty start/end, owner, location, installed asset, status, and lifecycle event. A serial cannot be available in two locations at once. Removal, transfer, installation, return, and disposal remain in history.

Receipt fields ​

A goods receipt header records supplier, purchase order, company, warehouse, receipt date, delivery note, currency, exchange rate, receiver, and status. Lines record item, ordered quantity, received quantity, UoM, batch/serial, expiry, quality status, bin, price, tax, and discrepancy.

Receiving 480 cartons against an order for 500 must create a shortage or open quantity. Damaged cartons need reason, photos, and claim reference. Posting increases on-hand or quarantine and credits GRNI or receipt accrual. The supplier invoice later clears the temporary account.

Reservations and allocations ​

A reservation records source order, item, warehouse, batch policy, quantity, UoM, customer or project, priority, expiry, and owner. Reserved quantity is not physically issued; available-to-promise equals usable on-hand less reservations and holds. A hospital order with 180-day shelf-life requirement must not allocate a batch expiring sooner.

Allocation records proposed batch, actual batch, picker, timestamp, override, and reason. FEFO or FIFO policy should be visible. Cancelling an order releases reservation with a status transition and audit event.

Stock movement fields ​

Movement header includes type receipt, issue, transfer, adjustment, return, or write-off; company, warehouse, date, source document, user, reason, approval, and status. Lines include item, quantity, UoM, batch/serial, source bin, target bin, owner, cost, and dimensions.

An issue to a sales delivery credits inventory and debits COGS. A return reverses the original issue only after inspection. An expiry write-off debits expiry-loss account and credits inventory with reason and approver. A movement without source or reason belongs in an exception queue.

Transfers and ownership ​

A transfer stores source warehouse, target warehouse, dispatch date, expected arrival, carrier, owner, item, batch/serial, quantity, and status. Source dispatch reduces available stock; target receipt increases stock only when physically received. In-transit quantity explains the difference.

An inter-company transfer additionally needs selling company, buying company, transfer price, currency, tax/export treatment, due-to, due-from, and consolidation reference. A branch move within one legal company must not create artificial revenue.

Counts and adjustments ​

Count fields include warehouse, zone, count date, counter, witness, blind-count flag, item, batch/serial, book quantity, counted quantity, variance, reason, and approval. Freeze or snapshot rules prevent movement from invalidating the count. Variances over tolerance require investigation.

Never correct the book quantity directly. Post an approved adjustment with count document and journal mapping. The stock-audit report should drill from closing quantity to every movement and source document.

APIs and reporting ​

API payloads should use immutable item, warehouse, batch, and movement IDs plus external references and idempotency keys. Include tenant, company, and permission scope. Query on-hand by item, warehouse, owner, status, and updated timestamp; use cursor pagination. A repeated receipt request must not duplicate quantity or journal.

Reports should show on-hand, available, reserved, quarantine, in-transit, expired, value, and last movement by item. Reconcile the inventory subledger to GL by company, warehouse, category, currency, and period.

Practice checklist ​

Create the item with exact UoM conversions, purchase and sales defaults, accounts, a temperature-controlled warehouse, two batches, a partial receipt, a reservation, FEFO allocation, transfer, count variance, return, and expiry write-off. Explain every field’s owner, format, length or precision, status, permission, stock impact, journal, and API ID. Then prove a blocked batch cannot be sold and a client-owned stock movement cannot enter company inventory.

Related: Item Master Atlas, Stock screens, Warehouse replenishment, Advanced GL Mapping, and API cookbook.

Inventory configuration worksheet ​

Complete this worksheet before opening stock for a new company. The business owner confirms the policy, the warehouse manager confirms the physical behavior, and finance confirms the account and valuation effect.

AreaFieldWhat to fillDemo valueAcceptance evidence
ItemItem typeInventory, service, bundle, or non-stockInventoryQuantity is or is not tracked as intended
ItemBase UoMSmallest controlled stock unitKGConversion test is exact
ItemBatch/serialTracking policyBatch + expiryReceipt refuses missing lot
ItemCost methodFIFO, moving average, standardMoving averageCost layer report
ItemOwnershipCompany, customer, supplier, consignmentCompanyOwnership report
WarehouseValuation scopeCompany, branch, or warehouseBranchTransfer test
WarehouseTimezoneLocal operational timezoneAsia/DubaiCut-off test
BinCapacityQuantity or volume limit10,000 kgOver-capacity refusal
BinTemperatureAmbient, chilled, frozen2–8°CBatch allocation test
BatchQuality statusQuarantine, released, hold, rejectedQuarantineSale is blocked
ReceiptDiscrepancy ruleShort, excess, damage, substituteShort openSupplier claim
ReservationPriorityCustomer, project, channel, emergencyHospital priorityATP result
MovementReasonRequired business explanationExpiry write-offAudit event
CountBlind countHide book quantity or notYesCounter independence
AccountsInventory/COGSLedger destinations121100/511100Journal simulation
APIExternal keyIdempotent source identityWMS-2026-0918-44Replay does not duplicate

How quantity becomes value ​

The quantity ledger and value ledger must be read together. A receipt first establishes item, lot, location, ownership, and quantity. Valuation then applies price, currency, cost method, landed cost, and rounding. A transfer inside one legal company changes location or responsibility but not group revenue. A sale reduces usable quantity and posts COGS from the configured valuation method. A write-off reduces quantity and posts to the reason-specific loss account.

Use this trace for the Demo Retail Group date lot:

text
PO-1042 → GR-2088 (1,000 kg, quarantine)
QA-771  → lot DATE-260917-A released
RES-531 → 600 kg reserved for Saudi order
DEL-901 → 600 kg issued, COGS calculated by valuation rule
COUNT-88 → 8 kg variance investigated
ADJ-90  → approved expiry loss, journal posted

If the quantity trail is complete but value does not reconcile, inspect cost, currency, landed-cost allocation, or account mapping. If value reconciles but quantity is wrong, inspect UoM, duplicate events, returns, transfers, or ownership. Do not “fix” both ledgers with one arbitrary adjustment.

Allocation and availability example ​

Suppose on-hand is 1,000 kg, 200 kg is quarantine, 100 kg is expired, and 300 kg is reserved. Usable on-hand is 700 kg (1,000 − 200 − 100), and available-to-promise is 400 kg (700 − 300). A sales order for 450 kg must remain partially open or trigger an approved alternative; it must not allocate quarantine or expired stock merely to show “confirmed”. The allocation response should expose each exclusion and its reason.

For FEFO, compare expiry dates after quality and ownership filters. For customer-owned stock, filter owner before company stock. For a project reservation, filter project and priority before general demand. Every override records the original recommendation, selected lot, user, reason, and approval.

Controls by lifecycle stage ​

At master setup, block duplicate codes, invalid UoM conversions, missing accounts, unsupported tracking changes, and absent ownership policy. At receipt, validate purchase order, supplier, warehouse, lot, expiry, quality, quantity, price, and tax. At storage, enforce bin capacity, temperature, hazardous rules, and owner segregation. At allocation, enforce status, FEFO/FIFO, shelf life, reservation priority, and available quantity. At issue, require source document, picker, batch/serial, destination, and approval for exceptions. At return, inspect condition before making stock available. At count, freeze or snapshot movements and require variance reason. At close, reconcile quantity, value, documents, and GL.

What each common status means ​

Draft means data can change and no stock or journal exists. Released means the item or lot may be selected by policy. Quarantine means physically present but unavailable. Hold means a specific review prevents use. Rejected means disposition is required. Reserved means promised but not issued. Picked means a warehouse task selected stock but ownership has not changed. Issued means the movement posted. In transit means source dispatch occurred and target receipt is pending. Closed means the process is complete, not that history vanished. The status label must agree with quantity and value; a “released” lot with a hold quantity is a control defect or a split-status design that needs explanation.

Inventory API safety pattern ​

An integration should send immutable IDs, tenant/company scope, external reference, event time, source system, and idempotency key. Validate master data before posting quantity. Use decimal strings for quantities and costs where precision matters. A safe receipt request includes warehouseId, itemId, lotId, quantity, uom, unitCost, currency, sourceDocumentId, and idempotencyKey. A retry with the same key returns the original result; a changed quantity with the same key is rejected as an idempotency conflict. Never accept a client-provided journal ID as authority for stock posting.

Consultant handover package ​

Deliver the item catalogue, UoM conversion table, warehouse/bin map, ownership rules, batch and serial policy, valuation policy, account-role matrix, reservation priorities, replenishment parameters, count tolerances, API replay tests, and ten reconciled sample movements. Include one accepted receipt, one quarantine, one shortage, one FEFO allocation, one transfer, one return, one write-off, one count variance, one blocked attempt, and one inter-company transfer. For every sample retain document ID, user, timestamp, source, status history, journal, and report output.

OSERP™ Atlas · Understand every field. Master every workflow.