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.

SLSRPT — Sales Data Report Message (D.96A)

SLSRPT transmits sales data tied to products or services: location, period, product identification, price, monetary amount, quantity, market-segment information, sales parties — for use in production, planning, marketing, or statistical analysis.

Purpose

Per the UN/CEFACT functional definition, SLSRPT is "a message to enable the transmission of sales data related to products or services". The intent is to provide, for one or more locations over a given period: location of the sale, period, product identification, selling price, quantity and value, additional identifications (promotion flag, product group/family), periodic turnover, sales channel, market segment, and sales-parties identification. It is typically sent by the seller (retailer or HQ) to a supplier or a third party — often a marketing institute for statistical analysis.

Segment structure

SLSRPT D.96A has two sections: a Header setting context (period, parties, currency) and a Detail built around the SG5 group, which describes sales per location with up to 200,000 repetitions.

Mandatory header segments: UNH M , BGM M , and DTM M .

Header groups:

  • SG1 (M, ×5) — NAD party names and addresses (seller, recipient, per location when relevant).
  • SG2 (C, ×5) — CTA + COM contacts associated with parties.
  • SG3 (C, ×5) — RFF + DTM references (contract, framework agreement).
  • SG4 (C, ×5) — CUX + DTM currencies and reference date.

Detail (location and product lines)

The Detail lives entirely in SG5, a loop built around LOC M DTM , with two sub-groups:

  • SG6 (C, ×99) — RFF + DTM location-specific references.
  • SG7 (C, ×200,000) — a product loop built around LIN M with PIA , IMD , PAC , RFF , DOC , ALI , MOA , PRI , and GIN .
    Inside each line, an inner loop SG8 (C, ×999) bundles QTY + MKS + NAD to break down quantities per sales channel / segment / party.

The message closes with UNT M .

Mandatory / conditional

Strictly mandatory in every SLSRPT D.96A:

  • UNH, UNT — frame the message.
  • BGM — report type and number (qualifier 74 = sales report).
  • DTM — at least one header date (covered period).
  • SG1 NAD — at least one identified party (the supplier).
  • SG5 LOC — at least one sales location in the Detail.

SG7 (product lines) is itself conditional at the standard level, but a report without LIN is operationally useless. Sector conventions (notably GS1 EANCOM SLSRPT) require at minimum one LIN with a GTIN, one QTY (qualifier 47 = sales quantity), and often a PRI.

Real-world example

Weekly sales report sent by a retailer (point of sale identified by GLN) to a musical instruments supplier, for week W19 2026:

edifact slsrpt-d96a-example.edi
UNB+UNOC:3+5410000000456:14+5410000000123:14+260513:0800+CTRL000077'
UNH+1+SLSRPT:D:96A:UN'
BGM+74+SLS-2026-W19+9'
DTM+90:20260504:102'
DTM+91:20260510:102'
NAD+SU+5410000000456::9'
RFF+ACE:CONTRACT-2025-Q4'
DTM+171:20251201:102'
CUX+2:EUR:9'
LOC+162+5410000000999::9'
DTM+90:20260504:102'
DTM+91:20260510:102'
LIN+1++3520000001234:EN'
IMD+F++:::Acoustic guitar, mahogany finish'
PIA+1+ACME-AG-100:SA'
ALI+++88'
PRI+AAA:849.00'
QTY+47:18'
QTY+61:1530'
MOA+86:15282.00'
LIN+2++3520000005678:EN'
IMD+F++:::Capo, spring loaded'
PRI+AAA:19.50'
QTY+47:142'
QTY+61:84'
MOA+86:2769.00'
UNT+25+1'
UNZ+1+CTRL000077'
  • BGM+74+SLS-2026-W19+9 — code 74 (sales report), number SLS-2026-W19, status 9 (Original).
  • DTM+90 — period start. DTM+91 — period end.
  • NAD+SU — Supplier. RFF+ACE — contract reference (ACE = Additional Customer Equivalent reference).
  • CUX+2:EUR:9 — reference currency for amounts (qualifier 2 = reference currency, 9 = ordering currency).
  • LOC+162 — sales location (qualifier 162 = place of sale), identified by GLN.
  • For each LIN: QTY+47 = sales quantity (sold over the period), QTY+61 = on-hand quantity (stock).
  • MOA+86 — Message total amount (sale value over the period, net of taxes).
  • UNT+25+1 — 25 segments in the message.

Common errors

  • SG5 without LOC — the Detail section must always open with a LOC qualifier 162. Jumping straight to LIN without LOC context is rejected.
  • QTY qualifier mismatch — 47 = sales quantity, 61 = on-hand, 25 = ordered quantity. Mixing these silently breaks downstream analytics.
  • Wrong DTM period qualifier — 90/91 = period start/end. Using 137 (document date) instead loses the period semantics.
  • Missing GTIN in LIN[3] — most subsets require a GTIN-13 or GTIN-14 in composite C212. An internal reference without GTIN is usually rejected by research institutes.
  • NAD per location outside SG8 — to differentiate parties per location, NAD must live in SG8 (sales channel), not the header.

SLSRPT typically sits in a Vendor Managed Inventory loop:

  • SLSFCT — Sales Forecast (forward-looking complement to SLSRPT for replenishment).
  • INVRPT D.96A — Inventory Report (stock state at a given time).
  • ORDERS D.96A — Supplier-generated order in VMI mode.
  • DESADV D.96A — Subsequent despatch advice.
  • CONTRL D.96A — automatic syntactic acknowledgment.

JSON equivalent

JSON projection for integration into an analytics platform or data warehouse:

json slsrpt-d96a-equivalent.json
{
  "interchange": {
    "controlRef": "CTRL000077",
    "from": { "id": "5410000000456", "qualifier": "14" },
    "to": { "id": "5410000000123", "qualifier": "14" },
    "datetime": "2026-05-13T08:00:00Z",
    "syntax": { "id": "UNOC", "version": "3" }
  },
  "message": {
    "ref": "1",
    "type": "SLSRPT",
    "version": { "syntax": "D", "release": "96A", "agency": "UN" }
  },
  "salesReport": {
    "number": "SLS-2026-W19",
    "function": "74",
    "status": "9",
    "period": { "from": "2026-05-04", "to": "2026-05-10" },
    "parties": {
      "supplier": { "gln": "5410000000456" }
    },
    "contract": { "qualifier": "ACE", "ref": "CONTRACT-2025-Q4", "date": "2025-12-01" },
    "currency": "EUR",
    "locations": [
      {
        "gln": "5410000000999",
        "period": { "from": "2026-05-04", "to": "2026-05-10" },
        "lines": [
          {
            "ref": 1, "gtin": "3520000001234",
            "description": "Acoustic guitar, mahogany finish",
            "supplierItem": "ACME-AG-100",
            "price": { "net": 849.00 },
            "quantities": { "sold": 18, "onHand": 1530 },
            "amount": { "saleValue": 15282.00 }
          },
          {
            "ref": 2, "gtin": "3520000005678",
            "description": "Capo, spring loaded",
            "price": { "net": 19.50 },
            "quantities": { "sold": 142, "onHand": 84 },
            "amount": { "saleValue": 2769.00 }
          }
        ]
      }
    ]
  }
}