9.8 Facturation électronique
Important :
Obligation réglementaire imminente À partir du 1er septembre 2026, toutes les entreprises françaises assujetties à la TVA doivent être capables de recevoir des factures électroniques. Les grandes entreprises et ETI doivent également émettre électroniquement dès cette date. Les PME et micro-entreprises suivront le 1er septembre 2027. La facturation électronique ne concerne pas que les marchés publics (Chorus Pro) : elle s'étend à toutes les transactions B2B (entre entreprises).
Contexte réglementaire
La réforme française de la facturation électronique B2B est issue de l'ordonnance n°2021-1190 du 15 septembre 2021. Elle repose sur un écosystème à trois niveaux :
- PPF (Portail Public de Facturation) — plateforme publique gérée par l'État, accessible à tous gratuitement, qui joue le rôle d'annuaire central et de passerelle.
- PA (Partenaire d'Accès, anciennement PDP — Plateforme de Dématérialisation Partenaire) — plateforme privée agréée par l'administration fiscale. Les entreprises choisissent librement leur PA. Le PA transmet les factures au destinataire (via le PPF ou directement si les deux parties utilisent le même PA).
- Annuaire — chaque entreprise déclare son identifiant de routage (basé sur le SIREN). L'annuaire permet de savoir vers quel PA/PPF envoyer chaque facture.
Calendrier d'application :
Date | Obligation |
|---|---|
1er septembre 2026 | Réception obligatoire pour toutes les entreprises |
1er septembre 2026 | Émission obligatoire pour les grandes entreprises et ETI |
1er septembre 2027 | Émission obligatoire pour les PME et micro-entreprises |
Formats acceptés :
Format | Description |
|---|---|
Factur-X | PDF enrichi d'un fichier XML embarqué (lisible par un humain, traitable par une machine) |
CII (Cross Industry Invoice) | XML pur, conforme à la norme EN 16931 — recommandé pour les échanges automatisés |
UBL | Autre format XML interopérable |
Pourquoi choisir CII plutôt que Factur-X ?
Factur-X est pratique car le PDF reste lisible. CII est plus adapté si vous traitez un grand volume de factures et souhaitez une intégration 100% automatisée sans génération de PDF. Le module PDPConnectFR propose les deux — CII est recommandé par défaut.
Le module PDPConnectFR
Keatic ERP intègre la facturation électronique via le module communautaire PDPConnectFR, disponible gratuitement sur GitHub (Keatic ERP/keatic ERP-community-modules). Il assure la synchronisation bidirectionnelle entre Keatic ERP et le PA de votre choix. Ce que fait le module :
- Génère les fichiers XML/Factur-X depuis vos factures Keatic ERP
- Transmet les factures clients vers votre PA
- Reçoit et importe les factures fournisseurs depuis votre PA
- Suit le cycle de vie des statuts (déposé → émis → reçu → approuvé)
- Valide les données tiers via les API gouvernementales (SIREN, TVA)
- Journalise tous les appels API pour le diagnostic
Installation :
cd htdocs/custom git clone git@github.com:Keatic ERP/keatic ERP-community-modules.git mkdir pdpconnectfr cp -pr keatic ERP-community-modules/pdpconnectfr/* pdpconnectfr rm -fr keatic ERP-community-modules |
Une fois les fichiers copiés, activez le module dans Configuration > Modules/Applications, section Autre :

Figure 9.27 – Activation du module PDPConnectFR
Configuration du point d'accès
Accédez à la configuration via Configuration > Modules/Applications > PDPConnectFR (roue dentée) ou directement via le menu Facturation > Gestion des factures électroniques.

Figure 9.28 – Configuration du module — onglet Paramètres du point d'accès
La configuration se déroule en trois étapes : choisir votre PA, créer un compte sur sa plateforme, puis saisir les credentials dans Keatic ERP.
Étape 1 — Choisir votre Partenaire d'Accès (PA)
Dans le champ Sélectionnez votre plateforme Point d'accès à la facturation électronique (PA), choisissez votre PA. Keatic ERP v24 propose SuperPDP parmi les plateformes compatibles.
Note : SuperPDP (superpdp.tech) est un PA français agréé, qui propose un mode bac à sable (sandbox) gratuit pour les tests et un abonnement production. D'autres PA compatibles peuvent apparaître dans la liste selon les mises à jour du module.
Étape 2 — Créer un compte sur SuperPDP
Rendez-vous sur superpdp.tech et créez votre compte. Au premier accès, choisissez votre type de compte :

Figure 9.29 – SuperPDP — choix du type de compte
Type | Usage |
|---|---|
Représentant légal (Production) | Vous êtes le représentant légal de l'entreprise — vérification KYB requise, inscrit dans l'annuaire, factures à valeur légale |
Développeur (Bac à sable) | Tests avec données fictives — aucune vérification, deux entreprises test préconfigurées |
Pour vos premiers tests, choisissez Développeur / Bac à sable. Une fois connecté, créez une nouvelle application pour lier votre Keatic ERP à SuperPDP :

Figure 9.30 – SuperPDP — type d'application (Bac à sable ou Production)
Sélectionnez Bac à sable, puis renseignez le formulaire :

Figure 9.31 – SuperPDP — création d'une application
- Entreprise : sélectionnez votre entreprise (en bac à sable, "Burger Queen" ou "Tricatel" sont préconfigurées)
- URLs de redirection : copiez l'URL indiquée dans votre page de configuration Keatic ERP (ex. https://localhost:8082/custom/pdpconnectfr/admin/setup.php)
- Type d'application : choisissez Confidentielle (le secret est stocké côté serveur)
Une fois l'application créée, SuperPDP affiche le Client ID et le Client Secret :

Figure 9.32 – SuperPDP — credentials de l'application (client_secret affiché une seule fois)
Avertissement : Le client_secret n'est affiché qu'une seule fois lors de la création. Copiez-le immédiatement dans un endroit sûr. Si vous le perdez, vous devrez renouveler le secret via le bouton "Renouveler le secret" dans SuperPDP.
Étape 3 — Saisir les credentials dans Keatic ERP
Revenez dans la configuration Keatic ERP et renseignez :

Figure 9.33 – Configuration Keatic ERP — saisie du Client ID et Client Secret
Champ | Valeur |
|---|---|
Votre identifiant de facturation électronique d'entreprise | Votre SIREN (9 chiffres) |
Client ID | L'identifiant de l'application SuperPDP |
Client Secret | Le secret de l'application SuperPDP |
Cliquez sur ENREGISTRER, puis sur Se connecter (Générer le jeton d'accès) :

Figure 9.34 – Configuration Keatic ERP — jeton d'accès généré
Le jeton d'accès OAuth2 est généré et stocké. Utilisez ensuite Test de connexion (Healthcheck) pour vérifier que la liaison est opérationnelle :

Figure 9.35 – Connexion réussie avec SuperPDP
La mention "Connexion réussie : le point d'accès SUPERPDP est joignable." confirme que tout est en ordre.
Onglet Options
L'onglet Options contrôle le comportement du module pour l'émission et la réception :

Figure 9.36 – Onglet Options — synchronisation et mentions légales obligatoires
Synchronisation Keatic ERP → PA/PDP (émission)
Option | Description |
|---|---|
Validation des données tiers via API gouvernementales | Vérifie le SIREN et la TVA du client auprès des registres officiels avant envoi |
Bloquer si pas d'identifiant de facturation électronique | Interdit l'envoi si le tiers n'a pas de routing ID défini |
Protocole d'échange | CII (recommandé) ou Factur-X |
Génération automatique à la validation | La facture électronique est générée dès que la facture Keatic ERP est validée |
Annuler si génération automatique échoue | Bloque la validation de la facture en cas d'erreur de génération |
Mentions légales obligatoires Ces trois mentions doivent obligatoirement figurer sur les factures électroniques B2B françaises :
Code | Mention | Exemple |
|---|---|---|
PMT | Frais de recouvrement | Indemnité forfaitaire de recouvrement : 40 € |
PMD | Pénalités de retard | Pénalités de retard : 3 fois le taux légal |
AAB | Escompte pour paiement anticipé | Pas d'escompte pour paiement anticipé |
Synchronisation PA/PDP → Keatic ERP (réception)
Option | Description |
|---|---|
Génération automatique des produits manquants | Crée le produit dans Keatic ERP s'il n'existe pas lors de l'import |
Génération automatique des tiers manquants | Crée le fournisseur dans Keatic ERP s'il n'existe pas lors de l'import |
Compléter les informations manquantes des tiers | Met à jour la fiche tiers avec les données reçues dans la facture |
Limite d'activation de la synchronisation des flux | Limite le nombre de flux traités par cycle |
Nombre de flux traités par défaut par appel | Par défaut : 100 |
Délai de recouvrement de synchronisation (heures) | Délai minimum entre deux synchronisations automatiques |
Utilisation
Une fois configuré, le module ajoute un sous-menu dédié dans Facturation :

Figure 9.37 – Sous-menu Gestion des factures électroniques dans Facturation
- Gestion des factures électroniques — tableau de bord (page d'accueil)
- Synchronisation des factures électroniques — lancement manuel et suivi des flux entrants
- Journaux d'appels et de synchronisation — diagnostic des échanges API
Émettre une facture client
Sur chaque fiche facture client validée, un bloc Gestion des factures électroniques apparaît en bas de page. Il permet de :
- Générer la facture électronique — crée le fichier XML/Factur-X et l'attache à la facture
- Transmettre — envoie le fichier au PA
Si l'option Génération automatique à la validation est activée, ces deux étapes se déclenchent automatiquement dès la validation de la facture. Cycle de vie côté émission :
Code statut / Libellé : Non générée, Généré (fichier créé, prêt à envoyer), 200 (Déposé auprès du PA), 201 (Émis, transmis au destinataire), 202 (Reçu par le destinataire), 204 (Pris en charge), 205 (Approuvé), 210 (Refusé).
Avertissement : Une facture transmise (statut ≥ 200) ne peut plus être modifiée dans Keatic ERP. Les champs verrouillés incluent : référence, date, échéance, montants, client, mode et condition de règlement. Pour corriger une erreur, créez un avoir référençant la facture originale, puis émettez une nouvelle facture corrigée.
Recevoir des factures fournisseurs
Vos fournisseurs transmettent leurs factures via leur propre PA. SuperPDP les reçoit et les met à disposition. La synchronisation peut être :
- Manuelle : Facturation > Synchronisation des factures électroniques > bouton SYNCHRONISER
- Automatique : via la tâche planifiée PDPConnectFRDocumentSync (configurable dans Configuration > Travaux planifiés)
Figure 9.38 – Page de synchronisation des factures électroniques

À chaque synchronisation, le module :
- Interroge SuperPDP pour les nouveaux flux
- Pour chaque flux entrant : crée ou met à jour la facture fournisseur dans Keatic ERP
- Associe la facture au tiers correspondant (par SIREN), ou crée le tiers si l'option est activée
- Attache le fichier XML original à la facture
Envoyer un statut de retour
Sur les factures fournisseurs reçues électroniquement, vous pouvez renvoyer un statut à l'émetteur :
- 205 — Approuvé : vous acceptez la facture
- 210 — Refusé : vous contestez la facture (avec un motif obligatoire)
Journaux et diagnostic
La page Journaux d'appels et de synchronisation est réservée aux utilisateurs avancés. Elle liste tous les appels API effectués entre Keatic ERP et le PA :
Figure 9.39 – Journaux d'appels — healthcheck et génération de jeton

Chaque entrée indique : date, fournisseur (SuperPDP…), type d'appel (healthcheck, get_access_token, send_invoice…), méthode HTTP, nombre de flux traités et statut (Success/Error).
Comment activer le mode debug ?
Dans l'onglet Options, activez Conserver le détail complet des appels API dans l'historique. Cela enregistre le contenu complet des requêtes et réponses. Attention : cette option augmente la taille des journaux et peut réduire les performances — désactivez-la après le diagnostic.
Prérequis sur la fiche Société
Le module vérifie plusieurs champs obligatoires sur votre fiche société (Configuration > Entreprise/Organisation). Des avertissements sont affichés si des informations manquent :
Champ | Requis |
|---|---|
Raison sociale | Oui |
Adresse complète (rue, code postal, ville) | Oui |
Pays | France |
SIREN (idprof1) | 9 chiffres |
SIRET (idprof2) | 14 chiffres, contrôle Luhn |
Numéro de TVA intracommunautaire | Format FR + 2 car + 9 chiffres |
De même, sur chaque fiche tiers client, le module ajoute un bloc Adresse de facturation électronique permettant de définir le routing ID du client (son adresse de réception dans l'annuaire). Pour les clients français avec un SIREN valide, le routing ID est déduit automatiquement.
Comment tester sans client réel ?
En mode bac à sable SuperPDP, vous pouvez utiliser les entreprises fictives préconfigurées (Burger Queen, Tricatel) pour simuler un échange complet émission/réception sans aucune valeur légale. Utilisez le bouton Générer, envoyer et récupérer un exemple de facture dans la configuration pour valider la chaîne de bout en bout.