Automate enedis flux parsing, then inject data into odoo
Project description
Projet enedis_odoo_bridge
Le projet enedis_odoo_bridge vise à automatiser le traitement des flux de données d’Enedis et leur intégration dans Odoo, une suite d’applications de gestion d’entreprise open source. Ce pont entre Enedis et Odoo simplifie la gestion des données de consommation énergétique, permettant une gestion plus efficace et automatisée des factures et des analyses de consommation.
Fonctionnalités Principales
Récupération automatique des données : Importation des données de consommation énergétique depuis Enedis. Flux R15 et F15 supportés, R151 est le prochain objectif
Traitement et fusion des données : Traitement des données récupérées et fusion avec les données existantes dans Odoo.
Calcul des tarifs TURPE : Application des tarifs TURPE (Tarif d’Utilisation des Réseaux Publics d’Électricité) aux données de consommation.
Mise à jour des factures dans Odoo : Automatisation de la mise à jour des factures de consommation énergétique dans Odoo.
Classes et Responsabilités
OdooAPI : - Responsabilité : Gère la communication avec l’API d’Odoo pour récupérer et mettre à jour les données.
EnedisFluxEngine : - Responsabilité : Interagit avec les flux de données d’Enedis pour récupérer les données contractuelles, de consommation énergétique, de facturation…
Flux Transformers : - Responsabilité : Transforme les données des flux en une matrice exploitable, et propose des méthodes spécifiques à chaque type de flux Enedis. Flux actuellement supportés : [R15, F15] Bientôt R151. - Prérequis: Les transformers utilisent les xsd fournis par Enedis pour lire les XML des flux. La confidentialité de ces flux n’étant pas claire, ils ne sont pas inclus dans la repo. (dispos dans SGE, avec le kit d’implémentation des flux)
Consumption Estimators : - Responsabilité : Chaque estimateur implémente une heuristique permettant d’estimer la consommation à partir des données du Flux R15. Bientôt d’autres à partir du R151. - pourquoi une estimation ? : Les flux ne sont pas toujours complets ou publiés à temps.
- Processes :
L’idée des process est d’implémenter divers process métiers, qui traitent et mettent à jour des données différentes. On pourrait dire en gros que le reste c’est la lib, et ici on l’utilise en fonction de nos besoins spécifiques.
a. AddEnedisServiceToDraftInvoiceProcess : - Responsabilité : Lit le flux F15 pour récupérer les prestations Enedis facturées et les ajouter au factures usager.ères correspondantes.
- UpdateValuesInDraftInvoicesProcess :
Responsabilité : Récupére les estimations de consommation d’EnedisFluxEngine, calcule les taxes. Récupére les factures brouillons dans Odoo, et met à jour les consommations, ainsi que les données légales de facturation comme le numéro de série du compteur.
Utils : - Responsabilité : Fournit des fonctions utilitaires pour la génération de dates et la vérification des configurations.
Installation et Configuration
Installation
Installer depuis le repo
b. Installer le module en utilisant pip : Sera valable une fois un poil stabilisé, pour l’instant le package n’est pas publié. Pour commencer, installe simplement le module enedis_odoo_bridge en utilisant pip :
pip install enedis-odoo-bridge
Configuration
Configurez le script en remplissant un fichier .env à la racine du module
# Pour Odoo
ENEDIS_ODOO_BRIDGE_ODOO_URL = "https://mon-site.odoo.com/"
ENEDIS_ODOO_BRIDGE_ODOO_DB = "ma-db"
ENEDIS_ODOO_BRIDGE_ODOO_USERNAME = "admin"
ENEDIS_ODOO_BRIDGE_ODOO_PASSWORD = "sooooseccuuure"
# Pour la maj des activités
ENEDIS_ODOO_BRIDGE_ODOO_FACTURISTE_ID = 13
ENEDIS_ODOO_BRIDGE_ODOO_ACTIVITY_APPROUVAL_ID = 17
# Constantes calculs des Taxes
ENEDIS_ODOO_BRIDGE_TURPE_TAUX_HPH_CU4 = 6.67
ENEDIS_ODOO_BRIDGE_TURPE_TAUX_HCH_CU4 = 4.56
ENEDIS_ODOO_BRIDGE_TURPE_TAUX_HPB_CU4 = 1.43
ENEDIS_ODOO_BRIDGE_TURPE_TAUX_HCB_CU4 = 0.88
ENEDIS_ODOO_BRIDGE_TURPE_B_CU4 = 9.00
ENEDIS_ODOO_BRIDGE_TURPE_CG = 15.48
ENEDIS_ODOO_BRIDGE_TURPE_CC = 19.92
# Connexion au FTP contenant les Flux
ENEDIS_ODOO_BRIDGE_FTP_ADDRESS = xxx.xxx.xxx.xxx
ENEDIS_ODOO_BRIDGE_FTP_USER = user
ENEDIS_ODOO_BRIDGE_FTP_PASSWORD = pswwdd
ENEDIS_ODOO_BRIDGE_FTP_R15_DIR = R15 ¿ R16
ENEDIS_ODOO_BRIDGE_FTP_C15_DIR = C15
ENEDIS_ODOO_BRIDGE_FTP_F15_DIR = F15
# Déchiffrage des archives des flux
ENEDIS_ODOO_BRIDGE_AES_IV = iv
ENEDIS_ODOO_BRIDGE_AES_KEY = clé
Utilisation
Documentation
Pour des informations détaillées sur l’installation, la configuration et l’utilisation du module, veuillez consulter notre Documentation
Release on PyPI
Simply tag
git tag -a v0.1.0 -m "first release"
Note
This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file enedis_odoo_bridge-1.0.1.post1.dev0.tar.gz
.
File metadata
- Download URL: enedis_odoo_bridge-1.0.1.post1.dev0.tar.gz
- Upload date:
- Size: 67.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ef06d2c9a53ecf320cc185afd06dab8d9c9f4b2d13070dcc1ebc087ad997aab |
|
MD5 | 41084664f2afe3fc03197c9b737bfd7b |
|
BLAKE2b-256 | 28e592a032bfce7c4f3c8d3a0adc9f18ae5cf37ffa4a380f25b25aa6bbac1374 |
File details
Details for the file enedis_odoo_bridge-1.0.1.post1.dev0-py3-none-any.whl
.
File metadata
- Download URL: enedis_odoo_bridge-1.0.1.post1.dev0-py3-none-any.whl
- Upload date:
- Size: 47.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d1bcd94b9b30ee4ba8754924c4f2e3f7a38a9697c9c8deb247ae4815b24f926 |
|
MD5 | d3de2f6affb07b4b6d42d84c0313d7ed |
|
BLAKE2b-256 | 3fb0a89fdfd4af796f096c4e3e9096fa24e8337ce67dd658077c024f0a974649 |