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 Le sous-menu contient : 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.