Le format de fichier X12 expliqué : enveloppes, segments et éléments
Un fichier X12 ressemble à un mur d’astérisques tant qu’on ne connaît pas ses quatre niveaux. Sélectionnez une ligne de cet avis d’expédition pour voir ce qu’elle dit, puis apprenez à lire le guide de votre partenaire.
L’enveloppe extérieure. Elle nomme l’expéditeur et le destinataire, la date et l’heure, la version X12, un numéro de contrôle, et indique s’il s’agit d’un fichier d’essai ou de production. Elle déclare aussi les séparateurs qu’utilise le reste du fichier.
Données d’exemple. Sélectionnez une ligne pour voir ses éléments ; les positions suivent les étiquettes magenta du portail Weredi, par exemple BSN02.
Quatre niveaux, comme des enveloppes dans des enveloppes
Tout fichier X12 a la même structure. Le document d’affaires est la partie la plus intérieure ; tout ce qui l’entoure sert à ce que le bon système le reçoive et puisse prouver que rien n’a été perdu.
| Niveau | Ouvert par | Fermé par | Ce qu’il contient |
|---|---|---|---|
| Échange | ISA | IEA | Une transmission entre deux partenaires |
| Groupe fonctionnel | GS | GE | Des documents du même type, dans une seule version X12 |
| Transaction | ST | SE | Un document d’affaires : une commande, un avis d’expédition, une facture |
| Segment | son identifiant | ~ | Une ligne de données, faite d’éléments |
Lire un segment
Un segment commence par son identifiant, deux ou trois caractères comme BSN, suivi de ses éléments. Les éléments sont nommés par leur position : BSN02 est le deuxième élément de BSN. Une position vide compte quand même, d’où les suites comme **.
Les séparateurs ne sont pas fixés par la norme : c’est le fichier qui les déclare. Le caractère qui suit ISA sépare les éléments, ISA16 donne le séparateur des composants à l’intérieur d’un élément, et le caractère qui suit ISA16 termine chaque segment. L’astérisque, le signe « plus grand que » et le tilde sont courants, pas obligatoires.
Dates, heures et codes
Les dates sont des chiffres sans ponctuation : ISA09 utilise six chiffres AAMMJJ, la plupart des autres dates huit chiffres AAAAMMJJ. Beaucoup d’éléments contiennent un code tiré d’une liste plutôt que du texte libre : HL03 vaut S, O ou I, et ISA15 vaut P pour production ou T pour essai.
Numéros de contrôle et comptes
Chaque segment d’ouverture porte un numéro de contrôle que sa fin reprend : ISA13 et IEA02, GS06 et GE02, ST02 et SE02. Les segments de fin comptent aussi ce qu’ils enferment. Si un numéro ou un compte ne concorde pas, le destinataire rejette le fichier au lieu de deviner, et son 997 le dit. Pour en savoir plus : 997 ou 855.
Boucles et hiérarchie
Certains segments se répètent en groupe, ce qu’on appelle une boucle : chaque ligne PO1 d’une commande, par exemple. Les avis d’expédition vont plus loin et forment un arbre avec des segments HL, chacun pointant vers son parent : expédition, puis commande, puis emballage, puis article. L’ASN 856, ligne par ligne parcourt cet arbre en détail.
Le guide de votre partenaire décide du reste
X12 définit tout ce qu’un document peut contenir. Chaque détaillant publie un guide de mise en œuvre qui dit ce qu’il exige vraiment, et c’est ce guide qui sert à vérifier vos fichiers. Il comporte deux types de pages :
- La liste des segments : quels segments sont obligatoires ou facultatifs, dans quel ordre, combien de fois chacun peut se répéter et comment ils s’imbriquent en boucles.
- Le détail des éléments : pour chaque élément, s’il est exigé, sa longueur minimale et maximale, son type de données et les codes acceptés par le partenaire.
Le réseau Weredi publie ces guides pour de nombreux détaillants, segment par segment. Par exemple, voici le guide 856 de Canadian Tire, et ce qu’attend ce détaillant dans l’ensemble sur sa page d’exigences EDI.
Vérifiez un fichier selon un guide, gratuitement
Chaque guide publié dans le réseau vient avec un validateur. Collez ou téléversez un document : il est vérifié selon les règles de ce partenaire, soit l’ordre et la répétition des segments, les éléments exigés, la longueur des champs, les types de données et les codes acceptés. Rien n’est conservé, et vous pouvez charger l’exemple du partenaire pour voir à quoi ressemble un fichier valide.
Bon à savoir : le validateur vérifie selon le guide publié du partenaire seulement. Ce n’est pas un test complet de conformité X12, et le réussir ne garantit pas que le partenaire acceptera le fichier.
Les premiers documents que vous croiserez
| Transaction | Document | Pour en savoir plus |
|---|---|---|
850 | Bon de commande | Les modifications de commande : 850, 860, 865 |
855 | Accusé de commande | 997 ou 855 |
856 | Avis d’expédition (ASN) | L’ASN 856, ligne par ligne |
810 | Facture | Anatomie d’une facture 810 |
997 | Accusé fonctionnel | 997 ou 855 |
Avec Weredi, vous tapez rarement du X12
Vos 855, 856 et 810 sont créés à partir du bon de commande auquel ils répondent, chaque champ affiche sa position X12, et chaque document est validé selon le guide de votre partenaire avant son envoi. Vous débutez ? Commencez par débuter avec l’EDI.
Questions
Quelle est la différence entre 4010 et 5010 ?
Ce sont des versions de la norme X12, comme les éditions d’un dictionnaire. Des segments et des codes changent un peu de l’une à l’autre. Le guide de votre partenaire précise laquelle utiliser, et l’élément GS08 du fichier l’indique.
Les séparateurs peuvent-ils être autres que * et ~ ?
Oui. Chaque fichier déclare les siens dans le segment ISA, et le validateur lit ceux de votre fichier. Vérifiez le guide de votre partenaire au cas où il exigerait des caractères précis.
Pourquoi mon fichier est-il rejeté dans un 997 alors que les données semblent bonnes ?
C’est souvent l’enveloppe, pas les données : un numéro de contrôle qui ne concorde pas avec sa fin, un mauvais compte dans SE01, ou un identifiant d’expéditeur ou de destinataire différent de celui configuré par le partenaire.
À lire aussi
Tous les articles →Lisez le X12 sans le décoder à la main
Weredi affiche chaque élément avec sa position et sa signification, et crée vos documents à partir de la commande : vous n’avez presque jamais à taper un segment.