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 d’achat standards d’ERPNext aux services de facturation électronique de SuperPDP.
État du projet : développement actif et tests en environnement de laboratoire. Un audit de sécurité, de conformité réglementaire et de configuration comptable reste nécessaire avant toute utilisation en production.
Fonctionnalités
Factures de vente
- Utilisation des factures de vente standards ERPNext
- Génération des données sémantiques EN 16931
- Conversion au format UBL
- Validation des factures générées
- Envoi des factures par l’intermédiaire de SuperPDP
- Enregistrement de l’identifiant distant SuperPDP
- Protection contre les doubles envois
- Synchronisation des statuts
- Historique des événements de transmission
- Gestion des identifiants et informations de routage françaises
- Recherche dans l’annuaire français de facturation électronique
Factures fournisseurs
- Synchronisation incrémentale des factures reçues
- Synchronisation manuelle depuis l’interface ERPNext
- Synchronisation automatique horaire
- Protection contre les synchronisations concurrentes avec Redis
- Archivage des données sémantiques EN 16931
- Archivage du document original
- Rapprochement fournisseur par identifiant fiscal
- Correspondance des articles, taxes, entrepôts et comptes comptables
- Prévisualisation de la facture d’achat
- Création d’une facture d’achat ERPNext en brouillon
- Protection contre les doublons
- Restauration de l’échange entrant lorsqu’une facture d’achat brouillon est supprimée
Intégration ERPNext
- Workspace dédié à la facturation électronique
- Configuration des comptes de facturation électronique
- Intégration aux factures de vente
- Intégration aux factures d’achat
- Gestion des identifiants électroniques des clients
- Accès aux documents reçus depuis les factures d’achat
- Application visible dans le Desk Frappe v16
- Sidebar et icône Desk dédiées
Prérequis
- Frappe Framework v16
- ERPNext v16
- Une installation Bench compatible
- Redis
- Un compte SuperPDP
- Des identifiants d’API 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 l’application 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 l’exige :
bench restart
Configuration initiale
Après l’installation :
- Ouvrir l’application Facturation électronique depuis le Desk.
- Ouvrir Comptes de facturation électronique.
- Créer un compte
Electronic Invoicing Account. - Sélectionner la société ERPNext concernée.
- Choisir l’environnement SuperPDP.
- Renseigner les identifiants d’API SuperPDP.
- Tester la connexion.
- Configurer les identifiants électroniques de la société et des clients.
- 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 d’une facture client
L’envoi s’effectue depuis une facture de vente ERPNext validée.
L’application :
- contrôle les données nécessaires ;
- construit la représentation EN 16931 ;
- convertit la facture au format UBL ;
- valide le document ;
- transmet la facture à SuperPDP ;
- enregistre le suivi dans
Electronic Invoice Exchange.
Les factures déjà envoyées sont protégées contre les doubles transmissions.
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 d’achat 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
Lancer les tests :
bench --site votre-site.example run-tests \
--app enuxia_einvoice
Le projet contient notamment des tests pour :
- les appels à l’API SuperPDP ;
- la génération EN 16931 ;
- la conversion UBL ;
- la validation des factures ;
- le workflow d’envoi ;
- la synchronisation entrante ;
- les calculs de facture d’achat ;
- les correspondances fournisseurs et articles ;
- la protection contre les doublons ;
- l’historique des événements ;
- la sécurité des URLs de documents ;
- les identifiants d’entreprise français.
Sécurité
Ne publiez jamais dans les issues, logs ou pull requests :
- les secrets client SuperPDP ;
- les jetons d’accè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 l’interface 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.
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 :
- l’organisation 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 destiné :
- au développement ;
- aux démonstrations ;
- aux tests en laboratoire ;
- à la préparation de pilotes encadrés.
Il n’est pas encore déclaré prêt pour un déploiement en production sans audit complémentaire.
Licence
Ce projet est distribué sous licence MIT.
Copyright © 2026 Enuxia contributors.