X12 358 — Customs Consist Information
The 358 transmits the detailed consist of a train to a customs border crossing: each wagon, container, and trailer present in the composition.
Purpose
The 358 is used on transborder rail flows US-Canada (CSX, NS, CN, CPKC) and US-Mexico (KCS, FXE): it carries the complete consist of the train arriving at the border, segmented by wagon and by unit (container, trailer, autorack), with BL references, shipper / consignee, commodities.
It is part of the ACE program for rail. Acknowledged by 997 and by 355. Typically preceded by a 309 for each contained BL, the 358 is the final presentation instrument at the border.
Envelope structure
The 358 travels within the three X12 envelope levels (ISA/IEA,
GS/GE with functional group CC, and ST/SE).
Didactic example in release 004010:
ISA*00* *00* *ZZ*CNRAIL *ZZ*USCBPACE *260514*1600*U*00401*000000358*0*P*>~
GS*CC*CNRAIL*USCBPACE*20260514*1600*1*X*004010~
ST*358*0001~
M10*CANADIAN NATIONAL*B*9876543*US BOUND*TRAIN-1234*R*20260514~
P4*USMSP*20260520~
LX*1~
N7*CNTX*8821095*A402~
N9*BM*BL-2026-CN-0098~
LX*2~
N7*CNTX*8821096*A402~
N9*BM*BL-2026-CN-0099~
SE*9*0001~
GE*1*1~
IEA*1*000000358~ Common segments
- Header —
ST,M10(mode R = Rail),P4(border Port). - Consist — repeated
LXloop per wagon:N7(Equipment),N9*BM(BL contained in this wagon). - Sub-wagons — if a wagon carries several containers (e.g., double-stack), a sub-loop documents each unit.
- Shipper / Consignee —
N1*SH/N1*CNmay be at train level or per BL. - Summary —
SE.
Common pitfalls
- Order of presentation: the consist must follow physical train order (head end to rear), not alphabetical; a CBP officer inspecting a specific wagon has no chance to find it without physical order.
- Pre-arrival timing: the 358 must be filed pre-arrival with delay varying by mode (1h before for US-Canada rail per ACE rules); a late filing triggers hold or crossing refusal.
- Empty cars: a train with empty wagons must include them even without BL; a truncated consist does not match the physical count and triggers an audit.
Related transactions
Documentation
The code 358 and the name Customs Consist Information are public and listed on x12.org/products/transaction-sets. The complete structure of loops, qualifiers and code lists is distributed by DISA via the proprietary Implementation Guides (TR3). ediverse.io covers only public concepts, the envelope and didactic examples.