Taanavo Stock Sync est un module Odoo 18 permettant la synchronisation bidirectionnelle des stocks entre Odoo et un service Django via le broker Taanavo.
Il automatise l’envoi et la réception des mises à jour de produits, mouvements de stock et commandes.
- Synchronisation automatique des stocks vers Django.
- Support des événements : création, modification, suppression.
- Gestion des priorités et tentatives automatiques en cas d’erreur.
- Journal détaillé des synchronisations (succès, erreurs, retries).
- Test de connexion au broker directement depuis Odoo.
- Configuration centralisée via un écran dédié.
- Cloner le module dans votre répertoire
addons:git clone https://github.com/MrConrad12/module-sync-odoo-django
2. Vérifier que le module **requests** est installé :
```bash
pip install requests
```
3. Redémarrer le serveur Odoo :
```bash
./odoo-bin -u taanavo_stock_sync
```
4. Activer le mode **Développeur**, puis installer le module depuis **Applications**.
---
## 🔧 Configuration
1. Accéder à **Inventaire → Configuration → Taanavo Config**.
2. Créer une nouvelle configuration avec :
* **URL du Broker** : exemple `http://localhost:8888`
* **Secret HMAC** : clé secrète utilisée pour signer les messages
* Activer les options :
* *Synchronisation automatique des stocks*
* *Sync à la création / modification*
3. Tester la connexion avec le bouton **"Tester la Connexion"**.
---
## 📋 Logs de synchronisation
Les logs sont accessibles depuis :
> **Taanavo Sync → Logs de Synchronisation**
Chaque enregistrement contient :
* Type de message (`stock`, `product`, `order`)
* Direction (`Odoo → Django`)
* Statut (`en attente`, `envoyé`, `erreur`, `nouvelle tentative`)
* Données envoyées et réponse du broker.
Un bouton **"Réessayer"** permet de renvoyer un message en erreur.
---
## 🧠 Structure du module
```
taanavo_stock_sync/
│
├── models/
│ ├── taanavo_config.py # Configuration du broker
│ ├── taanavo_sync_log.py # Journal de synchronisation
│ └── stock_quant.py # Hook sur les mouvements de stock
│
├── views/
│ ├── taanavo_config_views.xml
│ ├── taanavo_sync_log_views.xml
│ └── menu_views.xml
│
├── security/
│ └── ir.model.access.csv
│
├── __init__.py
├── __manifest__.py
└── README.md
```
---
## 🧰 Dépendances
* **Odoo 18**
* **Modules Odoo :** `stock`, `product`, `base`
* **Python :**
* `requests`
* `hashlib`, `hmac`, `json` (intégrés)
---
## 🛡️ Licence
Ce module est distribué sous la licence **LGPL-3.0**.
---
## 🧑💻 Auteur
**Taanavo**
🌐 [https://www.taanavo.com](https://www.taanavo.com)
📧 [nyjob.dev@gmail.com](mailto:nyjob.dev@gmail.com)