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.
oci — architecture de données en transit

OCI

SAP Open Catalog Interface. Le protocole de punchout maintenu par SAP, dominant dans les écosystèmes SAP SRM et SAP Ariba depuis le début des années 2000.

Qu'est-ce que OCI ?

OCI est un protocole de punchout dont le rôle est de permettre à un utilisateur d'un ERP SAP (SRM, Ariba, S/4HANA) de naviguer dans le catalogue web hébergé chez un fournisseur, de constituer un panier, puis de rapatrier ce panier dans son ERP sous forme de lignes de commande prêtes à approbation. Contrairement à cXML qui transporte les articles dans un XML, OCI transporte les articles dans les champs d'un formulaire HTML que le catalogue fournisseur poste vers l'ERP acheteur via le navigateur de l'utilisateur.

Cette mécanique simple — un POST HTTP standard avec un jeu de champs nommé NEW_ITEM-* — explique le succès du protocole : aucun stack XML à déployer côté fournisseur, aucun système d'échange B2B intermédiaire, juste une page web qui sait soumettre un formulaire à l'URL fournie par l'ERP acheteur au lancement du punchout.

Anatomie d'un retour OCI

Le flux OCI tient en deux temps : (1) l'ERP acheteur ouvre la session en transmettant au catalogue fournisseur l'URL de retour (HOOK_URL) et les identifiants utilisateur ; (2) au moment du checkout, le catalogue poste vers cette URL un formulaire HTML contenant une ligne de paramètres NEW_ITEM-<CHAMP>[n] par article du panier (où n est le rang de la ligne, à partir de 1). Voici une trame minimale :

html oci-return.html
<!-- Formulaire HTML que le catalogue fournisseur poste vers le système acheteur (SAP) -->
<form method="POST" action="https://buyer.example/sap/bc/srm/return">
  <input type="hidden" name="NEW_ITEM-DESCRIPTION[1]" value="Stylo bille noir" />
  <input type="hidden" name="NEW_ITEM-MATNR[1]"       value="" />
  <input type="hidden" name="NEW_ITEM-QUANTITY[1]"    value="2" />
  <input type="hidden" name="NEW_ITEM-UNIT[1]"        value="EA" />
  <input type="hidden" name="NEW_ITEM-PRICE[1]"       value="9.99" />
  <input type="hidden" name="NEW_ITEM-PRICEUNIT[1]"   value="1" />
  <input type="hidden" name="NEW_ITEM-CURRENCY[1]"    value="EUR" />
  <input type="hidden" name="NEW_ITEM-VENDOR[1]"      value="0000100042" />
  <input type="hidden" name="NEW_ITEM-VENDORMAT[1]"   value="SKU-123" />
  <input type="hidden" name="NEW_ITEM-MATGROUP[1]"    value="44121706" />
  <input type="hidden" name="NEW_ITEM-LEADTIME[1]"    value="3" />
  <button type="submit">Valider le panier</button>
</form>

Le formulaire est généralement auto-submitté en JavaScript dès l'arrivée sur la page de confirmation. Les champs NEW_ITEM-UNIT[n] portent une unité de mesure issue de la recommandation UNECE Rec 20 (par exemple EA, KGM, PCE), et les champs NEW_ITEM-CURRENCY[n] portent un code monnaie ISO 4217 (EUR, USD, GBP).

Versions

VersionStatutNotes
2.0BHistoriqueSous-ensemble initial de champs NEW_ITEM-*.
3.0HistoriqueÉlargissement du jeu de champs et de la documentation.
4.0Encore largement déployéeSpécification courte (~10 pages), référence stable pour SAP SRM.
5.0CouranteSpécification complète (~50 pages), introduit la recherche fédérée multi-fournisseurs et les attributs étendus (services, contrats, attachments).

Référence des champs NEW_ITEM-*

Les champs ci-dessous proviennent directement de la spécification SAP OCI 5.0 archivée sur ediverse.io. Chaque ligne du panier répète l'ensemble du jeu de champs avec son indice [n] propre.

ChampRôle
NEW_ITEM-DESCRIPTION[n]Description de l'article.
NEW_ITEM-MATNR[n]Numéro produit SRM de l'article (à remplir uniquement si connu du catalogue).
NEW_ITEM-QUANTITY[n]Quantité commandée pour la ligne.
NEW_ITEM-UNIT[n]Unité de mesure de la quantité (UNECE Rec 20).
NEW_ITEM-PRICE[n]Prix de l'article par unité de prix.
NEW_ITEM-PRICEUNIT[n]Unité de prix (si vide, vaut 1).
NEW_ITEM-CURRENCY[n]Code monnaie ISO 4217 de la ligne.
NEW_ITEM-LEADTIME[n]Délai de livraison en jours.
NEW_ITEM-VENDOR[n]Identifiant du fournisseur dans le système acheteur.
NEW_ITEM-VENDORMAT[n]Référence produit du fournisseur (catalogue source).
NEW_ITEM-MANUFACTCODE[n]Identifiant du fabricant.
NEW_ITEM-MANUFACTMAT[n]Référence du fabricant pour le produit.
NEW_ITEM-MATGROUP[n]Groupe de matières (UNSPSC ou taxonomie interne).
NEW_ITEM-SERVICE[n]Indicateur de ligne de service plutôt que de produit.
NEW_ITEM-CONTRACT[n]Référence de contrat applicable.
NEW_ITEM-CONTRACT_ITEM[n]Référence de poste contractuel applicable.
NEW_ITEM-EXT_CATEGORY_ID[n]Identifiant de catégorie externe (UNSPSC, eCl@ss, etc.).
NEW_ITEM-EXT_CATEGORY[n]Schéma de catégorisation externe utilisé.
NEW_ITEM-EXT_PRODUCT_ID[n]Identifiant produit externe (GTIN, codes-barres, etc.).
NEW_ITEM-EXT_SCHEMA_TYPE[n]Type de schéma externe utilisé.
NEW_ITEM-EXT_QUOTE_ID[n]Référence de devis externe associé à la ligne.
NEW_ITEM-EXT_QUOTE_ITEM[n]Référence de poste de devis externe.
NEW_ITEM-ATTACHMENT[n]URL ou fichier joint à la ligne.
NEW_ITEM-ATTACHMENT_PURPOSE[n]Rôle de la pièce jointe (fiche technique, photo, etc.).
NEW_ITEM-LONGTEXT_n:132[]Texte long de description de la ligne (multi-ligne).
NEW_ITEM-ITEM_TYPE[n]Type de ligne (catalogue, service, etc.).
NEW_ITEM-PARENT_ID[n]Identifiant du parent pour les structures hiérarchiques.
NEW_ITEM-SLD_SYS_NAME[n]Nom du système d'information source (System Landscape Directory).
NEW_ITEM-CUST_FIELD1[n]5Champs d'extension client, libre usage.

Cas d'usage

  • Punchout catalogue dans SAP SRM / S/4HANA Sourcing — l'utilisateur navigue dans le catalogue fournisseur depuis l'écran de création de demande d'achat ; au retour, les lignes NEW_ITEM-* alimentent automatiquement la demande, qui part ensuite dans le workflow d'approbation interne.
  • SAP Ariba Punchout — bien qu'Ariba pousse cXML comme protocole principal, OCI reste accepté pour les fournisseurs historiques, en particulier les catalogues spécialisés (papeterie, fournitures industrielles, MRO).
  • Recherche fédérée multi-fournisseurs (OCI 5.0) — l'acheteur soumet une requête textuelle à plusieurs catalogues OCI 5.0 simultanément ; chaque catalogue répond avec une liste structurée d'articles directement consommable côté ERP.
  • Catalogues MRO — petite quincaillerie, consommables, EPI : OCI reste majoritaire chez les fournisseurs de ces familles.

Pour aller plus loin