Intégration des factures dans votre ERP
Instructions étape par étape pour intégrer vos factures Coupa à votre ERP.
Introduction
Vous pouvez également télécharger ce document en tant que document Microsoft Word : Factures Coupa à ERP.docx
Considérations générales sur la configuration de l'API
- Commencez avec l'API Coupa
- Sécurité de la clé API (sera éventuellement obsolète)
- Accès à l'API Open Connect (à partir de R29)
- JSON/XML
- GraphQL (à partir de R30)
Charge utile limitée : champs et filtres API
L'API de Coupa renvoie beaucoup de données par défaut (par exemple : objets complets pour les objets associés). Les charges utiles de retour de l'API peuvent être très grandes et donc lentes. Cela peut être un problème pour les clients qui n'ont pas besoin des données superflues, sans parler de la consommation inutile de ressources.
Pour faciliter les choses, Coupa a le concept du paramètre « champs » et des filtres API qui renvoient une réponse JSON ou XML limitée au lieu de l'ensemble du schéma et de toutes les associations pour un objet.
- Filtres de réponse API
- API : Utilisation du nouveau paramètre de requête API « fields », Alternative à « return object »
Cas d'utilisation décrits dans cet article
Les factures ont généralement un numéro interne dans l'ERP. Dans ce document, nous supposons que ce numéro de document ERP est un champ personnalisé dans l'en-tête de la facture Coupa. Dans notre exemple, le champ personnalisé cf_erp_invoice_number
a été créé avec le nom ERP Invoice Number
. Cet article décrit les 3 options différentes pour intégrer les factures Coupa dans votre ERP(pour la création et les mises à jour).
Ces options changeront la façon dont vous pouvez surveiller vos intégrations à partir de Coupa :
- Option 1 : Surveillance simple basée sur le (s) champ(s) personnalisé (s) que vous définissez dans l'en-tête de facture
- Option 2 : Surveillance avancée à l'aide des enregistrements de l'historique d'intégration
- Option 3 : Tirer parti de la surveillance complète des intégrations Coupa
Pour les 3 options, les factures Coupa sont poussées vers l'ERP en fonction de l'indicateur d'exportation. En cas d'erreur, dans l'intégration d'une facture, une modification manuelle sera nécessaire sur la facture dans l'interface utilisateur Coupa : cette modification réinitialisera l'indicateur d'exportation, et la facture sera donc prise en compte lors de la prochaine exécution.
Coupa suggère que vous contactiez le support Coupa pour qu'il active cette option : Réinitialiser la date de dernière date d'exportation de la facture lors de chaque modification. Ce paramètre s'applique uniquement à l'interface utilisateur. Les modifications apportées avec l'API ne modifient pas le statut Exporté.
Créer une intégration et un contact dédiés pour l'API
Pour les options 2 et 3, vous devrez créer :
- Une intégration dédiée pour chaque orchestration d'API que vous implémentez
- Un ou plusieurs contact(s) d'intégration pour chaque intégration, qui sera (seront) alerté (s) en cas d'échec de l'intégration
Coupa suggère que vous contactiez le support Coupa pour qu'il active cette option : Activer le lien vers l'historique d'intégration selon le type de document. Ce paramètre ajoute un lien dans la page de configuration pour afficher l'historique d'intégration complet par type de document.
Option 1 : Surveillance simple basée sur le (s) champ(s) personnalisé (s)
Description
Dans ce scénario, pour chaque facture, nous ajoutons le statut d'intégration actuel dans un ou plusieurs champs personnalisés d'en-tête de facture. Nous avons ajouté le champ personnalisé
cf-integration-status créé avec le nom Integration Status
. Utilisez le tableau de données de facture standard pour suivre l'état d'intégration de vos documents à cette URL : https ://<your instance hostname>/factures
.
Diagramme d'orchestration
Étapes /détails des appels API
Étape 1 |
Obtenez la liste et les détails des factures Coupa à créer/mettre à jour dans l'ERP. Les critères de sélection comprennent l'indicateur d'exportation et le statut de la facture. |
---|---|
Méthode |
OBTENIR |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Échantillon du corps de |
Étape 2 |
Marquer la facture individuelle comme exportée |
---|---|
Méthode |
METTRE |
API |
https ://<your instance hostname>/api/invoices/<Invoice id> |
Params de requête |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Échantillon du corps de |
|
Étape 3 |
Mettre à jour un champ personnalisé pour le rapport et le numéro de document ERP |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Échantillon de corps de requête |
ou
|
Réponse Échantillon corporel |
ou
|
Option 2 : Surveillance avancée à l'aide de l'historique d'intégration
Description
Dans ce scénario, pour chaque facture, nous :
- Résoudre l'enregistrement d'historique d'intégration précédent pour le document
- Créer un enregistrement d'historique d'intégration
- Créer une alerte au contact d'intégration en cas d'erreur
Chaque document comprend les détails de l'historique d'intégration
Utilisez le tableau de données de l'historique d'intégration des factures standard pour suivre l'état d'intégration de vos documents. Vous pouvez le trouver sur : https ://<your instance hostname>/integration_history_records/invoices
.
Vous pouvez utiliser un filtre sur le code de réponse pour différencier les documents répliqués avec succès des documents qui ont échoué.
Diagramme d'orchestration
Étapes /détails des appels API
Étape 1 |
Obtenez la liste et les détails des factures Coupa à créer/mettre à jour dans l'ERP. |
---|---|
Méthode |
OBTENIR |
API |
|
Query Params |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Échantillon de corps de |
Étape 2 |
Marquer la facture individuelle comme exportée |
---|---|
Méthode |
METTRE |
API |
|
Query Params |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|
C'est ici que la création/mise à jour de la facture dans l'ERP a lieu.
Étape 3a |
Obtenir l'enregistrement de l'historique d'intégration non résolu |
---|---|
Méthode |
OBTENIR |
API |
|
Params de requête |
|
Exemple d'URL |
|
Échantillon de corps de la requête |
S/O |
Échantillon du corps de |
|
Étape 3b |
Résoudre l'enregistrement précédent de l'historique d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Query Params |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon de corps |
|
Étape 4a |
Mettre à jour un champ personnalisé pour le numéro de document ERP (succès) |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
URL d'exemple |
|
Échantillon de corps de la requête |
|
Réponse Échantillon corporel |
|
Étape 4b |
Créer un historique d'intégration (succès) |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
Exemple d'URL |
|
Échantillon de corps de requête |
|
Réponse Échantillon corporel |
|
Étape 4c |
Créer un historique d'intégration (erreur) et alerter le contact d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
Exemple d'URL |
|
Query Body sample |
|
Échantillon du corps de |
|
Option 3 : Tirer parti de la surveillance complète des intégrations Coupa
Description
Dans ce scénario, nous créons un cycle d'intégration qui suit
- État de l'intégration (en attente/démarré/erroné/réussi/échoué)
- Le nombre total de factures traitées
- Le nombre de succès et d'erreurs
- La liste des Erreurs d'Intégration et leurs statuts (résolus ou non)
Pour chaque facture, nous :
- Résoudre l'enregistrement d'historique d'intégration précédent pour le document
- Créer un enregistrement d'historique d'intégration
- En cas d'erreur, créez une erreur d'intégration et une alerte au contact d'intégration
Vous serez en mesure de surveiller tous les cycles d'intégration pour votre intégration avec cette URL : https :/<your instance hostname>//integrations/<your integration id>/integration_runs
.
Vous utiliserez le tableau de données d'erreur d'intégration de facture standard pour répertorier toutes les factures avec une erreur d'intégration en attente de résolution. Vous pouvez le trouver à l'adresse : https :/<your instance hostname>//integration_errors
.
Diagramme d'orchestration
Étapes /détails des appels API
Étape 1 |
Créer une exécution d'intégration |
---|---|
Méthode |
PUBLIER |
API |
|
Demander les paramètres |
S/O |
Échantillon de corps de requête |
|
Réponse Échantillon corporel |
|
Étape 2 |
Obtenez la liste et les détails des factures Coupa à créer/mettre à jour dans l'ERP. |
---|---|
Méthode |
OBTENIR |
API |
|
Query Params |
|
URL d'exemple |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon de corps |
Étape 3 |
Démarrer l'exécution de l'intégration |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
S/O |
Query Body sample |
|
Échantillon du corps de |
|
Étape 4 |
Marquer la facture individuelle comme exportée |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
URL d'exemple |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon de corps |
|
C'est ici que la création/mise à jour de la facture dans l'ERP a lieu.
Étape 5a |
Obtenir l'enregistrement de l'historique d'intégration non résolu |
---|---|
Méthode |
OBTENIR |
API |
|
Params de requête |
|
URL d'exemple |
|
Échantillon de corps de requête |
S/O |
Échantillon du corps de |
|
Étape 5b |
Résoudre l'enregistrement précédent de l'historique d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|
Étape 6a |
Obtenir un enregistrement d'erreur d'intégration non résolu |
---|---|
Méthode |
OBTENIR |
API |
|
Demander les paramètres |
|
URL d'exemple |
|
Query Body sample |
S/O |
Échantillon du corps de |
|
Étape 6b |
Résoudre l'enregistrement précédent de l'historique d'intégration |
---|---|
Méthode |
METTRE |
API |
https ://<your instance hostname>/api/integration_errors/<Old Integration Error Record id>/résoudre |
Query Params |
S/O |
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|
Étape 7a |
Mettre à jour un champ personnalisé pour le numéro de document ERP (succès) |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Échantillon de corps de requête |
|
Réponse Échantillon corporel |
|
Étape 7b |
Créer un historique d'intégration (Succès) |
---|---|
Méthode |
METTRE |
API |
|
Query Params |
|
Exemple d'URL |
|
Échantillon de corps de requête |
|
Réponse Échantillon corporel |
|
Étape 7c |
Créer une erreur d'intégration et alerter le contact d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Query Params |
S/O |
Échantillon de corps de requête |
|
Réponse Échantillon corporel |
|
Étape 8 |
Fin de l'exécution de l'intégration réussie |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
S/O |
Échantillon de corps de requête |
S/O |
Réponse Échantillon de corps |
|
En cas de défaillance générale pendant l'exécution de l'intégration.
Étape x |
Échec d'élévation pour l'exécution d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
S/O |
Échantillon de corps de requête |
S/O |
Réponse Échantillon de corps |
|