Receiving advice
nutrab2b.logistics.received.v2 · Logistics & customs
- Purpose
- What actually arrived: accepted, short, over, damaged, temperature excursions, per lot.
- When to send
- Goods received and counted.
- Sender → receiver
- Buyer → Supplier
- Expected responses
- ACK, NONCONFORMANCE
- Equivalent standards
- X12: 861 · EDIFACT: RECADV · GS1: ReceivingAdvice · EPCIS: ObjectEvent receiving
- Scenarios using it
- Full order-to-cash · Three-way match failures · Short receipt settled with credit note
Fields and mappings
| Field | Type | Req | Description | Code list / format | EDI / GS1 / SAP mapping |
|---|---|---|---|---|---|
| receipt_id | string | yes | Receipt id | ||
| asn_id | string | yes | ASN | ||
| po_number | string | yes | PO | ||
| received_at | datetime | yes | Received at | ||
| lines | array<object> | yes | Received per lot | ||
| po_line_no | integer | yes | PO lineNB-R014 | ||
| lot_number | string | yes | Lot | ||
| accepted | object | yes | Accepted quantity | ||
| value | number | yes | Quantity | ||
| uom | string | yes | Unit of measure | uom | |
| rejected | object | Rejected quantity | |||
| value | number | yes | Quantity | ||
| uom | string | yes | Unit of measure | uom | |
| condition | string | yes | Condition | receipt_condition |
Business rules
- NB-R012 Three-way match failure, invoice quantity or price differs from PO and receipt beyond tolerance.
- NB-R014 Line reference unknown, response, ship notice or invoice line refers to a PO line that does not exist.
Example
{
"specversion": "2.0",
"id": "evt-receipt-PO-55012-1",
"type": "nutrab2b.logistics.received.v2",
"source": "urn:gln:0614141000012:erp",
"subject": "PO-55012",
"time": "2026-11-02T09:00:00Z",
"datacontenttype": "application/json",
"dataschema": "https://nutrab2b.org/schemas/2.0/RECEIPT.json",
"sender": {
"gln": "0614141000012"
},
"receiver": {
"gln": "4012345000009"
},
"correlationid": "CONV-RFQ-1001",
"idempotencykey": "RECEIPT:PO-55012:1",
"sequence": 1,
"env": "test",
"data": {
"receipt_id": "GR-3301",
"asn_id": "ASN-9001",
"po_number": "PO-55012",
"received_at": "2026-12-02T15:00:00-08:00",
"lines": [
{
"po_line_no": 1,
"lot_number": "ASH-26-118",
"accepted": {
"value": 500,
"uom": "KGM"
},
"condition": "GOOD"
}
]
}
}Mapping checklist
- Every required field populated from your system of record
- Coded fields mapped to the Bodylia OpenB2B code lists
- GLN, GTIN and SSCC check digits validated
- Rules above pass in the validator
- Idempotency key and per-subject sequence generated
- Expected responses, including rejections, handled
