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.

SAP IDoc — Intermediate Document

Le format pivot de SAP. L'IDoc n'est pas un standard de transport comme EDIFACT ou X12 : c'est le conteneur de données interne par lequel SAP émet et reçoit ses documents commerciaux. Dans la pratique, toute intégration EDI avec une entreprise sous SAP finit par mapper de l'EDIFACT ou du X12 vers — et depuis — un IDoc.

Qu'est-ce qu'un IDoc ?

IDoc signifie Intermediate Document. C'est une structure de données standardisée par SAP pour transporter un document métier (commande, facture, avis d'expédition, fiche article…) entre un système SAP et un autre système — qu'il soit SAP (via ALE, Application Link Enabling) ou externe (via une interface EDI).

Le point essentiel : l'IDoc est indépendant du transport et du standard cible. SAP produit toujours un IDoc ; c'est un composant tiers — le sous-système EDI (SAP Integration Suite / PI-PO, ou un éditeur comme SEEBURGER, Lobster, OpenText…) — qui traduit cet IDoc en EDIFACT, en X12 ou en un autre format avant de l'envoyer au partenaire, et inversement à la réception.

Les trois enregistrements

Tout IDoc est composé de trois types d'enregistrements :

EnregistrementTableRôle
Contrôle (1 seul)EDIDCMétadonnées de routage : émetteur/destinataire (partenaires logiques), type de message, type d'IDoc, sens (1 = sortant, 2 = entrant), port.
Données (n)EDIDDLe contenu métier, organisé en segments hiérarchiques (E1EDK* en-tête, E1EDP* postes…).
Statut (n)EDIDSL'historique de traitement : une suite de codes statut horodatés (03 transmis au port, 53 enregistré, 51 erreur…).

Anatomie d'un IDoc

Un IDoc sortant ORDERS05 (commande d'achat) se lit comme un en-tête de contrôle suivi des segments de données imbriqués :

text orders05-idoc.txt
EDI_DC40   |IDoctype=ORDERS05 |Mestype=ORDERS |Direction=1 (sortant)
           |Sender=PARTNER_SAP |Receiver=4012345500004 |Port=SUBSYS_EDI
E1EDK01    Données d'en-tête : devise EUR, n° de commande, Incoterm
E1EDK14    Qualifiants d'organisation (société, division)
E1EDKA1    Rôle partenaire AG (donneur d'ordre) — GLN 5412345000013
E1EDKA1    Rôle partenaire LF (fournisseur)     — GLN 4012345500004
E1EDP01    Poste 1 : quantité 240, unité PCE
  E1EDP19  Identifiant article : GTIN 4006381333931
  E1EDP05  Conditions de prix : 2,85 EUR
E1EDP01    Poste 2 : quantité 120, unité PCE
  E1EDP19  Identifiant article : GTIN 4006381333948

Les segments commencent par E1 suivi d'un code mnémonique : E1EDK01 (en-tête, Kopf), E1EDKA1 (partenaire), E1EDP01 (poste, Position), E1EDP19 (identifiant article). La hiérarchie (en-tête → postes → sous-postes) est portée par les niveaux de segment, comme les groupes de segments d'un message EDIFACT.

Type de message vs type de base

Deux notions à ne pas confondre :

  • Type de message (message type) — la nature logique du document : ORDERS, INVOIC, DESADV, MATMAS.
  • Type de base / type d'IDoc (basic type) — la structure technique versionnée : ORDERS05, INVOIC02, DELVRY03. Le suffixe numérique est la version de la structure.
Type de messageType de base courantDocument
ORDERSORDERS05Commande d'achat / de vente
ORDRSPORDERS05Réponse / confirmation de commande
DESADVDELVRY03Avis d'expédition
INVOICINVOIC02Facture / avoir
MATMASMATMAS05Fiche article (donnée de base)
DEBMAS / CREMASDEBMAS06 / CREMAS04Fiche client / fournisseur
REMADVPEXR2002Avis de règlement

ALE, ports et profils partenaires

La circulation des IDoc est paramétrée par quelques objets clés, manipulés via des transactions SAP bien connues des intégrateurs :

  • Profil partenaire (WE20) — pour chaque partenaire et chaque type de message, le sens, le type de base, le port et le mode de traitement.
  • Port (WE21) — le canal de sortie : fichier (le sous-système lit un répertoire), tRFC (vers un autre SAP), ou XML.
  • Message control — déclenche l'émission d'un IDoc à partir d'un document applicatif (p. ex. une commande créée génère un ORDERS05).
  • Suivi (WE02 / WE05) — la liste des IDoc et leur statut ; BD87 pour retraiter, WE19 pour tester.

Côté sortant : document applicatif → IDoc → port → sous-système EDI → EDIFACT/X12 → partenaire. Côté entrant : partenaire → EDIFACT/X12 → sous-système → IDoc → function module de posting qui crée le document dans SAP.

IDoc ↔ EDIFACT / X12

Codes statut

Les statuts les plus rencontrés (sortants 0x–4x, entrants 5x–7x) :

StatutSensSignification
03SortantIDoc transmis au port (remis au sous-système).
12SortantDispatch OK (envoi confirmé).
30SortantIDoc prêt, en attente de traitement.
02 / 04SortantErreur de transfert / dans le port.
53EntrantDocument applicatif enregistré avec succès.
51EntrantErreur de posting (données métier rejetées).
64EntrantIDoc prêt à être posté.

Pour aller plus loin