BodyliaBodylia OpenB2BSign in
← All guides

Recall notice

nutrab2b.quality.recall_issued.v2 · Quality & compliance

Purpose
Recall or withdraw lots; must name every downstream lot derived from the affected lot and every customer that received them.
When to send
Safety or compliance issue in market.
Sender → receiver
Brand / responsible party → All partners in the chain
Expected responses
ACK (mandatory, within 24 h for Class I)
Equivalent standards
EPCIS: ObjectEvent recalling
Scenarios using it
Recall walks the full genealogy

Fields and mappings

FieldTypeReqDescriptionCode list / formatEDI / GS1 / SAP mapping
recall_idstringyesRecall id
classstringyesRecall classrecall_class
reasonstringyesReason
root_lotsarray<string>yesLots where the problem started
affected_lotsarray<string>yesAll affected lots incl. every downstream lotNB-R010
affected_customersarray<string>GLNs that received affected lots
actionstringyesWhat partners must do
marketsarray<string>Markets (country codes)

Business rules

Example

{
  "specversion": "2.0",
  "id": "evt-recall-RC-2027-01-1",
  "type": "nutrab2b.quality.recall_issued.v2",
  "source": "urn:gln:4012345000009:erp",
  "subject": "RC-2027-01",
  "time": "2026-11-02T09:00:00Z",
  "datacontenttype": "application/json",
  "dataschema": "https://nutrab2b.org/schemas/2.0/RECALL.json",
  "sender": {
    "gln": "4012345000009"
  },
  "receiver": {
    "gln": "0614141000012"
  },
  "correlationid": "CONV-RFQ-1001",
  "idempotencykey": "RECALL:RC-2027-01:1",
  "sequence": 1,
  "env": "test",
  "data": {
    "recall_id": "RC-2027-01",
    "class": "II",
    "reason": "Undeclared sesame cross-contact",
    "root_lots": [
      "BL-27-001"
    ],
    "affected_lots": [
      "BL-27-001",
      "FP-27-010"
    ],
    "affected_customers": [
      "0614141000012"
    ],
    "action": "Quarantine and return",
    "markets": [
      "US"
    ]
  }
}

Mapping checklist