ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

X12 997 — Functional Acknowledgment

L'accusé syntaxique historique de X12 : confirme la bonne réception d'un functional group GS/GE, segment par segment, et liste les éventuelles erreurs. Toujours en usage massif sur les releases ≤ 5010.

Objet de la transaction

Le 997 confirme la bonne réception syntaxique d'un functional group X12 : il atteste que le GS/GE a été reçu, que les ST/SE sont cohérents et que la grammaire X12 a été respectée. Il n'est pas un acknowledgment métier : il ne valide pas que le PO contienne des produits réels ou que l'ASN ait du sens — uniquement que le format est syntaxiquement correct.

Enveloppe et structure

Le 997 utilise la triple enveloppe X12 standard avec GS01 = FA (Functional Acknowledgment). Le 997 lui-même est généralement envoyé dans un autre functional group que celui qu'il accuse, pour éviter les boucles infinies. Voici un 997 d'acceptation et un 997 de rejet :

x12 accept-997.x12
ISA*00*          *00*          *ZZ*RECEIVER01     *ZZ*SENDER02       *260513*1500*U*00401*000000997*0*P*>~
GS*FA*RECEIVER01*SENDER02*20260513*1500*1*X*004010~
ST*997*0001~
AK1*PO*1~
AK2*850*0001~
AK5*A~
AK9*A*1*1*1~
SE*6*0001~
GE*1*1~
IEA*1*000000997~
x12 reject-997.x12
ISA*00*          *00*          *ZZ*RECEIVER01     *ZZ*SENDER02       *260513*1505*U*00401*000000998*0*P*>~
GS*FA*RECEIVER01*SENDER02*20260513*1505*1*X*004010~
ST*997*0001~
AK1*PO*2~
AK2*850*0002~
AK3*N1*5***8~
AK4*1*98*7~
AK5*R*5~
AK9*R*1*1*0~
SE*8*0001~
GE*1*1~
IEA*1*000000998~

Segments courants (concept)

  • HeaderAK1 Functional Group Response Header référence le functional group accusé (functional ID, control number).
  • Detail — par transaction reçue : AK2 Transaction Set Response Header identifie ST01 et ST02, AK3 Data Segment Note signale une erreur au niveau d'un segment (avec son code d'erreur), AK4 Data Element Note précise l'erreur au niveau élément (qualifier, position). AK5 Transaction Set Response Trailer porte le verdict (A Accepted, E Accepted with errors, P Partially accepted, R Rejected).
  • SummaryAK9 Functional Group Response Trailer donne le verdict du functional group (A, E, P, R), le nombre de ST inclus, le nombre accepté, et la liste des erreurs au niveau group. SE ferme la transaction.

997 vs 999 — la migration

Le 997 a été conçu en 1991 et n'a pas évolué pour suivre les améliorations syntaxiques des releases X12 récentes : il code mal les erreurs composites, n'a pas de granularité au niveau loop, et son vocabulaire d'erreurs est pauvre. À partir de la release X12 6020 (2008) le standard introduit le 999 Implementation Acknowledgment, plus riche : granularité composite/loop, vocabulaire d'erreur étendu, validation par rapport à l'implementation guide. La HIPAA 5010 impose 999 plutôt que 997 pour les acknowledgments des transactions santé (270/271/276/277/278/834/835/837). Sur les flux supply chain et finance non-HIPAA, le 997 reste massivement déployé et accepté en pratique.

Quand vous la croiserez

Le 997 est encore omniprésent en supply chain retail et manufacturing US : Walmart, Target, Home Depot, Costco, Lowe's, Kohl's, Macy's — tous échangent des 997 par dizaines de millions par jour. Les VANs traditionnelles (OpenText GXS, IBM Sterling, SPS Commerce, TrueCommerce) supportent les deux mais leurs partenaires historiques restent en 4010 + 997.

Transactions liées

  • 999 — Implementation Acknowledgment (le successeur). Voir 999 →
  • 824 — Application Advice (acknowledgment métier au-delà de la syntaxe).
  • TA1 — Interchange Acknowledgment (au niveau ISA/IEA, sous le 997).
  • Tous les transaction sets accusés : 210 · 214 · 821 · 823 · 990

Documentation