856 rejected: missing carton level
Your ASN describes pallets containing items — but the retailer's spec requires eachcarton to appear as its own identified level with its own barcode. The receiving dock scans cartons, so an ASN without them is unusable to the scanner.
What wrong vs right looks like
✗ Rejected shape ✓ Required shape (standard pack)
HL*1**S (shipment) HL*1**S (shipment)
HL*2*1*O (order) HL*2*1*O (order)
HL*3*2*I (item) ← no HL*3*2*P (pack/carton)
carton MAN*GM*00081234560000000116
HL*4*3*I (item, parent = the carton)Every pack (P) level carries a MANsegment with its SSCC-18 — the same number printed on the physical GS1-128 label.
Why it happens
- Shipment data exported from a system that tracks items-per-pallet but not cartons
- Hand-keyed ASNs where the carton step was skipped to save time
- Pick-and-pack shipments mapped with a standard-pack template (or vice versa)
The fix
- Get carton-level data into your shipment record: which items, in which quantity, in which carton
- Assign each carton an SSCC-18 (matching its printed label)
- Rebuild the HL tree with the P level between order and items, parents pointing correctly
- Re-validate: item quantities must sum up through cartons to shipment totals
FluentEDI's generator builds the carton hierarchy from a spreadsheet column ("carton #") and validates the structure before you send.Waitlist → · Related:HL parent-chain errors ·full 856 guide