|
Description & Fonctionnalités
Reliez vos boutiques Shopify à Dolibarr, synchronisez votre activité e-commerce au quotidien et migrez votre historique en gardant la maîtrise de vos données. NextShop Bridge est un module Dolibarr professionnel édité par NEXT GESTION qui réunit un connecteur Shopify multi-boutiques, un moteur de synchronisation bidirectionnelle, un centre d’import de fichiers, un assistant de migration, un centre de rapprochement et un tableau de bord d’exploitation.
Ce n’est pas un simple connecteur de commandes, mais une plateforme complète de commerce pour les marchands, les intégrateurs et les entreprises qui veulent faire de Dolibarr leur ERP/CRM central. Le module s’appuie exclusivement sur la GraphQL Admin API de Shopify (version de référence 2026-07), sur les webhooks Shopify et sur les mécanismes d’extension officiels de Dolibarr : triggers, hooks, extrafields, tâches planifiées, API REST et permissions. Aucun fichier du cœur de Dolibarr n’est modifié.
Pourquoi choisir NextShop Bridge ?
- Multi-boutiques : plusieurs boutiques Shopify sur une même instance Dolibarr, chacune avec sa devise, ses entrepôts, ses mappings, ses webhooks et ses journaux.
- Synchronisation configurable objet par objet : Shopify → Dolibarr, Dolibarr → Shopify, bidirectionnel ou désactivé, avec source de vérité paramétrable champ par champ.
- Zéro doublon : chaque commande, paiement et remboursement est identifié par sa clé Shopify et sa connexion ; rejouer un webhook ou réimporter un fichier ne crée jamais de doublon.
- Intégrité financière : sous-total, remises, livraison, taxes, total, payé et remboursé sont comparés ; tout écart supérieur à la tolérance configurée devient un conflit visible, avec sa cause probable.
- Principe de vérité technique : chaque fonction est annoncée avec son niveau réel de prise en charge ; une limite n’est jamais présentée comme une fonctionnalité.
- Simulation (dry run) avant tout import réel et rapport de migration PDF à l’arrivée.
Connexion et authentification Shopify
- Trois méthodes d’authentification : jeton d’application installée, OAuth « authorization code » (state et HMAC vérifiés, jetons rafraîchis) et « client credentials » pour les boutiques d’une même organisation Shopify.
- Test de connexion : boutique, statut, version d’API réellement servie, devise, fuseau horaire, plan, emplacements, volumes, webhooks actifs et scopes accordés.
- Écran des permissions Shopify : pour chaque domaine, le module indique si l’accès est accordé et quelle fonctionnalité est affectée en cas de scope manquant.
- Versions d’API : 2026-07 par défaut, 2026-04 comme socle, 2026-10 dès sa sortie ; l’en-tête de version renvoyé par Shopify est contrôlé à chaque réponse. Jetons et secrets chiffrés en base (AES-256-GCM), masqués à l’affichage et expurgés des journaux.
Synchronisation bidirectionnelle par objet
Pour chaque objet, l’administrateur choisit la direction et la source de vérité : Shopify maître, Dolibarr maître, dernière modification ou résolution manuelle. Les valeurs par défaut correspondent à l’usage courant.
| Objet |
Direction par défaut |
Remarque |
| Clients |
Bidirectionnel |
Source de vérité configurable |
| Produits |
Bidirectionnel |
Titre et description : Shopify ; référence, prix et stock : Dolibarr |
| Prix |
Dolibarr → Shopify |
Prix et prix barré au niveau variante |
| Stocks |
Dolibarr → Shopify |
Écriture sécurisée et idempotente |
| Commandes |
Shopify → Dolibarr |
Une commande Shopify = une seule commande Dolibarr |
| Factures |
Dolibarr maître |
Shopify n’a pas d’objet facture équivalent |
| Paiements, remboursements, retours |
Shopify → Dolibarr |
Rattachés aux commandes et factures |
| Expéditions et suivi |
Dolibarr → Shopify |
Fulfillment puis mise à jour du tracking |
| Draft orders, métaobjets |
Désactivés |
Activables au besoin |
Les boucles sont évitées par des identifiants de corrélation, l’origine de chaque écriture et une empreinte de la dernière synchronisation : une modification renvoyée par Shopify après une écriture Dolibarr est ignorée. Après la migration initiale, la synchronisation delta ne traite que les changements. Aucune suppression n’est propagée automatiquement.
Clients B2C et B2B
- Les clients Shopify deviennent des tiers et/ou des contacts. Pour le B2C, choisissez un tiers par client ou un tiers générique avec un contact par client ; les commandes invitées suivent les mêmes règles.
- Identifiant Shopify, nom, e-mail, téléphone, société, langue, statut, tags, notes et dates ; adresses principale, de facturation et de livraison, sans suppression implicite côté Shopify. Consentement marketing enregistré uniquement si l’option est activée ; doublons détectés par identifiant Shopify puis par clés naturelles.
- B2B (Companies) : importées en tiers, contacts et adresses lorsque la boutique dispose de la fonctionnalité B2B selon son abonnement Shopify et du scope associé.
Produits, variantes, collections et images
- Identifiant, handle, titre, description, vendor, type, statut, tags, collections, images, SEO, metafields et dates.
- Variantes (Rouge/S, Rouge/M, Bleu/S…) : si le module Variantes de Dolibarr est actif, le produit parent et ses combinaisons d’attributs sont créés ; sinon chaque variante devient un produit vendable dont la référence est le SKU. SKU, code-barres, options, prix, prix barré, poids et stock sont gérés au niveau variante.
- Collections importées en catégories ; tags, vendor et type conservés dans des extrafields dédiés et, en option, convertis en catégories ; coût unitaire repris en prix de revient.
- Images importées comme documents du produit (anti-doublon par identifiant, URL et empreinte SHA-256, téléchargement limité aux hôtes Shopify). Un produit n’est converti en service Dolibarr que si une règle explicite le prévoit.
Stocks multi-entrepôts et emplacements Shopify
- Mapping des emplacements : chaque emplacement Shopify est associé à un entrepôt Dolibarr selon trois modes (un emplacement = un entrepôt, emplacements additionnés, règle par emplacement).
- Import des quantités « available » par mouvements de correction ; committed et incoming lus pour information.
- Export vers Shopify avec contrôle de la quantité précédente et clé d’idempotence : un écart devient un conflit de stock au lieu d’être écrasé, et les stocks des deux systèmes sont comparés en continu.
Commandes, factures, paiements et remboursements
- Commandes : numéro, date, client ou invité, contacts, adresses de facturation et de livraison, devise, lignes produits et variantes (SKU, quantité, prix unitaire), remises de ligne, de commande et de livraison avec leur origine, taxes, frais de port, notes, tags et statuts.
- Multi-devise : devise et montants d’origine conservés, taux utilisé lorsqu’il est disponible.
- Factures : flux commande Shopify → commande Dolibarr → facture Dolibarr, avec un moment de création paramétrable (création, paiement, expédition ou manuel).
- Paiements : seules les transactions de vente et de capture réussies créent un paiement Dolibarr ; autorisations et annulations sont tracées sans écriture comptable. Les passerelles (Shopify Payments, PayPal, Stripe, carte, virement, paiement à la livraison…) sont associées aux modes de règlement et comptes bancaires par un mapping ouvert où les nouvelles passerelles apparaissent automatiquement.
- Remboursements : lignes, quantités, montants, taxes, livraison remboursée, motif et transactions ; un avoir Dolibarr est créé lorsque la règle le prévoit et que la correspondance est fiable, sinon un conflit est ouvert.
- Retours : suivi du retour, des lignes, du statut, du remboursement associé et de la remise en stock. Retour, remboursement et annulation sont strictement distingués : un retour sans remboursement ne crée jamais d’avoir.
- Expéditions et suivi : fulfillments importés en expéditions Dolibarr et fulfillment créé dans Shopify à la validation d’une expédition (quantités, transporteur, numéro et URL de suivi), avec mapping des transporteurs.
- Taxes, remises, metafields : TVA par ligne avec mapping titre / taux / pays, remises avec leur origine, metafields typés convertis en extrafields.
Temps réel, file d’attente et robustesse
- Webhooks signés : signature HMAC-SHA256 vérifiée sur le corps brut, rejet des événements non authentiques, protection contre le rejeu et déduplication. Événements couverts : clients, produits, commandes, transactions, remboursements, retours, expéditions, stocks, emplacements, opérations bulk et désinstallation de l’application.
- File d’attente priorisée (paiements en priorité critique), reprises automatiques (1 min, 5 min, 15 min, 1 h) puis file des échecs (DLQ) rejouable.
- Limitation de débit pilotée par le coût des requêtes GraphQL et disjoncteur si Shopify est indisponible : les appels sont suspendus, la file conservée, rien n’est perdu.
- Opérations bulk Shopify (JSONL traité en flux) avec suivi, téléchargement, analyse et reprise.
Import Center CSV / Excel / ZIP
- Glisser-déposer de fichiers CSV, XLS, XLSX et ZIP exportés de Shopify ou retravaillés dans un tableur.
- Inspecteur de fichier : extension, type MIME, encodage, séparateur, lignes, colonnes, en-têtes, dates, devises, décimales, valeurs vides, doublons et erreurs.
- Détection du type (clients, produits, variantes, stocks, commandes, transactions) avec score de confiance et correction manuelle. Formats Shopify actuel et ancien reconnus : un produit multi-lignes reste un seul produit et les lignes d’une même commande sont regroupées.
- Mapping visuel : automatique, manuel, colonne ignorée, valeur constante ou transformation, avec des modèles réutilisables reconnus au prochain import du même fichier.
- Moteur de transformation : trim, remplacement, expression régulière, découpage, concaténation, conversion de dates et de décimales, dictionnaire, nettoyage HTML.
- Dry run : analyse sans écriture (à créer, à modifier, déjà présents, conflits, erreurs), puis import par lots.
- Idempotence : référence de lot et empreinte du fichier comme de chaque ligne ; réimporter le même fichier ne crée pas de doublon.
- Sécurité : taille maximale, archives piégées bloquées, types interdits, injection de formules CSV neutralisée, formules Excel jamais exécutées.
Migration, rapprochement et bascule
- Assistant de migration en 16 étapes : identification de la boutique, choix de la source (API ou fichiers), analyse, configuration de Dolibarr, mapping des entrepôts, taxes, clients et produits, import du catalogue, des clients, des commandes et des transactions, contrôle et validation.
- Migration d’historique : toutes les données accessibles, 12 ou 24 derniers mois, ou période personnalisée, avec opérations bulk.
- Centre de rapprochement : clients, produits, stocks, commandes, montants, paiements, remboursements et expéditions, avec le détail des écarts. Rapprochement complet planifiable : objets manquants, mappings cassés, paiements orphelins, remboursements non traités.
- Centre de conflits : objet, champ, valeurs Shopify et Dolibarr, dates et source, avec les actions « garder Shopify », « garder Dolibarr », « ignorer » ou « créer une règle ».
- Page « Prêt à quitter Shopify ? » : taux de complétude par domaine et anomalies restantes. Elle mesure la complétude technique et n’affirme jamais que Shopify peut être fermé : la décision reste entre vos mains.
- Checklist de bascule et rapport de migration PDF : boutique, période, volumes, erreurs, conflits et écarts.
Tableau de bord, reporting et exploitation
- Shopify Commerce Sync Center : boutiques, clients, produits, commandes, chiffre d’affaires synchronisé, paiements, remboursements, expéditions, écarts de stock, file d’attente, erreurs, conflits et taux de réussite, avec graphiques intégrés et fil d’activité.
- Rapports : ventes, commandes, clients, produits, stocks, paiements, remboursements, expéditions, synchronisations, erreurs et migration, exportables en CSV, Excel (XLSX) et PDF.
- Journaux détaillés (date, boutique, objet, identifiants, direction, action, statut, durée, message) et centre de diagnostic ; données de démonstration générées et supprimées sans toucher aux données réelles.
Sécurité et RGPD
- Protection CSRF, échappement systématique des sorties (XSS), requêtes SQL protégées, validation des entrées et anti-SSRF : seuls les hôtes Shopify autorisés sont contactés.
- Contrôle des fichiers envoyés (types, tailles, archives, chemins), stockage hors de la racine web.
- RGPD : traitement des demandes Shopify de données client et d’anonymisation, avec export, suppression contrôlée et piste d’audit.
- 17 permissions Dolibarr distinctes : consultation, configuration, boutiques, synchronisations par domaine, import, migration, conflits, file d’attente, journaux et administration.
Performances
GraphQL, opérations bulk, pagination par curseur, traitement par lots, lecture en flux, index SQL et synchronisation delta permettent de traiter de gros volumes. Mesures sur fichiers de test : analyse de 100 000 lignes (20 000 produits) en environ 1,6 s avec 4 Mo de mémoire, inspection et préparation du même volume en moins de 4 s avec moins de 32 Mo (Dolibarr 24.0.1 et 18.0.10). Les performances réelles dépendent du serveur et des limites de l’API Shopify.
Limites et transparence
NEXT GESTION applique un principe de vérité technique : voici ce que NextShop Bridge ne fait pas, ou ne fait que partiellement.
- Tests réalisés avec des données simulées (fixtures et serveur Shopify simulé) : aucune boutique Shopify réelle n’a été testée à ce jour. Une recette sur votre boutique reste indispensable.
- Non supporté : envoi des images Dolibarr vers Shopify ; création de factures, paiements ou remboursements côté Shopify ; Shopify Markets ; vidéos et modèles 3D ; cartes cadeaux et abonnements.
- Partiellement supporté : retours (suivi uniquement) ; codes promotionnels (archivage consultable, faute d’objet équivalent dans Dolibarr) ; taxes multi-juridictions (taux le plus proche avec contrôle d’écart) ; collections automatiques (importées en lecture) ; métaobjets (archivage JSON).
- Accès Shopify requis : au-delà de 60 jours d’historique de commandes, le scope read_all_orders doit être demandé à Shopify ; les données client protégées relèvent d’un accès de niveau 2 ; le B2B (Companies) dépend de votre abonnement Shopify.
- Écritures vers Shopify : seules des commandes brouillon (draft orders) peuvent être créées, option désactivée par défaut ; les modifications de commandes ne sont pas renvoyées ; les produits de plus de 3 options ou 2 048 variantes ne sont pas poussés.
- Suppressions jamais automatiques : chacune est confirmée individuellement dans le centre de conflits ; les commandes ne sont jamais supprimées. Les imports s’exécutent tant que la page reste ouverte ; JSON et JSONL non importables, XLS limité au BIFF8 ; les produits suivis par lot ou numéro de série sont refusés par la synchronisation des stocks.
Compatibilité
| Élément |
Statut |
| Dolibarr 24.0.1 et 22.0.5 (PHP 8.3, MySQL 8.4) |
Testé (tests automatisés avec fixtures) |
| Dolibarr 18.0.10 (PHP 8.1, MySQL 8.4) |
Testé (tests automatisés avec fixtures) |
| Dolibarr 17 à 23 (hors versions testées) |
Probablement compatible, non testé |
| PHP |
7.4 minimum déclaré ; testé en 8.1 et 8.3 |
| MySQL 8.4 |
Testé ; MariaDB 10.3+ non testé |
| PostgreSQL |
Non testé (certaines requêtes sont spécifiques à MySQL) |
| Shopify GraphQL Admin API 2026-07 |
Testé avec fixtures (réponses simulées) |
| Shopify API 2026-04 et 2026-10 |
Prises en charge (2026-10 dès sa sortie) |
| Boutique Shopify réelle |
Non testée à ce jour |
Campagnes de tests : 151 tests unitaires réussis, 101 tests d’intégration sur les trois versions testées, cycle de désactivation / réactivation sans perte de données et parcours HTTP de toutes les pages sans erreur. Le détail figure dans les fichiers de compatibilité et de tests livrés. NextShop Bridge n’annonce jamais une compatibilité « avec toutes les versions ».
Installation et configuration
- Prérequis : modules Tiers, Produits et Commandes activés ; extensions PHP cURL, OpenSSL et ZipArchive ; HTTPS pour les webhooks.
- Dans Dolibarr : Accueil → Configuration → Modules → Déployer un module externe. À l’activation, tables, extrafields, modèles de mapping, permissions, menus et tâches planifiées sont créés automatiquement ; attribuez ensuite les permissions et activez le cron.
- Créez une application Shopify avec les scopes nécessaires, ajoutez la boutique, testez la connexion et enregistrez les webhooks.
- Paramétrez les correspondances (directions, taxes, passerelles, statuts, transporteurs, entrepôts) et la règle de facturation, puis lancez une synchronisation ou l’assistant de migration en commençant par un dry run.
Les mises à jour appliquent des migrations SQL versionnées et uniquement additives : aucune donnée n’est détruite.
Support et éditeur
NEXT GESTION assure le support, l’installation, le paramétrage, la formation et les développements complémentaires. Documentation livrée : guide d’utilisation, guide de migration, matrices de synchronisation et de compatibilité, rapport de tests.
Édité par NEXT GESTION – www.nextgestion.com.
Shopify est une marque de Shopify Inc. et Dolibarr une marque de l’association Dolibarr ; elles sont citées uniquement pour indiquer la compatibilité. NextShop Bridge n’est ni édité ni approuvé par ces organisations.
Copyright © NEXT GESTION — www.nextgestion.com — Tous droits réservés.
Démo du module NextShop Bridge
Login : demo
Mot de passe : demo
If you order our module you benefit from:
- free installation and configuration assistance
- free help in case of bug or module malfunction
- the addition of new functionalities or options specifically adapted to your needs.
|