---
title: "ERP : exploitation des connecteurs et cartographie erpLinks"
description: "Référence opérationnelle : clés de cartographie par connecteur, choix d’organisation Xero, OAuth NetSuite navigateur ou scripts, variantes SAP B1/S/4 et pagination Intacct par lieu."
locale: fr
canonical: https://www.ninonai.com/guides/erp-connectors-runbook
last_updated: "2026-04-30"
---

# Exploitation des connecteurs ERP et cartographie « erpLinks »

Ce mémo résume pour les équipes projets où configurer hors code (secrets plateforme, formulaires admin) et où cartographier chaque société Ninon vers un identifiant côté ERP. Les anomalies de synchro sont visibles dans les journaux Observability avec la source « erp-sync ».

## Général

La fenêtre d’extraction GL par défaut (souvent 90 jours) se règle dans la configuration de déploiement. Chaque entité groupe possède un objet JSON erpLinks : une clé par fournisseur (dynamics365bc, xero, netsuite, sap_business_one, sap_s4hana, sage_intacct). La valeur filtre côté API pour rattacher les lignes à la bonne entité ; renseignez-la avant de compter sur une synchro multi-filiales.

## Sage Intacct

Web Services avec sender / société / utilisateur ; erpLinks.sage_intacct = LOCATIONID lorsque plusieurs lieux sont modélisés. La synchro pagine automatiquement via readMore lorsque Intacct renvoie numremaining > 0 après readByQuery sur GLENTRY.

## NetSuite

Deux voies : enregistrement scripté des jetons (API d’intégration) ou OAuth navigateur avec realm (identifiant compte, sous-domaine SuiteTalk) saisi avant redirection. Enregistrez l’URL de redirection de Ninon dans l’intégration NetSuite. Les identifiants OAuth hébergés côté plateforme assurent le refresh ; les surcharges de scopes sont documentées pour les opérateurs. SuiteQL filtre par filiale : erpLinks.netsuite = ID interne subsidiary.

## SAP Business One

Service Layer : URL …/b1s/v1, société et utilisateur chiffrés. Plusieurs filiales : erpLinks.sap_business_one = BPLID (ou équivalent renvoyé sur les lignes). Option avancée journalEntryCollection si votre Service Layer expose un autre nom de collection OData (défaut JournalEntries). Des diagnostics verbeux optionnels pour les lignes ignorées faute de mapping peuvent être activés dans la configuration de déploiement.

## SAP S/4HANA

Racine du service OData publié (ex. API_GLACCOUNTLINEITEM_SRV) + soit jeton Bearer collé (mode manuel), soit OAuth client_credentials (tokenUrl, clientId, clientSecret, scope optionnel) avec rafraîchissement automatique avant expiration. erpLinks.sap_s4hana = CompanyCode. Champs optionnels entitySetName et preferredDateFields (liste séparée par virgules) si votre API diffère. Des diagnostics de chemin OData (sans secrets) peuvent être activés dans la configuration de déploiement.

## Xero

OAuth PKCE produit : après consentement, si plusieurs organisations Xero sont reliées au compte, vous devez choisir le tenant dans l’écran Intégrations (liste chargée depuis Xero après autorisation). Un alignement manuel optionnel par entité possible via erpLinks.xero. Scopes côté app Xero : lecture des paramètres comptables et transactions (journaux).

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
