X12 352 — U.S. Customs Carrier Cargo Information
The 352 sends the US Customs the cargo information of a carrier: containers, lots, owners, as part of the AMS / ACE filing.
Purpose
The 352 is used by carriers (motor, rail, air, ocean) to declare cargo to US CBP (Customs and Border Protection) via the ACE (Automated Commercial Environment) program. It carries the list of containers, bills of lading, commodities, origin and arrival ports, and beneficial-owner identification.
It feeds the Cargo Targeting System (CTS) filtering for targeted inspections and the C-TPAT security programs. Acknowledged by 997 then by 355 (Customs Acceptance / Rejection) on the business side for clearance status, or by 357 (In Bond) for in-bond movements.
Envelope structure
The 352 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*ACMECARRIER *ZZ*USCBPACE *260514*1530*U*00401*000000352*0*P*>~
GS*CC*ACMECARRIER*USCBPACE*20260514*1530*1*X*004010~
ST*352*0001~
M10*ACME LINES*A*1234567*EAST*ACME-EAST-005*M*20260514~
P4*USNYC*20260520~
N7*MSCU*4501230*22G1~
N9*BM*BL-2026-EAST-998~
N1*SH*ACME ELECTRONICS BR*92*BR-001~
N1*CN*ACME RETAIL US*92*US-0001~
GR5*CN*US~
GR5*L1*BRRIO~
SE*9*0001~
GE*1*1~
IEA*1*000000352~ Common segments
- Header —
ST,M10(Manifest Identifying Information),P4(US Port Information). - Units and BL —
N7(Equipment) loop,N9(BL),N1(Shipper, Consignee),H1(Hazmat). - Commodity details —
GR5(Loading or Discharge Location Information),LX+L1(charges). - Access control —
N1*IS(In-Bond),K1(Remarks). - Summary —
SE.
Common pitfalls
- SCAC mandatory:
M1003is the carrier SCAC (Standard Carrier Alpha Code) issued by NMFTA; without a valid SCAC the CBP filing is rejected via 355. - AMS vs ACE: the legacy AMS (Automated Manifest System) has migrated to ACE since 2015; some legacy partners still speak AMS but the 352 now targets ACE.
- Transport mode:
M1004must reflect the actual mode (M = Motor, A = Air, S = Sea, R = Rail); a mismatch routes the filing into the wrong ACE queue.
Related transactions
Documentation
The code 352 and the name U.S. Customs Carrier Cargo 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.