docs: ajouter la documentation publique du projet
This commit is contained in:
@@ -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.
|
||||
@@ -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 d’achat standards d’ERPNext 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 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 :
|
||||
|
||||
```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 l’application 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 l’exige :
|
||||
|
||||
```bash
|
||||
bench restart
|
||||
```
|
||||
|
||||
## Configuration initiale
|
||||
|
||||
Après l’installation :
|
||||
|
||||
1. Ouvrir l’application **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 l’environnement SuperPDP.
|
||||
6. Renseigner les identifiants d’API 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 d’une facture client
|
||||
|
||||
L’envoi s’effectue depuis une facture de vente ERPNext validée.
|
||||
|
||||
L’application :
|
||||
|
||||
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 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 :
|
||||
|
||||
```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 à 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.
|
||||
|
||||
mit
|
||||
|
||||
Reference in New Issue
Block a user