Overview
The INVRPT (Inventory Report) message is used to communicate inventory status information from one trading partner to another. Most commonly, it is sent from a buyer (such as a retailer or distributor) to a supplier, providing visibility into current stock levels at the buyer's warehouses or stores. This visibility enables the supplier to plan production, manage raw material procurement, and coordinate deliveries more effectively.
The INVRPT is a cornerstone of collaborative supply chain practices such as Vendor Managed Inventory (VMI), Continuous Replenishment Programs (CRP), and Collaborative Planning, Forecasting and Replenishment (CPFR). In a VMI arrangement, the supplier uses INVRPT data to determine when and how much to ship to the buyer, rather than waiting for the buyer to place orders. This shifts replenishment responsibility to the supplier, who is often better positioned to optimize delivery schedules and reduce stockouts.
The INVRPT can carry different types of inventory data: snapshot reports (current stock on hand at a point in time), movement reports (receipts, issues, adjustments, and transfers during a period), or a combination of both. The report can cover a single location or multiple locations, and can include inventory broken down by product, lot number, batch, or expiry date.
Message Structure
The INVRPT header identifies the reporting party, the report date/period, and the inventory location(s). The detail section repeats for each product, carrying stock quantities by status (on hand, in transit, on order, damaged, reserved) and optionally including movement data for the reporting period.
Key Segments
| Segment | Name | Purpose |
|---|---|---|
BGM | Beginning of Message | Inventory report number, report type (snapshot, movement) |
DTM | Date/Time/Period | Report date, reporting period start/end |
NAD | Name and Address | Reporting party (buyer/warehouse), recipient (supplier) |
LOC | Place/Location | Warehouse, store, or distribution centre location identifier |
LIN | Line Item | Product identification (GTIN) for each inventory item |
QTY | Quantity | Stock on hand, in transit, on order, committed, damaged, returned |
DTM | Date/Time (line level) | Date of stock count, expiry date for perishable items |
STS | Status | Stock status code (available, damaged, quarantine, reserved) |
INV | Inventory Management | Inventory movement direction and reason codes |
GIN | Goods Identity Number | Batch or lot number for traceability |
Inventory Quantity Types
The QTY segment uses qualifier codes to distinguish between different inventory measurements:
- 145 — Stock on hand: The total physical inventory count at the reporting moment.
- 180 — In transit: Goods that have been despatched but not yet received at the reporting location.
- 26 — On order: Goods that have been ordered from the supplier but not yet despatched.
- 73 — Committed/allocated: Stock that is reserved for specific customer orders or production needs.
- 21 — Ordered quantity: Used in movement reports to show orders placed during the period.
- 48 — Received quantity: Goods received during the reporting period.
- 61 — Returned quantity: Goods returned during the reporting period.
Common Use Cases
- Vendor Managed Inventory (VMI): Retailers send daily or weekly INVRPT to suppliers, who use the data to calculate replenishment quantities and generate shipments proactively.
- Consignment stock management: When goods are held on consignment (owned by the supplier until sold), INVRPT reports consumption and remaining stock to trigger replenishment and invoicing.
- Multi-echelon visibility: A distributor reports warehouse stock to the manufacturer, while also receiving INVRPT from downstream retailers — creating a full supply chain inventory picture.
- Demand planning input: Suppliers use INVRPT stock levels combined with SLSRPT sales data to build accurate demand forecasts and production plans.
- Perishable goods management: For food and pharmaceutical products, INVRPT includes expiry dates and batch numbers, enabling suppliers to manage shelf-life and plan FIFO (First In, First Out) deliveries.
Example Snippet
UNH+1+INVRPT:D:96A:UN:EAN008'
BGM+35+INV-RPT-2024-0315+9'
DTM+137:20240315:102'
DTM+194:20240308:102'
DTM+206:20240315:102'
NAD+MR+4012345000010::9'
NAD+MS+5412345000013::9'
LOC+18+5412345000099::9'
LIN+1++4012345000027:SRV'
QTY+145:1250:PCE'
QTY+180:500:PCE'
QTY+73:300:PCE'
LIN+2++4012345000034:SRV'
QTY+145:80:PCE'
QTY+180:200:PCE'
UNT+15+1' Implementation Considerations
Agree on reporting frequency and timing with your trading partner. Daily INVRPT is common in retail VMI; weekly may be sufficient for slower-moving product categories. The report should be generated and transmitted at a consistent time each day (e.g., after the overnight stock count) so that the supplier can build reliable processes around it.
Location identification is critical when the buyer has multiple warehouses or stores. Use the LOC segment with the GLN (Global Location Number) of each reporting location. For retail store-level reporting, the INVRPT may contain hundreds of location/product combinations — ensure your systems can handle the volume efficiently.
Data accuracy is paramount for VMI. Inventory discrepancies between physical stock and reported stock lead to either stockouts (if reported stock is higher than actual) or excess deliveries (if reported stock is lower). Implement cycle counting programs and reconciliation processes to keep INVRPT data reliable.
Related Message Types
- SLSRPT — Sales data that complements inventory data for demand planning
- ORDERS — Purchase orders generated based on inventory analysis
- DESADV — Despatch advice for replenishment shipments
- RECADV — Receiving advice that updates inventory levels
- PRICAT — Product catalogue referenced by inventory items