X12 850 — Purchase Order
Le 850 est la transaction de commande de référence en EDI nord-américain : l'acheteur notifie au fournisseur son intention d'acheter, avec les articles, quantités et conditions convenues.
Objet
Le 850 documente un événement d'affaires unique : la commande ferme passée par un acheteur à un fournisseur. Il porte l'identifiant et la date de la commande, les parties impliquées (acheteur, livré-à, facturé-à), les lignes d'articles avec quantité et prix convenu, et éventuellement les références de contrat-cadre ou de date de livraison souhaitée. Il s'utilise aussi bien pour une commande ponctuelle spot que pour un call-off contre blanket order ou un réapprovisionnement planifié.
Le 850 ne porte pas les modifications après acceptation — celles-ci passent par le 860 (Purchase Order Change Request). Il ne porte pas non plus les annulations : une annulation se modélise comme un 860 avec un code de fonction approprié, ou comme un nouveau 850 dont le BEG fait référence à la commande à annuler.
Structure d'enveloppe
Comme toute transaction X12, le 850 voyage à l'intérieur des trois niveaux d'enveloppe
standard : ISA/IEA (interchange), GS/GE (functional group,
ici PO), et ST/SE (transaction set lui-même). Voici un 850
didactique réduit à deux lignes, en version 004010 :
ISA*00* *00* *ZZ*ACMERETAIL *ZZ*ACMEVENDOR *260513*1430*U*00401*000000123*0*P*>~
GS*PO*ACMERETAIL*ACMEVENDOR*20260513*1430*1*X*004010~
ST*850*0001~
BEG*00*SA*PO78901**20260513~
REF*DP*0042~
DTM*002*20260520~
N1*BY*ACME RETAIL CO*92*0001~
N1*ST*ACME WAREHOUSE 42*92*0042~
PO1*1*2*EA*9.99**UP*012345678905~
PO1*2*5*EA*19.50**UP*012345678912~
CTT*2~
SE*10*0001~
GE*1*1~
IEA*1*000000123~
Le BEG ouvre le corps : type de commande, code de fonction (00 =
Original), identifiant de la commande, et date. Les N1 introduisent les
parties par leur rôle (BY = Buyer, ST = Ship To, BT = Bill To…). Chaque
PO1 représente une ligne d'article. Le CTT sert de contrôle
arithmétique côté détail. Le SE compte tous les segments du transaction set
(UNH-équivalent ST inclus, trailer SE inclus).
Segments courants
Les groupes de segments que vous rencontrerez le plus souvent dans un 850 réel :
- Header —
ST,BEG(Beginning Segment),CUR(devise),REF(références — n° de contrat, n° d'ordre interne),FOB(Free On Board),DTM(dates métier). - Parties — boucle
N1répétée, avecN3(adresse),N4(ville / état / code postal),PER(contacts). - Lignes — boucle
PO1avecPID(description),SAC(allowance/charge ligne),TXI(taxes),DTM(dates spécifiques à la ligne),SCH(schedule). - Summary —
CTT(Control Total) pour la cohérence du nombre de lignes,AMT(montants totaux le cas échéant), puisSEqui ferme la transaction.
Le détail exact des qualifiers autorisés pour chaque élément est documenté dans l'Implementation Guide (TR3) propre à chaque release ; ediverse.io ne le redistribue pas (voir la page X12 pour le rappel du copyright).
Quand vous la croisez
- Retail / grande distribution — le 850 est l'instrument quotidien des relations Walmart, Target, Costco, Lowe's avec leurs fournisseurs. Les annexes Vendor Compliance imposent généralement la 4010 ou la 5010.
- Manufacturing / automotive — utilisé pour les commandes spot et les call-offs contre blanket. L'automotive nord-américain combine souvent 850 et 862 (Shipping Schedule) pour le JIT.
- Gouvernement fédéral US — la GSA et le DoD acceptent le 850 pour les achats catalogue.
- Distribution B2B — grossistes (Grainger, McKesson) et marketplaces B2B échangent 850 et 855 pour la commande puis l'accusé.
Transactions liées
- 855 — Purchase Order Acknowledgment (réponse fournisseur)
- 856 — Ship Notice/Manifest (ASN)
- 810 — Invoice
- 860 — Purchase Order Change Request
- 865 — Purchase Order Change Acknowledgment
- 869 — Order Status Inquiry / 870 — Order Status Report
Documentation
Le code 850 et le nom Purchase Order sont publics et listés sur x12.org/products/transaction-sets. Le contenu détaillé (loops, qualifiers, listes de codes par élément, structure complète des boucles) est la propriété d'ASC X12 et de DISA, distribuée via les Implementation Guides (TR3) payants par release. ediverse.io ne couvre que les concepts, l'enveloppe publique et des exemples didactiques ; pour l'implémentation segment-par-segment, référez-vous à votre TR3 sous licence.