← Expertise
// Expertise · Retail

Shopify POS ↔ Odoo, sans ressaisie.

Comment connecter Shopify POS à Odoo pour le retail ?

En transformant chaque vente en boutique en commande Odoo dans la minute, et chaque session de caisse Shopify POS en véritable session de caisse Odoo — avec fond de caisse, moyens de paiement, clôture et écriture de trésorerie. Le stock descend en temps réel sur tous les magasins, les écritures comptables sont automatiques, et la caisse se réconcilie d'elle-même chaque soir. C'est ce qu'aucun connecteur générique du marché ne fait, parce qu'ils traitent les ventes POS comme de simples commandes web.

// Shopify POS // Sessions de caisse Odoo // Stock temps réel multi-magasins // Comptabilité française

Le problème du retail connecté

Vous ouvrez des boutiques physiques, vous vendez sur Shopify POS, et votre ERP Odoo devrait tout centraliser. Sauf que dans la plupart des cas, il ne reçoit pas les ventes retail — ou il les reçoit mal. Les symptômes reviennent toujours :

  • L'équipe ressaisit chaque vente boutique dans la compta, deux à trois heures par jour et par magasin.
  • Le fond de caisse ne tombe jamais juste parce que les sessions ne sont pas rapprochées.
  • Le stock Odoo ne reflète pas la réalité des rayons, donc on survend en ligne ce qui est déjà parti en boutique.
  • La clôture comptable prend deux semaines parce que les écritures retail sont manuelles.

La cause est presque toujours la même : le connecteur en place ne sait pas gérer la caisse. C'est la limite structurante des modules du marché.

Ce que veut dire « gérer la caisse »

Une vente web et une vente en caisse ne se comptabilisent pas pareil. En boutique, il y a une session : on ouvre la caisse avec un fond, on encaisse en plusieurs moyens de paiement (CB, espèces, chèque, carte cadeau), on clôture le soir, et cette clôture génère une écriture de trésorerie. Un connecteur qui ignore ce cycle produit des ventes sans session, donc un fond de caisse qui dérive et une trésorerie fausse.

Bien fait, chaque session Shopify POS devient une session Odoo : les paiements sont ventilés par mode, la clôture est rapprochée, et la banque tombe juste sans intervention. Le détail de l'architecture POS ↔ Odoo.

L'architecture retail

Session de caisse Shopify POS vers OdooUne session Shopify POS — ouverture avec fond de caisse, encaissements en plusieurs moyens de paiement, clôture — devient une session de caisse Odoo, ventilée par mode de paiement, rapprochée, et génère automatiquement l'écriture de trésorerie. Le stock du magasin descend en temps réel depuis Odoo.// EN BOUTIQUESHOPIFY POS— Ouverture + fond de caisse— CB · espèces · chèque— Carte cadeauMode hors ligne si coupurewebhook// CONNECTEURRAPPROCHEMENT— Rejeu idempotent— Session POS → session Odoo— Ventilation par paiementZéro doublon même rejoué// DANS ODOOCAISSE JUSTE— Session de caisse clôturée— Écriture de trésorerie— Stock magasin à jourRéconcilié chaque soir, seulStock du magasin, temps réel (Odoo → POS)Aucune ressaisie : la vente en boutique est comptabilisée dans la minute.
Une session Shopify POS devient une session de caisse Odoo : paiements ventilés, trésorerie écrite, stock magasin à jour.
  1. Un emplacement Odoo par magasin. Chaque boutique est un emplacement de stock distinct, pas un mono-entrepôt déguisé. C'est ce qui permet un stock juste par point de vente.
  2. Ventes ascendantes. Chaque commande Shopify POS remonte par webhook signé, est rejouée en GraphQL en cas d'échec, et devient une commande Odoo avec son écriture comptable.
  3. Sessions de caisse. Les sessions Shopify POS sont mises en correspondance avec les sessions Odoo, moyens de paiement compris.
  4. Stock descendant. Odoo repousse la disponibilité par emplacement vers Shopify, avec les règles d'allocation par canal.
  5. Réconciliation. Un audit périodique compare Shopify et Odoo ligne à ligne et remonte les écarts réels — pas des milliers de faux positifs.

Cas réel : dix points de vente

Sur une enseigne de prêt-à-porter, le connecteur hérité dérivait en silence : du chiffre d'affaires non comptabilisé, un fond de caisse gonflé, des milliers de fausses anomalies que plus personne ne lisait. La reprise a d'abord rendu le système observable, puis l'a fait passer à l'échelle.

10points de vente connectés
0ressaisie comptable
35topics de webhooks gérés
×50sur la résolution clients

Lire le cas complet →

Le hardware, aussi

Une caisse retail, ce n'est pas que du logiciel. Le déploiement couvre les caisses, les imprimantes thermiques de tickets et les lecteurs de codes-barres, configurés et testés sur chaque boutique. Sur les gros volumes d'inventaire, un module de scan mobile transforme n'importe quel téléphone connecté à Odoo en scanette — lecture EAN et GS1 directement dans le navigateur.

Questions fréquentes

Pourquoi les connecteurs Shopify ↔ Odoo ne gèrent-ils pas la caisse ?

Parce qu'ils traitent les ventes Shopify POS comme des commandes web. Ils ne créent pas de véritable session de caisse Odoo — avec son fond de caisse, ses moyens de paiement, sa clôture et son écriture de trésorerie. Résultat : le retail est réconcilié à la main chaque soir. Gérer correctement le POS suppose de suivre les sessions de caisse Shopify, de les faire correspondre aux sessions Odoo, et de générer les écritures qui vont avec.

Le stock est-il vraiment temps réel sur toutes les boutiques ?

Oui, à condition que le connecteur soit événementiel : chaque vente, chaque réception, chaque transfert émet un événement qui met à jour Odoo, et Odoo repousse la disponibilité par emplacement vers Shopify. La clé est de rattacher chaque magasin à un emplacement Odoo distinct et de définir des règles d'allocation par canal. Une réconciliation périodique rattrape ce que l'événementiel a raté — parce que les webhooks tombent, toujours.

Que se passe-t-il si une caisse perd la connexion en pleine vente ?

La vente se fait quand même côté Shopify POS, qui fonctionne en mode dégradé hors ligne. À la reconnexion, la commande remonte par webhook, et le connecteur la rejoue de façon idempotente : elle devient une commande Odoo sans doublon, même si l'événement arrive deux fois. C'est exactement le genre de cas que les modules génériques gèrent mal et qui crée des écarts de caisse.

Combien de boutiques peut-on connecter ?

Il n'y a pas de limite fonctionnelle. Ce qui compte, c'est le nombre d'emplacements de stock et la charge de synchronisation. Une architecture bien conçue tient une dizaine de points de vente comme une seule : sur une mission retail réelle, dix emplacements d'expédition étaient rattachés au même profil de livraison. Le vrai sujet à cette échelle, c'est le passage à l'échelle des traitements — la résolution des clients ou l'application des prix — pas le nombre de magasins.

Combien coûte une intégration Shopify POS ↔ Odoo ?

Comptez 6 à 15 K€ pour le déploiement retail (hardware compris : caisses, imprimantes thermiques, lecteurs de codes-barres) et 8 à 18 K€ pour le connecteur lui-même selon le périmètre. L'audit initial est gratuit et donne un devis chiffré sous 72 h. À comparer au coût réel de la ressaisie quotidienne : deux à trois heures par jour et par boutique, plus les écarts de caisse qu'on finit par passer en perte.

Pour aller plus loin

// Votre caisse retail ne parle pas à Odoo ?

Faisons le diagnostic de votre POS.

Premier retour sous 24 h, diagnostic gratuit, devis chiffré sous 72 h. Aucun engagement.

Réserver un audit