Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/jean-claude07/woocomerce-dolibarr-plugin-wordpress/archive/refs/heads/main.zipZota Dolibarr Sync
Zota Dolibarr Sync est un plugin WordPress permettant de synchroniser un site WooCommerce multivendeur (compatible Dokan) avec Dolibarr ERP/CRM. Il gère la synchronisation des clients, vendeurs, produits, commandes et stocks entre WooCommerce et Dolibarr.
Fonctionnalités principales
- Synchronisation des clients WooCommerce vers Dolibarr (création de tiers).
- Synchronisation des vendeurs Dokan vers Dolibarr (création de fournisseurs).
- Synchronisation des produits WooCommerce <=> Dolibarr (création, mise à jour, suppression).
- Synchronisation des stocks Dolibarr → WooCommerce (mise à jour régulière via cron).
- Synchronisation des commandes WooCommerce : création de factures clients et fournisseurs dans Dolibarr lors de la complétion d’une commande.
- Dashboard d’administration : résumé des synchronisations, actions rapides (lancer une synchronisation manuelle).
- Page de réglages : configuration de l’URL et de la clé API Dolibarr, test de connexion API.
- Page de diagnostic : état de la connexion API, consultation des logs d’erreur.
- Gestion des erreurs et logs : journalisation des erreurs de synchronisation dans un fichier dédié.
- Sécurité : vérification des droits, protection des accès, nettoyage des entrées utilisateur.
Installation
- Téléchargez ou clonez le plugin dans le dossier
wp-content/plugins/. - Activez-le depuis l’interface d’administration WordPress.
- Rendez-vous dans le menu Dolibarr Sync pour configurer l’URL de l’API Dolibarr et la clé API.
Configuration
- URL de l’API Dolibarr : doit pointer vers le point d’entrée REST, ex :
https://votre-dolibarr.com/api/index.php - Clé API Dolibarr : à générer dans Dolibarr pour un utilisateur dédié.
Après avoir renseigné ces informations, utilisez le bouton Tester la connexion pour vérifier la communication avec Dolibarr.
Utilisation
-
Synchronisation automatique :
- Les clients, vendeurs et produits sont synchronisés automatiquement lors de leur création ou modification.
- Les stocks sont synchronisés toutes les heures (cron WordPress).
- Les commandes WooCommerce génèrent des factures dans Dolibarr à la complétion.
-
Synchronisation manuelle :
- Depuis le dashboard admin, lancez une synchronisation complète des produits ou clients.
-
Diagnostic :
- Consultez la page Diagnostic pour vérifier l’état de la connexion API et lire les derniers logs d’erreur.
Points importants à connaître
- Compatibilité multivendeur : nécessite le plugin Dokan pour la gestion des vendeurs.
- Logs : les erreurs sont enregistrées dans
assets/logs/sync-errors.log. Protégez ce dossier contre l’accès public. - Sécurité :
- Les actions sensibles sont protégées par des nonces et des vérifications de droits.
- La clé API n’est jamais affichée en clair dans l’admin.
- Cron WordPress : assurez-vous que le cron WordPress fonctionne correctement pour la synchronisation automatique.
- Dépendances : nécessite WooCommerce et, pour la gestion des vendeurs, Dokan.
Dépannage
-
Problème de connexion API :
- Vérifiez l’URL et la clé API dans les réglages.
- Utilisez le bouton “Tester la connexion”.
- Consultez les logs dans la page Diagnostic.
-
Synchronisation incomplète :
- Vérifiez que les hooks WooCommerce/Dokan ne sont pas désactivés.
- Consultez les logs pour plus de détails.
Personnalisation
- Les hooks WordPress sont utilisés pour permettre l’extension du plugin.
- Les classes de synchronisation peuvent être surchargées via des plugins personnalisés si besoin.
Structure du plugin
zota-dolibarr-sync.php
admin/
class-zds-admin-menu.php
assets/
views/
includes/
class-zds-api-handler.php
class-zds-customer-sync.php
class-zds-order-sync.php
class-zds-product-sync.php
class-zds-stock-sync.php
class-zds-vendor-sync.php
zds-hooks.php
assets/
logs/
Support
Pour toute question ou contribution, contactez jeclaude78@gmail.com ou ouvrez une issue sur le dépôt du plugin.