Publié le
PunchOut Oracle Procurement : spécificités et intégration Magento
Oracle Procurement Cloud a ses propres conventions cXML. Ce guide couvre les spécificités Oracle, les différences avec Ariba et Coupa, et l'approche recommandée pour Magento et Adobe Commerce.
Oracle Procurement Cloud est le troisième système d’achats le plus rencontré dans les projets PunchOut, après SAP Ariba et Coupa. Utilisé par les grands groupes qui ont déjà un écosystème Oracle (ERP Cloud, Fusion), il a ses propres conventions en matière de cXML.
Oracle Procurement dans le paysage e-procurement
| Système | Part estimée des demandes PunchOut |
|---|---|
| SAP Ariba | ~50% |
| Coupa | ~25% |
| Oracle Procurement | ~15% |
| Jaggaer, autres | ~10% |
Si votre client est un grand groupe avec Oracle comme ERP, il utilisera probablement Oracle Procurement Cloud (anciennement Oracle iProcurement) pour ses achats. Et il vous demandera une connexion PunchOut en cXML.
Le flux PunchOut avec Oracle
Le flux est standard cXML, mais Oracle a quelques particularités :
Oracle
Envoie un PunchOutSetupRequest (cXML, identifiants Oracle)
Fournisseur
Valide les credentials, crée une session
Fournisseur
Renvoie l'URL de session
Prescripteur
Navigue sur le catalogue, constitue son panier
Catalogue
Envoie le panier via le connecteur
Fournisseur
Construit le PunchOutOrderMessage et l'envoie
Oracle
Crée une réquisition interne pour validation
Différences avec Ariba et Coupa
| SAP Ariba | Coupa | Oracle | |
|---|---|---|---|
| Credentials | ANCI + SharedSecret | SharedSecret | Identity + SharedSecret |
| BuyerCookie | Standard | Standard | Souvent enrichi |
| Extrinsic | Variables | Variables | Spécifiques Oracle |
| Mode Edit | Supporté | Très utilisé | Supporté |
| Sandbox | Via invitation | CSP intégré | Via Oracle Cloud |
| DTD | Standard | Standard | Standard + extensions |
Les credentials Oracle
Oracle utilise le même mécanisme de credentials cXML (From, To, Sender) mais les identifiants sont souvent structurés différemment :
- Le
From > Identitycontient l’identifiant Oracle du client (pas un ANCI Ariba) - Le
To > Identitycontient votre identifiant fournisseur tel que configuré dans Oracle - Le
SharedSecretest défini dans l’administration Oracle Procurement
Le BuyerCookie enrichi
Oracle a tendance à inclure plus d’informations dans le BuyerCookie que les autres systèmes. Ce cookie - que vous devez renvoyer tel quel dans le PunchOutOrderMessage - peut contenir des identifiants de réquisition, des codes de suivi, et des métadonnées Oracle.
Les champs Extrinsic Oracle
Oracle s’attend à des champs Extrinsic spécifiques dans le PunchOutOrderMessage qui n’existent pas chez Ariba ou Coupa :
UniqueName- identifiant interne Oracle pour le produitIsAdHoc- indique si l’article est hors catalogue- Codes analytiques et centres de coûts propres à Oracle
Ces champs doivent être configurés dans le mapping par acheteur.
Les pièges spécifiques Oracle
1. Le format des montants
Oracle peut être strict sur le nombre de décimales et le séparateur. Un prix 45.5 au lieu de 45.5000 peut poser problème selon la configuration du client.
2. L’encodage des caractères
Oracle Procurement Cloud est sensible à l’encodage UTF-8 des descriptions produit. Les caractères spéciaux français (accents, cédilles) doivent être correctement encodés dans le XML.
3. La gestion du catalogue vs hors catalogue
Oracle distingue les articles “catalogue” (référencés dans Oracle) et “ad hoc” (non référencés). Le PunchOutOrderMessage doit indiquer si l’article est de l’un ou l’autre type via les Extrinsic.
4. Les timeouts plus courts
Oracle Procurement impose souvent des timeouts de session plus courts qu’Ariba. Un prescripteur qui hésite trop longtemps sur votre boutique perd sa session.
Tester avec Oracle Procurement
Le test se fait généralement dans l’environnement Oracle Cloud de votre client :
- Le client vous crée un accès fournisseur dans son Oracle Procurement de test
- Vous configurez vos credentials (Identity, SharedSecret)
- Le client ou vous-même déclenchez un PunchOut de test
- Vous validez la session et le retour panier
- Le client vérifie la réquisition créée dans Oracle
L’observabilité des échanges est critique : Oracle ne donne pas toujours des messages d’erreur explicites. Voir le payload cXML exact échangé permet de diagnostiquer rapidement.
Comment Gatebold gère Oracle
Gatebold supporte Oracle Procurement Cloud avec :
- Credentials Oracle : validation des identifiants spécifiques Oracle
- BuyerCookie : préservation intégrale, aucune modification
- Extrinsic Oracle : configurables dans le mapping par acheteur
- Encodage UTF-8 : garanti sur tous les payloads sortants
- Précision des montants : configurable par connexion
Le même connecteur Magento sert pour Oracle, Ariba et Coupa - la différence est dans la configuration de la connexion dans Gatebold, pas dans le code.
En résumé
Oracle Procurement Cloud est le troisième acteur majeur en PunchOut. Ses spécificités (credentials, Extrinsic, BuyerCookie enrichi) demandent une configuration dédiée par acheteur, mais le flux reste du cXML standard. Si votre client est sur Oracle, l’intégration est tout à fait faisable - à condition d’anticiper les conventions Oracle dès le début.
Si vous avez un client Oracle qui vous demande le PunchOut sur Magento, parlons-en.