BodyliaBodylia OpenB2BSign in
← All guides

Non-conformance / CAPA

nutrab2b.quality.nonconformance_raised.v2 · Quality & compliance

Purpose
Report a quality problem against a lot or shipment and track root cause, corrective and preventive actions to closure.
When to send
Failed test, complaint, audit finding, receiving defect.
Sender → receiver
Any party → Responsible party
Expected responses
ACK, DEVIATION, HOLD
Equivalent standards
X12: 842 (Nonconformance Report) · SAP: Quality notification (QM01)
Scenarios using it
-

Fields and mappings

FieldTypeReqDescriptionCode list / formatEDI / GS1 / SAP mapping
nc_idstringyesNC id
categorystringyesCategorync_category
severitystringyesSeverityseverity
lot_numberstringyesAffected lot
po_numberstringPO
descriptionstringyesWhat happened
root_causestringRoot cause
actionsarray<object>CAPA actions
typestringyescorrection | corrective | preventive^(correction|corrective|preventive)$
textstringyesAction
duedateyesDue
closeddateClosed
statestringyesopen | investigating | capa | closed^(open|investigating|capa|closed)$

Business rules

Example

{
  "specversion": "2.0",
  "id": "evt-nonconformance-ASH-26-120-1",
  "type": "nutrab2b.quality.nonconformance_raised.v2",
  "source": "urn:gln:0614141000012:erp",
  "subject": "ASH-26-120",
  "time": "2026-11-02T09:00:00Z",
  "datacontenttype": "application/json",
  "dataschema": "https://nutrab2b.org/schemas/2.0/NONCONFORMANCE.json",
  "sender": {
    "gln": "0614141000012"
  },
  "receiver": {
    "gln": "4012345000009"
  },
  "correlationid": "CONV-RFQ-1001",
  "idempotencykey": "NONCONFORMANCE:ASH-26-120:1",
  "sequence": 1,
  "env": "test",
  "data": {
    "nc_id": "NC-501",
    "category": "CONTAMINANT_METAL",
    "severity": "MAJOR",
    "lot_number": "ASH-26-120",
    "description": "Lead 1.2 ppm vs 0.5 ppm spec",
    "state": "investigating"
  }
}

Mapping checklist