ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.
INVRPT D.16B

INVRPT — EDIFACT Inventory Report Message (D.16B)

The INVRPT message is the periodic inventory report sent by a stock holder (warehouse, point of sale, logistics platform) to a manufacturer or central buyer: it carries stock levels per item and per location, inbound and outbound movements, recalls of available quantity and stockouts. It is central to VMI (Vendor Managed Inventory) and co-managed inventory schemes. This page summarises the segment structure as published by UN/CEFACT for directory D.16B.

Purpose

The INVRPT message is the periodic inventory report sent by a stock holder (warehouse, point of sale, logistics platform) to a manufacturer or central buyer: it carries stock levels per item and per location, inbound and outbound movements, recalls of available quantity and stockouts. It is central to VMI (Vendor Managed Inventory) and co-managed inventory schemes.

This page focuses on the structure published by UN/CEFACT for directory D.16B. The segments listed, their status (M / C), position and repetition factor are extracted from the official file invrpt_c.htm hosted on service.unece.org.

Segment structure

The INVRPT D.16B message has 19 header entries, 58 detail entries and 0 summary entries (segments and groups combined). Groups are shown in bold and their members are indented by actual nesting depth.

Pos.TagNameSRep.
00010UNHMessage headerM1
00020BGMBeginning of messageM1
00030FTXFree textC×99
00040DTMDate/time/periodM×10
00050  SG1Group (×10)C×10
00060  RFFReferenceM1
00070  DTMDate/time/periodC1
00080    SG2Group (×20)C×20
00090    NADName and addressM1
00100    LOCPlace/location identificationC×5
00110      SG3Group (×99)C×99
00120      RFFReferenceM1
00130      DTMDate/time/periodC1
00140        SG4Group (×10)C×10
00150        CTAContact informationM1
00160        COMCommunication contactC×5
00170          SG5Group (×5)C×5
00180          CUXCurrenciesM1
00190          DTMDate/time/periodC1

Detail

Pos.TagNameSRep.
00200  SG6Group (×9999)C×9999
00210  CPSConsignment packing sequenceM1
00220    SG7Group (×999)C×999
00230    PACPackageM1
00240    PCIPackage identificationC×1000
00250      SG8Group (×9999)C×9999
00260      QTYQuantityM1
00270      GINGoods identity numberC×9999
00280      DTMDate/time/periodC×5
00290        SG9Group (×9999999)C×9999999
00300        LINLine itemM1
00310        PIAAdditional product idC×10
00320        IMDItem descriptionC×10
00330        NADName and addressC1
00340        MEAMeasurementsC×10
00350        ALIAdditional informationC×10
00360        LOCPlace/location identificationC×5
00370        DTMDate/time/periodC×5
00380        FTXFree textC×99
00390          SG10Group (×10)C×10
00400          RFFReferenceM1
00410          DTMDate/time/periodC1
00420            SG11Group (×1)C1
00430            CTAContact informationM1
00440            COMCommunication contactC×9
00450              SG12Group (×9999)C×9999
00460              INVInventory management related detailsM1
00470              QTYQuantityM×9
00480              GINGoods identity numberC×9999
00490              LOCPlace/location identificationC×5
00500              DTMDate/time/periodC×5
00510              STSStatusC×9
00520              FTXFree textC×9
00530                SG13Group (×5)C×5
00540                NADName and addressM1
00550                LOCPlace/location identificationC1
00560                  SG14Group (×5)C×5
00570                  PRIPrice detailsM1
00580                  CUXCurrenciesC1
00590                  DTMDate/time/periodC1
00600                    SG15Group (×10)C×10
00610                    RFFReferenceM1
00620                    DTMDate/time/periodC1
00630                      SG16Group (×9999)C×9999
00640                      CPSConsignment packing sequenceM1
00650                        SG17Group (×9999)C×9999
00660                        PACPackageM1
00670                        MEAMeasurementsC×10
00680                        QTYQuantityC×10
00690                          SG18Group (×9999)C×9999
00700                          PCIPackage identificationM1
00710                          RFFReferenceC1
00720                          DTMDate/time/periodC×5
00730                          GINGoods identity numberC×9999
00740                            SG19Group (×99)C×99
00750                            GIRRelated identification numbersM1
00760                            DTMDate/time/periodC×5
00770UNTMessage trailerM1

Summary

No segment in this section.

Changes vs D.96A

Top-level differences between D.96A and D.16B for the INVRPT message (segments directly inside header / detail / summary, ignoring nested groups). The comparison is indicative: a given tag may have evolved inside nested groups without showing up in this synthesis.

Segments added vs D.96A

  • FTX in the header section (status C, repeat ×99) — not present at the top of the corresponding D.96A section.
  • FTX in the detail section (status C, repeat ×99) — not present at the top of the corresponding D.96A section.
  • CTA in the detail section (status M, repeat ×1) — not present at the top of the corresponding D.96A section.
  • COM in the detail section (status C, repeat ×9) — not present at the top of the corresponding D.96A section.
  • GIR in the detail section (status M, repeat ×1) — not present at the top of the corresponding D.96A section.

Status changes (M ↔ C)

  • NAD (detail): status M in D.96A → C in D.16B.
  • INV (detail): status C in D.96A → M in D.16B.

Structural example

Minimal example of an INVRPT D.16B message with mandatory segments only. The goal is to show the exact version declared in UNH (INVRPT:D:16B:UN) — not to replicate a full business case (see the INVRPT D.96A page for an annotated example).

edifact invrpt-d16b-example.edi
UNB+UNOC:3+5410000000123:14+5410000000456:14+260514:1430+CTRL016001'
UNH+1+INVRPT:D:16B:UN'
BGM+33+INVRPT-2026-05-13+9'
DTM+137:20260514:102'
DTM+90:20260513:102'
NAD+MS+5410000000456::9'
NAD+MR+5410000000123::9'
LOC+18+FRPAR01::ZZZ'
CPS+1'
LIN+1++3520000001234:EN'
QTY+145:850'
DTM+209:20260513:102'
UNT+12+1'
UNZ+1+CTRL016001'

Common errors

  • Misaligned UNH tokens — The UNH+...+INVRPT:D:16B:UN token must reflect exactly the directory in use — a mismatch between the UNH release and the release agreed with the partner is rejected by every strict validator.
  • Wrong UNT segment count — The value after UNT+ must include UNH and UNT themselves. By far the most common sender-side error, regardless of the directory in use.
  • Stale code lists — Between D.96A and D.16B, several code lists received new qualifiers (DTM status, RFF qualifier, NAD codes…). Reusing an older directory’s code tables triggers warnings or even rejections depending on the partner’s strict-conformance mode.

Other versions of this message available on ediverse.io: INVRPT D.96A, INVRPT D.01B, INVRPT D.10A, INVRPT D.21B, INVRPT D.24A, INVRPT D.97A, INVRPT D.99B, INVRPT D.00B, INVRPT D.02B, INVRPT D.05A, INVRPT D.08A, INVRPT D.13B, INVRPT D.18B, INVRPT D.20B.

X12 functional equivalent: X12 846.

← All EDIFACT versions