E-Invoicing
L'éditeur E-Invoicing définit comment NomaUBL parle à une Plateforme Agréée (PA) — la plateforme certifiée qui reçoit, valide et achemine les factures électroniques vers l'infrastructure publique française. Il définit aussi l'étape locale de transformation UBL (répertoire XSL) et les paramètres de la boucle de récupération des statuts.
La page fonctionne quel que soit le système source — JD Edwards, SAP, NetSuite ou ERP personnalisé — une fois la source mappée vers UBL.
La configuration PA est désormais homogène entre e-invoicing, e-directory et e-reporting — chaque modèle système référence un api-connecteur réutilisable au lieu de porter ses propres champs d'authentification et endpoints, et la forme inline historique est supprimée (sans repli). L'éditeur passe de cinq à quatre onglets — l'onglet Mock / Testing a disparu (pointer un api-connecteur vers un mock Postman ou un stub local pour les tests hors-ligne) et l'onglet Actions a migré vers une page dédiée sous Gestion → Liaisons d'actions. Send Mode quitte PA Connection pour rejoindre FTP/SFTP où il appartient logiquement, et le groupe Background Scheduling disparaît (ces intervalles ne fonctionnaient que sur le modèle global).
L'éditeur comporte quatre onglets :
- UBL Validation — répertoire des transformations XSL utilisées pour convertir le XML source en UBL.
- PA Connection — choix de l'api-connecteur qui porte le transport HTTP de la PA, plus surcharges de noms d'endpoint par tâche et paramètres de connexion.
- FTP/SFTP — sélecteur Send Mode et identifiants du serveur SFTP utilisés quand le sélecteur est positionné sur
FTP. - Status — curseur de récupération des statuts et renvoi vers les intervalles de polling sur
global.
Accès à l'éditeur
- Paramètres → modèle e-invoicing (la ressource au niveau système).
- La portée par défaut est le template platform-wide
e-invoicing. Les surcharges par société se trouvent sur les templatese-invoicing-{kco}et suivent la même forme ; le résolveur côté runtime regarde d'abord le template par société puis retombe sur le template platform-wide.
Vue d'ensemble
Onglet 1 — UBL Validation
Cet onglet configure le répertoire des fichiers XSL utilisés pour transformer le XML source en UBL. La validation de conformité UBL passe par des schématrons standards, documentés sur la page Validate.
| Champ | Description |
|---|---|
| XSLT Directory | Répertoire qui contient les fichiers de transformation .xsl utilisés pour convertir le XML source en UBL. Le placeholder %APP_HOME% se développe vers la racine d'installation NomaUBL. |
Onglet 2 — PA Connection
api-connecteur
Le transport HTTP de la PA — flux d'authentification, base URL, endpoints — vit dans un api-connecteur réutilisable. Cette page le référence par son nom uniquement et ne porte jamais de champ d'auth ni d'endpoint HTTP en ligne. L'pa-default embarqué couvre le flux standard ; choisir un autre connecteur quand la PA expose un schéma d'auth non standard ou quand plusieurs PA demandent des connecteurs différents.
| Champ | Description |
|---|---|
| Connector | Liste déroulante des templates api-connector. Le connecteur sélectionné porte le baseUrl, l'authType, les identifiants, l'endpoint de jeton et le catalogue d'endpoints HTTP. Modifier le connecteur lui-même sous Connecteurs API. |
Surcharges d'endpoint par tâche
Chaque tâche PA dans NomaUBL a un nom d'endpoint par défaut. Quand l'api-connecteur expose un nom différent pour la même tâche, saisir une surcharge ci-dessous. Laisser vide pour utiliser le nom par défaut affiché.
| Champ | Défaut | Utilisé par |
|---|---|---|
| Import | import | Soumission d'une facture à la PA. |
| Import status | import-status | Sondage du statut d'import de la PA. |
| Invoice statuses | invoice-statuses | Boucle de récupération des statuts du cycle de vie. |
| Resolve invoice | resolve-invoice | Résolution d'un identifiant attribué par la PA à partir d'une clé de document NomaUBL. |
| Post status | post-status | Renvoi des statuts vendeur (actions réglementaires) vers la PA. |
| Report import | report-import | Soumission e-Reporting quand le template e-reporting retombe sur le connecteur e-invoicing. |
Connection
Paramètres de niveau connexion qui s'appliquent à chaque appel routé via l'api-connecteur choisi.
| Champ | Défaut | Description |
|---|---|---|
| Timeout (ms) | 30000 | Timeout des requêtes HTTP en millisecondes. Les appels trop longs sont annulés au-delà. |
| SSL Verify | true | Validation du certificat TLS de la PA. À positionner sur false uniquement en environnement de non-production avec des certificats auto-signés. |
Onglet 3 — FTP/SFTP
Send Mode
| Champ | Valeurs | Description |
|---|---|---|
Send Mode (paMode) | API (défaut) / FTP / (vide) | Transport utilisé pour envoyer les factures à la PA. API route la soumission via l'api-connecteur choisi sur l'onglet précédent ; FTP écrit l'UBL dans un fichier temporaire et le pousse en SFTP via le serveur ci-dessous ; (vide) ignore complètement la soumission sortante (utile pendant le câblage d'un nouveau type de document). La récupération des statuts, le polling d'import et les actions vendeur passent toujours par l'API quel que soit ce choix. |
SFTP Server
La carte entière est atténuée quand Send Mode ≠ FTP — ces champs ne s'appliquent qu'au transport SFTP.
| Champ | Description |
|---|---|
| Host | Hôte SFTP (par exemple ftp.plateformeagree.fr). |
| Port | Port SFTP. Défaut 22. |
| User | Utilisateur SFTP. |
| Password | Mot de passe SFTP. |
| Outbound Dir | Répertoire distant où NomaUBL dépose les fichiers UBL pour la PA (par exemple /out/invoices/). |
| Inbound Dir | Répertoire distant où la PA écrit les mises à jour de statut que NomaUBL récupère (par exemple /in/status/). |
Onglet 4 — Status
La section Status Retrieval pilote la boucle de récupération des statuts de cycle de vie.
| Champ | Défaut | Description |
|---|---|---|
| Page size | 100 | Nombre de statuts récupérés par page lors du polling de la PA. |
| Last retrieved at | (mis à jour automatiquement) | Date ISO de la dernière récupération réussie (par exemple 2025-01-01T00:00:00Z). Mis à jour automatiquement après chaque exécution ; une édition manuelle agit comme point de départ — utile pour rejouer une fenêtre. |
globalLes intervalles qui pilotent la fréquence de polling de la PA — fetchImportInterval, fetchStatusInterval, cadence e-reporting — sont lus depuis le template global, section Scheduling. Le groupe Background Scheduling de cette page écrivait ces clés ici, mais le scheduler ne les lisait jamais sur ce template — l'écriture morte a été retirée en 2026.05.8. Modifier les intervalles sur global → Scheduling et ils s'appliquent à toutes les sociétés.
Liaisons d'actions — déplacées
L'onglet Actions qui se trouvait sur cette page dans la version précédente a été retiré en 2026.05.7 et les liaisons d'actions multi-appels ont migré sur leur propre page sous Gestion → Liaisons d'actions. La forme de stockage (action.N.id / .connector / .endpoint / .params sur ce template) est inchangée — seul l'éditeur a bougé. La nouvelle page gère la liste multi-appels, le drapeau Arrêt sur échec par appel et le chaînage des réponses via les placeholders {call.N.fieldName}.
Conseils & bonnes pratiques
- Choisir d'abord l'api-connecteur. Sans connecteur, les champs Surcharges d'endpoint par tâche restent masqués et la PA est inaccessible. L'
pa-defaultembarqué est un point de départ raisonnable. - Laisser les surcharges par tâche vides quand les noms d'endpoint du connecteur correspondent déjà. Un connecteur
pa-defaultqui expose un endpoint littéralement nomméimportn'a pas besoin d'une surcharge sur la ligne Import. La page n'enregistre que les valeurs qui diffèrent du défaut — saisir le défaut est sans effet mais ajoute du bruit. - Démarrer en
paMode=(vide) lors du câblage d'un nouveau type de document. Le pipeline UBL fonctionne de bout en bout sans impliquer la PA, ce qui fait remonter les mappings sources et les échecs Schematron avant que le réseau soit dans la boucle. Basculer surAPIune fois le côté données propre. - N'utiliser SFTP que quand la PA l'exige réellement. REST est plus simple à diagnostiquer, et le panneau de test de l'api-connecteur fournit un retour clair. SFTP convient quand la PA impose un dépôt fichier ou pour des soumissions par lots à fort volume.
- Modifier les intervalles de polling sur
global → Scheduling, pas ici. Les champs de cette page ont été retirés en 2026.05.8, ils n'avaient aucun effet. - Tester contre un mock Postman ou un stub local en hors-ligne. L'ancien mock en mémoire ne servait que avant le refactor api-connecteur — pointer plutôt l'api-connecteur vers l'URL du mock.
- Les surcharges par société se trouvent sur
e-invoicing-{kco}. Copier le templatee-invoicingplatform-wide sous le nouveau nom depuis Paramètres et ne modifier que les champs qui diffèrent — typiquementconnector, quelques surcharges d'endpoint ou les identifiants SFTP quand la société00070utilise une PA distincte.