docs: ajouter la documentation publique du projet

This commit is contained in:
Julien Denizot
2026-06-19 15:40:01 +00:00
parent 1baa53972b
commit 441d120233
2 changed files with 243 additions and 19 deletions
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Enuxia
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+222 -19
View File
@@ -1,33 +1,236 @@
### Enuxia E_Invoice
# Enuxia E-Invoice
Facturation électronique française pour ERPNext via SuperPDP
Application open source de facturation électronique française pour **Frappe Framework et ERPNext v16**.
### Installation
Enuxia E-Invoice connecte les factures de vente et dachat standards dERPNext aux services de facturation électronique de **SuperPDP**.
You can install this app using the [bench](https://github.com/frappe/bench) CLI:
> **É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 lintermédiaire de SuperPDP
* Enregistrement de lidentifiant 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 lannuaire français de facturation électronique
### 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
* Rapprochement fournisseur par identifiant fiscal
* Correspondance des articles, taxes, entrepôts et comptes comptables
* Prévisualisation de la facture dachat
* Création dune facture dachat ERPNext en brouillon
* Protection contre les doublons
* Restauration de l’échange entrant lorsquune facture dachat 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 dachat
* Gestion des identifiants électroniques des clients
* Accès aux documents reçus depuis les factures dachat
* 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 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 :
```bash
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch version-16
bench install-app enuxia_einvoice
bench get-app \
--branch version-16 \
https://git.enuxia.fr/enuxia-public/enuxia_einvoice.git
```
### Contributing
This app uses `pre-commit` for code formatting and linting. Please [install pre-commit](https://pre-commit.com/#installation) and enable it for this repository:
Installer lapplication sur un site :
```bash
cd apps/enuxia_einvoice
pre-commit install
bench --site votre-site.example \
install-app enuxia_einvoice
```
Pre-commit is configured to use the following tools for checking and formatting your code:
Construire les assets et appliquer les migrations :
- ruff
- eslint
- prettier
- pyupgrade
```bash
bench build --app enuxia_einvoice
### License
bench --site votre-site.example migrate
bench --site votre-site.example clear-cache
```
Redémarrer les services lorsque le mode de déploiement lexige :
```bash
bench restart
```
## Configuration initiale
Après linstallation :
1. Ouvrir lapplication **Facturation électronique** depuis le Desk.
2. Ouvrir **Comptes de facturation électronique**.
3. Créer un compte `Electronic Invoicing Account`.
4. Sélectionner la société ERPNext concernée.
5. Choisir lenvironnement SuperPDP.
6. Renseigner les identifiants dAPI SuperPDP.
7. Tester la connexion.
8. Configurer les identifiants électroniques de la société et des clients.
9. 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.
## Synchronisation des factures reçues
Les factures reçues sont synchronisées automatiquement par le scheduler horaire.
Une synchronisation manuelle est également disponible depuis :
```text
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 :
```bash
bench --site votre-site.example migrate
```
Construire les assets :
```bash
bench build --app enuxia_einvoice
```
Lancer les tests :
```bash
bench --site votre-site.example run-tests \
--app enuxia_einvoice
```
Le projet contient notamment des tests pour :
* les appels à lAPI SuperPDP ;
* la génération EN 16931 ;
* la conversion UBL ;
* la validation des factures ;
* le workflow denvoi ;
* la synchronisation entrante ;
* les calculs de facture dachat ;
* les correspondances fournisseurs et articles ;
* la protection contre les doublons ;
* lhistorique des événements ;
* la sécurité des URLs de documents ;
* les identifiants dentreprise français.
## 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.
## 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 destiné :
* au développement ;
* aux démonstrations ;
* aux tests en laboratoire ;
* à la préparation de pilotes encadrés.
Il nest 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.
mit