1. Overview
The Inventory module is the warehouse stock system: item catalog, warehouse structure, stock transfers (receipt / delivery / internal), ledger balances, valuation, counts, scrap, and optional WMS features (routes, putaway, packages, picking, quality, barcode, replenishment).
| Layer | What users work with |
|---|---|
| Catalog | Items, categories, attributes, UoMs, reason codes |
| Structure | Zones, warehouses, stores, locations |
| Configuration | Operation types, routes, putaway rules |
| Operations | Transfers, lots/serials, scrap, counts, valuation |
| Advanced | Picking, packages, replenishment, quality, barcode |
| Insights | Dashboard and stock reports |
Many advanced capabilities are controlled by tenant inventory settings (often off by default). Some screens are reachable by URL even when not shown in the sidebar.
2. Getting started
2.1 Recommended setup order
- Review Inventory settings at
/inventory/settings(feature flags, reservation mode, costing, accounts, negative stock, freeze date). - Create UoM categories / UoMs, item categories, attributes if needed, reason codes.
- Build warehouse structure: zones → warehouses → stores → locations.
- Confirm operation types for each warehouse (receipt, delivery, internal, …).
- Optionally configure routes and putaway rules.
- Create items, then open stock with a receipt transfer or inventory count.
- Enable advanced features only when ready (lots/serials, quality, barcode, replenishment, …).
2.2 Main navigation (typical sidebar)
| Area | Examples |
|---|---|
| Dashboard | /inventory/dashboard |
| Catalog | Items, Categories, Attributes, Units of measure, Reason codes |
| Operations | Transfers, Lots, Serials, Scrap, Inventory counts, Valuation |
| Configuration | Warehouse structure, Operation types, Putaway rules, Routes |
| Reports | Stock balance, Ageing, Ledger, Traceability, Moves analysis |
Additional routes (often feature-gated / not always in sidebar): picking, packages, replenishment, quality, barcode, package types, landed costs, cycle counts, reorder rules, quality templates, warehouse access, forecast, settings.
3. Catalog master data
Items
| Concept | Options / notes |
|---|---|
| Type | Storable, Consumable, Service, Non-stock |
| Tracking | None, Lot, Serial |
| Costing | Average, FIFO |
| Removal strategy | FIFO, LIFO, FEFO, Closest location |
| UoMs | Stock, purchase, sales units |
| Other | Variants/attributes, packagings, min stock, expiry/shelf life |
Templates typically cannot hold stock. Storable items are the main stock-holding products.
Categories, attributes, UoMs, reason codes
| Master | Purpose |
|---|---|
| Categories | Hierarchical item grouping |
| Attributes | Variant dimensions and values |
| UoMs | Categories with reference unit and conversion factors |
| Reason codes | Codes for scrap/adjustment/revaluation; optional GL account hint |
4. Warehouse structure
Physical hierarchy:
Zone → Warehouse → Store → Location (locations form a tree with full path).
Each warehouse has system location pointers such as View, Stock, Input, Quality, Packing, Output, and reception/delivery step settings for multi-step flows when enabled.
Technical locations are typically seeded under each warehouse, for example:
| Code | Role |
|---|---|
| INBOUND | Receipt gate from supplier |
| OUTBOUND | Delivery gate to customer |
| LOSS | Count / adjustment offset |
| PROD | Production |
| SCRAP | Scrap destination |
| TRANSIT | In-transit |
Use Warehouse structure as the consolidated UI for zones, warehouses, stores, and locations.
5. Operation types, routes, and putaway
Operation types
Warehouse instances of catalog definitions such as:
| Code | Meaning |
|---|---|
| IN | Receipt |
| IN-RET | Receipt return |
| OUT | Delivery |
| OUT-RET | Delivery return |
| INT | Internal transfer |
| DROP | Dropship |
| SUB | Subcontract resupply |
Kinds include Receipt, Delivery, Internal, Scrap, Dropship, Subcontract resupply. An operation type may require approval.
Routes
Optional multi-step stock routes scoped by warehouse / item / category. Procurement methods include make-to-stock, make-to-order, and combinations. Rules use actions such as Pull, Push, PullPush, Buy, Manufacture with source/destination locations.
Putaway rules
Map stock from a source area to a destination location (optional item/category filters). Destination must remain under the intended warehouse tree.
6. Stock transfers
Transfers are the primary way stock moves. They cover receipts, deliveries, and internal moves depending on operation type.
Statuses
| Status | Meaning |
|---|---|
| Draft | Editable |
| Waiting | Waiting for stock or route |
| Confirmed | Confirmed; may need reservation |
| Ready | Fully reserved |
| Done | Validated; ledger posted |
| Cancelled | Abandoned |
Optional approval status: Not required, Pending, Approved, Rejected (reject cancels).
Typical flow
| Action | Effect |
|---|---|
| Create | Draft transfer with locations and lines |
| Confirm | May set approval pending; may auto-reserve |
| Reserve | Allocates stock by removal strategy |
| Validate | Posts ledger; marks Done; may create backorder |
| Cancel | Before Done (Cancel Done is a special permission/setting) |
| Return | Creates reverse of a Done transfer |
Backorder policy (especially deliveries): Ask, Always, or Never.
Core external integration pattern is Create → Confirm → Validate with operation codes such as IN / OUT / INT.
7. Lots and serials
When item tracking is Lot or Serial:
- Maintain lot/serial masters.
- Moves require the matching lot or serial.
- Block prevents further use.
- Expiry rules apply when the expiry feature is enabled.
Use Operations → Lots / Serials screens for day-to-day control.
8. Scrap and inventory counts
Scrap
Scrap posts quantity to the warehouse scrap location, typically with a reason code, after availability checks.
Inventory counts
| Status | Meaning |
|---|---|
| Draft | Prepared |
| InProgress | Counting started |
| Counted | Lines complete |
| Posted | Adjustments posted to ledger |
| Cancelled | Abandoned |
Count types: Full, Cycle, Spot (spot needs an item list when starting).
Posting adjusts stock via the LOSS location. Large value variances may require approval before post. Cycle count schedules can auto-create/start counts when the feature and permission are enabled.
9. Valuation and landed costs
| Topic | Notes |
|---|---|
| Costing methods | Average or FIFO layers on items |
| Scope | Company or warehouse |
| Accounting mode | Periodic or perpetual |
| Valuation report | Operations → Valuation |
| Landed costs | Draft → Post; split by equal, quantity, value, weight, or volume against receipt moves |
| Revaluations / repost | Specialist permissions |
Ledger voucher types include Transfer, Scrap, Count, Opening balance, Landed cost, Revaluation, and Direct movement. Configure Finance inventory accounts in settings for perpetual posting.
10. Picking, packages, replenishment, quality, barcode
These areas are advanced and usually feature-gated.
Picking
Batch/wave picking: Draft → Process → Done (or Cancel). Groups open transfer moves into a picking document. Lightweight compared with a full wave WMS.
Packages
Package types and package instances for containerized stock when the packages feature is on.
Replenishment
Reorder rules (min/max, safety, lead time, request type Purchase / Transfer / Issue / Manufacture). Run creates proposals and material requests (Draft → Submitted → Fulfilled / Cancelled). Fulfillment may create internal transfers; purchase/manufacture ports depend on integration wiring.
Quality
Templates and parameters (pass/fail, numeric, text, choice) with triggers on receipt, internal, or delivery. On transfer validate, checks may be created. Status Pending → Passed / Failed / PartiallyFailed. Failing quantity can move to the Quality location. Pending checks can block transfer progress.
Barcode
Resolve barcodes to items, packagings, lots, locations, or packages. Scan modes such as receive, transfer, pick, and count drive transfers or count lines. Route: /inventory/barcode.
11. Warehouse access
When restrict warehouse access is enabled, users/roles receive grants per warehouse (and optionally operation type). Lists and operations are scoped by those grants. Configure at /inventory/configuration/warehouse-access.
12. Dashboard and reports
Dashboard
Shows item counts, on-hand quantity/value, reserved stock, low/out-of-stock, lot expiry health, and transfer queue (draft, waiting, late, backorders).
Reports
| Report | Content |
|---|---|
| Stock balance | On-hand by item/location |
| Stock ageing | Age buckets of stock |
| Stock ledger | Movement history |
| Traceability | Ledger lines by item (± lot/serial/warehouse/dates) |
| Moves analysis | Transfer/move analytics |
| Valuation | Inventory value |
| Forecast | Demand/forecast view when enabled |
13. Permissions summary
Permission group: Inventory.
| Area | Examples |
|---|---|
| Structure | Zones, Warehouses, Stores, Locations CRUD |
| Catalog | Items (variants, view cost), Categories, UoMs, Attributes, Reason codes, Settings |
| Config | Operation types, Putaway, Routes, Packages |
| Transfers | Create, Confirm, Reserve, Validate, Cancel, CancelDone, Return, Approve, Backdate |
| Scrap / Lots / Serials / Counts | Create, validate/block/count/post as applicable |
| Picking / Replenishment / Quality / Barcode | Process, run, perform, scan |
| Valuation | View, landed costs, revaluations, repost |
| Ledger | Post in frozen period, rebuild quants |
| Reports / Dashboard / Security | Report keys; Manage warehouse access |
Grant Validate and Approve carefully; Cancel Done should be rare.
14. Integration with other modules
| Module | Relationship |
|---|---|
| Manufacturing | Can post stock movements through Inventory integration (create/confirm/validate transfers, often using production/inbound/outbound locations). |
| Finance | Partners on transfers; accounting poster / outbox for inventory accounts when wired. |
| Cost Accounting | Soft references to inventory items and locations for costing. |
| Purchasing / Sales | Share item and UoM concepts; automatic PO/SO stock posting is not a first-class Inventory UI flow—external modules call the transfer/integration API when implemented. |
Appendix A — Quick procedures
A.1 Receive stock
- Create transfer with receipt operation (IN), from INBOUND to stock location.
- Confirm → Reserve if needed → Validate.
- Check stock balance / ledger.
A.2 Deliver stock
- Create delivery transfer (OUT) from stock to OUTBOUND.
- Confirm and reserve.
- Validate; handle backorder if short.
A.3 Internal move
- Create INT transfer between locations.
- Confirm → Reserve → Validate.
A.4 Physical count
- Create count (Full/Cycle/Spot) → Start.
- Enter counted quantities → Complete.
- Post adjustments (approve if threshold requires it).
A.5 Scrap
- Create scrap draft with reason.
- Validate to post to SCRAP location.
Appendix B — Operating notes
| Topic | Guidance |
|---|---|
| Feature flags | Enable in Settings before expecting advanced screens to work |
| Hidden menus | Use direct URLs when a feature is enabled but not in the sidebar |
| Negative stock | Controlled by settings |
| Frozen period | Blocks posting unless special ledger permission |
| Quality pending | Can block transfer validation |
| Same location | Moves from a location to itself are forbidden |
Appendix C — Document control
| Item | Value |
|---|---|
| Title | Inventory Module User Guide |
| Source of truth | modules/inventory and frontend/src/app/modules/inventory |
| Format | Markdown + Mermaid (PDF edition embeds rendered figures) |
| Screenshots | Not included (by design) |
This guide describes functional capabilities of the Inventory module as implemented in the Vertex ERP codebase. UI labels may appear in English or Arabic depending on language settings.