2026-06-19 08:10:49 +00:00
2026-06-19 08:10:49 +00:00
2026-06-19 08:10:49 +00:00
2026-06-19 08:10:49 +00:00
2026-06-19 08:10:49 +00:00
2026-06-19 08:10:49 +00:00

Enuxia E-Invoice

Application open source de facturation électronique française pour Frappe Framework et ERPNext v16.

Enuxia E-Invoice connecte les factures de vente et dachat standards dERPNext aux services de facturation électronique de SuperPDP.

État du projet : Release Candidate V1. Le périmètre fonctionnel principal, les contrôles daccès et les tests automatisés sont en place. Lapplication est prête pour une préproduction et un pilote encadré. Une validation sur un environnement SuperPDP de production, ainsi quun audit de déploiement, de sécurité et de configuration comptable, restent nécessaires avant une mise en production générale.


Fonctionnalités

Factures de vente

  • utilisation des factures de vente standards dERPNext ;
  • contrôle des données nécessaires à la facturation électronique ;
  • génération des données sémantiques conformes à EN 16931 ;
  • conversion au format UBL ;
  • validation du document généré ;
  • envoi des factures par lintermédiaire de SuperPDP ;
  • enregistrement de lidentifiant distant SuperPDP ;
  • protection contre les doubles envois ;
  • synchronisation des statuts de transmission ;
  • historique des événements de transmission ;
  • gestion des identifiants et informations de routage françaises ;
  • recherche dans lannuaire français de facturation électronique ;
  • suivi de l’état de paiement ;
  • déclaration des encaissements auprès de SuperPDP ;
  • gestion des erreurs et nouvelle tentative de déclaration dencaissement.

Factures fournisseurs

  • synchronisation incrémentale des factures reçues ;
  • synchronisation manuelle depuis linterface ERPNext ;
  • synchronisation automatique horaire ;
  • protection contre les synchronisations concurrentes avec Redis ;
  • archivage des données sémantiques EN 16931 ;
  • archivage du document original ;
  • création dun échange électronique entrant traçable ;
  • rapprochement fournisseur par identifiant fiscal ;
  • association manuelle dun fournisseur existant ;
  • création dun fournisseur depuis les données reçues ;
  • correspondance des articles, taxes, entrepôts et comptes comptables ;
  • préparation et validation des lignes dachat ;
  • prévisualisation de la facture dachat ;
  • calcul ERPNext en mémoire avant import ;
  • création dune facture dachat ERPNext en brouillon ;
  • protection contre les doublons ;
  • restauration de l’échange entrant lorsquune facture dachat brouillon est supprimée ;
  • accès au document original et aux données EN 16931 depuis la facture dachat.

Intégration ERPNext

  • workspace dédié à la facturation électronique ;
  • configuration des comptes de facturation électronique ;
  • intégration aux factures de vente standards ;
  • intégration aux factures dachat standards ;
  • gestion des identifiants électroniques des sociétés et des clients ;
  • accès aux échanges et documents liés ;
  • vues rapides pour les factures et les échanges ;
  • statuts de transmission et dencaissement traduits ;
  • application visible dans le Desk Frappe v16 ;
  • sidebar et icône Desk dédiées ;
  • interface française intégrée au système de traduction Frappe.

Rôles et permissions

Lapplication crée trois rôles métier :

Facturation électronique - Lecture

Permet notamment de :

  • consulter les échanges électroniques autorisés ;
  • consulter les statuts de transmission et de paiement ;
  • utiliser les vues de suivi ;
  • ouvrir les documents liés lorsque les permissions ERPNext le permettent.

Facturation électronique - Opérateur

Inclut les capacités de lecture et permet notamment de :

  • vérifier une facture ;
  • préparer, générer, valider et envoyer une facture électronique ;
  • synchroniser les statuts ;
  • déclarer un encaissement ;
  • synchroniser les factures entrantes ;
  • rapprocher les fournisseurs ;
  • préparer et importer une facture dachat ;
  • utiliser lannuaire de facturation électronique.

Facturation électronique - Responsable

Inclut les capacités de lOpérateur et permet notamment de :

  • créer et modifier les comptes de facturation électronique ;
  • renseigner les identifiants SuperPDP ;
  • tester la connexion à SuperPDP ;
  • administrer la configuration sensible de lintégration.

System Manager et Administrator conservent un accès privilégié pour ladministration Frappe.

Les permissions ERPNext natives restent appliquées aux factures, sociétés, clients, fournisseurs et documents comptables.

Les User Permission Frappe permettent de limiter laccès aux sociétés autorisées.

Les contrôles côté interface améliorent lexpérience utilisateur, mais les contrôles côté serveur restent lautorité de sécurité.


Prérequis

  • Frappe Framework v16 ;
  • ERPNext v16 ;
  • une installation Bench compatible ;
  • Redis ;
  • un compte SuperPDP ;
  • des identifiants dAPI SuperPDP.

ERPNext est déclaré comme dépendance obligatoire et doit être installé avant Enuxia E-Invoice.


Installation

Depuis une installation Bench Frappe/ERPNext v16 existante :

bench get-app \
  --branch version-16 \
  https://git.enuxia.fr/enuxia-public/enuxia_einvoice.git

Installer lapplication sur un site :

bench --site votre-site.example \
  install-app enuxia_einvoice

Construire les assets et appliquer les migrations :

bench build --app enuxia_einvoice

bench --site votre-site.example migrate

bench --site votre-site.example clear-cache

Redémarrer les services lorsque le mode de déploiement lexige :

bench restart

Configuration initiale

Après linstallation :

  1. ouvrir lapplication Facturation électronique depuis le Desk ;
  2. attribuer les rôles de facturation électronique aux utilisateurs concernés ;
  3. configurer les User Permission de société ;
  4. ouvrir Comptes de facturation électronique ;
  5. créer un compte Electronic Invoicing Account ;
  6. sélectionner la société ERPNext concernée ;
  7. choisir lenvironnement SuperPDP ;
  8. renseigner les identifiants dAPI SuperPDP ;
  9. tester la connexion ;
  10. configurer les identifiants électroniques de la société et des clients ;
  11. configurer les correspondances comptables des factures fournisseurs.

Les identifiants et jetons SuperPDP sont propres à chaque site. Ils ne sont pas inclus dans ce dépôt.


Envoi dune facture client

Lenvoi seffectue depuis une facture de vente ERPNext validée.

Lapplication :

  1. contrôle les données nécessaires ;
  2. construit la représentation EN 16931 ;
  3. convertit la facture au format UBL ;
  4. valide le document ;
  5. transmet la facture à SuperPDP ;
  6. enregistre le suivi dans Electronic Invoice Exchange.

Les factures déjà envoyées sont protégées contre les doubles transmissions.

Lorsquune facture transmise est encaissée, un utilisateur autorisé peut déclarer lencaissement à SuperPDP depuis la facture de vente.


Synchronisation des factures reçues

Les factures reçues sont synchronisées automatiquement par le scheduler horaire.

Une synchronisation manuelle est également disponible depuis :

Facturation électronique
→ Échanges électroniques
→ Facturation électronique
→ Synchroniser les factures reçues

La synchronisation crée ou met à jour des documents Electronic Invoice Exchange.

Elle ne valide pas automatiquement les écritures comptables.

Les factures dachat ERPNext sont toujours créées en statut Brouillon et doivent être contrôlées par un utilisateur autorisé avant validation.


Développement

Appliquer les migrations :

bench --site votre-site.example migrate

Construire les assets :

bench build --app enuxia_einvoice

Tests unitaires

./env/bin/python -m unittest discover \
  -s apps/enuxia_einvoice/enuxia_einvoice/tests

État actuel :

101 tests unitaires

Tests dintégration Frappe

bench --site votre-site.example run-tests \
  --app enuxia_einvoice \
  --module enuxia_einvoice.tests.permissions_integration \
  --test-category integration

État actuel :

5 tests dintégration

Les tests couvrent notamment :

  • les appels à lAPI SuperPDP ;
  • la génération EN 16931 ;
  • la conversion UBL ;
  • la validation des factures ;
  • le workflow denvoi ;
  • la synchronisation entrante ;
  • la déclaration des encaissements ;
  • les calculs de facture dachat ;
  • les correspondances fournisseurs et articles ;
  • la protection contre les doublons ;
  • lhistorique des événements ;
  • la sécurité des URL de documents ;
  • les identifiants dentreprise français ;
  • la hiérarchie des rôles ;
  • les permissions des DocTypes ;
  • les restrictions de société par User Permission.

Sécurité

Ne publiez jamais dans les issues, logs ou pull requests :

  • les secrets client SuperPDP ;
  • les jetons daccès ;
  • les jetons de rafraîchissement ;
  • des factures de production ;
  • des données personnelles ;
  • des informations confidentielles de clients ou fournisseurs ;
  • des fichiers de configuration privés ;
  • des clés privées.

Les identifiants doivent être configurés dans linterface ERPNext et stockés dans les champs protégés de Frappe.

Les vulnérabilités sensibles ne doivent pas être publiées dans une issue publique. Elles doivent être signalées directement aux mainteneurs Enuxia.

Avant un déploiement réel :

  • attribuez les rôles selon le principe du moindre privilège ;
  • configurez les User Permission par société ;
  • vérifiez les droits ERPNext natifs ;
  • activez HTTPS ;
  • protégez les sauvegardes ;
  • testez la restauration ;
  • contrôlez les journaux et la supervision ;
  • vérifiez quaucun secret nest exposé dans les logs.

Données et conformité

Cette application facilite le transport et le traitement de données de facturation électronique.

Elle ne garantit pas, à elle seule, la conformité :

  • comptable ;
  • fiscale ;
  • juridique ;
  • réglementaire ;
  • RGPD ;
  • organisationnelle.

Chaque déploiement doit être contrôlé selon :

  • lorganisation concernée ;
  • sa configuration comptable ;
  • sa plateforme de dématérialisation partenaire ;
  • les exigences françaises et européennes applicables ;
  • ses obligations de sécurité et de protection des données.

État du projet

Le projet est actuellement adapté :

  • au développement ;
  • aux démonstrations ;
  • aux tests en laboratoire ;
  • à une préproduction ;
  • à la préparation de pilotes encadrés.

Le périmètre fonctionnel principal de la V1 est terminé et couvert par des tests automatisés.

Lapplication nest pas encore déclarée prête pour un déploiement en production générale sans validation complémentaire.

Avant une version stable v1.0.0, les points suivants doivent notamment être validés :

  • installation sur un site ERPNext v16 vierge ;
  • migrations répétables ;
  • échanges avec lenvironnement SuperPDP de production ;
  • tests réels denvoi, de réception, davoir et dencaissement ;
  • validation des principaux cas comptables ;
  • sauvegarde et restauration ;
  • supervision des synchronisations ;
  • documentation dexploitation ;
  • pilote sans anomalie bloquante.

Version recommandée pour la prochaine étape :

v1.0.0-rc.1

Licence

Ce projet est distribué sous licence MIT.

Copyright © 2026 Enuxia contributors.

S
Description
Application Frappe/ERPNext v16 de facturation électronique française avec intégration SuperPDP.
Readme MIT 431 KiB
Languages
Python 85.6%
JavaScript 14.4%