ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

X12 355 — U.S. Customs Acceptance / Rejection

The 355 is the CBP response to a 352 (manifest) or a 309 (import manifest): acceptance, hold or rejection, with reason code and expected action.

Purpose

The 355 documents the CBP decision on a received manifest: 1AN = Accepted, 1AT = Hold, 1AC = Rejected, plus a long list of finer codes (Cargo Examination, Documentation Required). It indicates the source document, manifest number, and the action the carrier must take.

It is the status reconciliation instrument of the ACE chain. Acknowledged by 997 (no business response — the 355 is itself a response). It is used across modes: motor (CBP truck manifests), air (cargo screening), ocean, rail.

Envelope structure

The 355 travels within the three X12 envelope levels (ISA/IEA, GS/GE with functional group AY, and ST/SE). Didactic example in release 004010:

x12 example-355.x12
ISA*00*          *00*          *ZZ*USCBPACE      *ZZ*ACMECARRIER   *260514*1600*U*00401*000000355*0*P*>~
GS*AY*USCBPACE*ACMECARRIER*20260514*1600*1*X*004010~
ST*355*0001~
M10*ACME LINES*A*1234567*EAST*ACME-EAST-005*M*20260514~
P4*USNYC*20260520~
N9*MA*MAN-2026-NYC-0098~
NA*1AN*MAN-2026-NYC-0098~
N7*MSCU*4501230*22G1~
NA*1AN*BL-2026-EAST-998~
N7*MSCU*7782314*42G1~
NA*1AT*BL-2026-EAST-999*Cargo Examination Required~
SE*10*0001~
GE*1*1~
IEA*1*000000355~

Common segments

  • HeaderST, M10 (Manifest Identifying Info), P4 (Port).
  • Decision — repeated NA (Cross-Reference Equipment): status code (1AN, 1AT, 1AC), reference document.
  • Unit detailsN7 (Equipment) + NA for unit-level decisions, accepting Accept / Hold mix inside a single manifest.
  • Reason — free-text in NA03 or qualified reason code.
  • SummarySE.

Common pitfalls

  • 1AT is not a rejection: Hold-for-exam does not mean the manifest is broken; the carrier must present the container for inspection, not re-send the 352. Confusing both wastes hours.
  • Sliding code list: the NA01 code list evolves (new Hold codes post-9/11, post-COVID); a frozen parser ignores new codes and masks critical holds.
  • Partial response: a 355 can accept some units and hold others inside the same manifest — an all-or-nothing parser misses container-level holds.

Documentation

The code 355 and the name U.S. Customs Acceptance / Rejection 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.