A AION Academy

Module · 7 min read

Inventory

Track every bottle, every lot, every expiry date. Period average cost from every receipt. Full backward + forward traceability in seconds.

Who uses this module

UserRoleHow they use it
Warehouse SupervisorPrimary userReceiving, picking, adjustments, count
ProductionDaily userMaterial issues against job orders
Cost AccountantDaily userPeriod costing, variance analysis
QA InspectorDaily userQuarantine, release, rejection
Operations ManagerViewerStock status, aging, turnover

The business problem

Inventory is where F&B factories win or lose. Common failures:

  • Lot tracking doesn’t exist. When a quality complaint comes in, tracing which raw material batch went into which finished product takes 3-4 hours using paper records.
  • Expiry dates aren’t enforced. Old stock sits behind new stock; sometimes expired product ships. Customer complaints. Recalls. Brand damage.
  • Cost is a guess. Manual cost entry drifts from reality. Some items are costed at last-year prices; FX variance is ignored. Margin reports are fiction.
  • Multi-warehouse is painful. Cold storage, dry storage, finished goods — each in its own Excel file. Transfers between them are manual entries, often missing.
  • Count adjustments disappear into a black hole. Physical count shows 450 bottles; system shows 480. The 30-bottle difference gets “adjusted” with no root-cause analysis.

Key features

Item Master

  • Hierarchical categories (Raw Material, Packaging, Finished Goods, Work-in-Process)
  • Lot-tracked vs. non-lot-tracked per item
  • Expiry tracked — for perishable goods with configurable shelf life
  • Serial-tracked — for high-value or regulated items
  • Multiple units of measure (purchase UoM, stock UoM, sales UoM) with conversions
  • Minimum/maximum stock levels per warehouse, reorder points
  • Halal certification tracking, country of origin

Lot / Batch Management

  • Every movement captures the lot — receipt, issue, transfer, adjustment, ship
  • Expiry dates per lot with aging reports
  • Lot status — released, quarantine, hold, rejected
  • Halal cert number attached to lots (for batches sourced from certified suppliers)
  • Backward traceability — FG lot → job order → raw material lots → PO receipts → suppliers
  • Forward traceability — raw material lot → job orders → FG lots → shipments → customers

Multi-Warehouse

  • Sub-inventories per warehouse (e.g., Cold Storage A vs. B, Dry Storage, Bonded)
  • Temperature zones with threshold alerts
  • Inter-warehouse transfers with approval and GL posting
  • Warehouse-specific item costs (period average per item per warehouse)

Costing

  • Period average costing — every receipt adds to the running average; issues use the period average
  • FX variance captured on foreign-currency receipts
  • Landed cost — freight, customs, insurance rolled into item cost
  • Cost layer history — prior periods’ costs locked and queryable

Receiving

  • From POs (links to Procurement)
  • Lot number capture
  • Expiry date capture
  • Country of origin, halal cert
  • Quarantine routing (QA inspection before release)
  • Over/under receipt handling with tolerance

Picking

  • FIFO / FEFO enforced — oldest lot or nearest-expiry first
  • Pick lists generated from sales orders or job orders
  • Mobile/tablet-friendly pick screens
  • Exception handling (stock not found, damaged, etc.)

Physical Count

  • Cycle counting — sample a subset each day, rotate through all items over the month
  • Full count — typically year-end
  • Variance analysis — flagged adjustments require a reason code and approval
  • Blind count — counter doesn’t see system quantity until after entry

Transfers & Adjustments

  • Inter-warehouse transfers with GL posting
  • Adjustments (shrinkage, damage, obsolescence) with reason codes
  • All adjustments require approval above threshold

F&B scenario

Mango concentrate lot traceability. A customer in Jeddah calls: “A bottle of Oasis mango juice from the batch I bought last week tastes off.”

  1. AR clerk pulls the shipment to that customer. Finished goods lot: FG-001-2026-0617-A.
  2. Click Where Used (Backward). System shows: produced in job order JO-2026-00123.
  3. Click through: job order consumed raw material lots including MAN-2026-0512-EGY (mango concentrate from Cairo Citrus Co.).
  4. Click forward from MAN-2026-0512-EGY: also used in job orders JO-2026-00127 and JO-2026-00134, which became FG lots FG-001-2026-0620-B and FG-001-2026-0625-C.
  5. Both those FG lots went to 6 other customers (retail chains + distributors).
  6. Total time: 45 seconds. Decision: quarantine all remaining stock of the suspect concentrate lot, contact the 6 customers, coordinate a targeted recall.

Without lot tracking, the factory would have faced a blanket recall of 3 days’ production, at ~300,000 SAR in cost.

Integration with other modules

  • Procurement — PO receipts create inventory
  • Manufacturing — material issues decrement raw inventory, completions create FG inventory
  • AP — receipt triggers AP accrual via Inventory SLA
  • Sales — shipments decrement FG and post COGS
  • GL — every inventory movement is a journal entry

Reports out of the box

ReportWhat it shows
Stock StatusCurrent balance per item per warehouse
Aging by ItemStock age (for expiring items, slow movers)
Lot TraceabilityForward + backward for any lot
Stock MovementAll movements per item, period-filtered
Cost HistoryPeriod average cost trend per item
Cycle Count VariancePhysical vs. system differences
Expiring StockItems approaching expiry (30/60/90 day windows)
Slow MoversItems with no movement in N days
Dead StockItems with zero movement in N months

All bilingual, exportable, drillable.

Compliance

  • Food safety (SFDA, Egypt FSA) — full lot traceability forward + backward
  • Halal compliance — supplier cert tracking + batch linkage
  • Export documentation — country of origin, lot, expiry on shipping docs
  • VAT — stock valuation aligned to accounting period

vs. alternatives

FeatureExcelOdooSAP B1AION
Lot/batch tracking
Expiry + FEFO pickingManual
Period average costingManualLimited
Multi-temperature zonesAdd-on
Full traceability (both directions)Paper
Cycle counting
Arabic lot labelsDependsPartialPartial✅ native

Where this module lives in the code

aion-erp/apps/api/src/modules/inventory/

Ready to see it live?

Log in with admin / Admin123 and try this module in the juice factory scenario, or reach out for a guided walkthrough.