Connecter votre POS retail à Odoo sans casser la caisse
La synchronisation POS ↔ ERP est sous-estimée. Je détaille la séquence Oodify : commandes, paiements, inventaire, écritures comptables.
La promesse “POS connecté à l’ERP” sonne bien dans une réunion. La réalité, c’est qu’un encaissement retail mal connecté peut bloquer une caisse, perdre une vente, et casser la comptabilité du mois.
Voici la séquence que je déroule avec Oodify (mon connecteur custom) pour que ça tienne.
Le problème en une phrase
Une commande Shopify POS, c’est un écosystème complet : un client (créé ou retrouvé), des lignes de produit (dont chaque variante a un stock et un compte comptable), un paiement (qui doit se rapprocher avec le journal bancaire), une TVA (qui dépend du contexte), et une comptabilité qui doit tomber juste.
Si une de ces étapes plante, la caisse est bloquée jusqu’à intervention manuelle.
La séquence Oodify
[Shopify POS, encaissement]
│
▼
[Webhook Shopify "orders/create"]
│
▼
[Oodify : transformation → commande Odoo]
├── Création/retrouve client
├── Lignes produit (mapping SKU)
├── Calcul TVA selon contexte (B2C, B2B, hors UE)
├── Application taxes spécifiques
└── Création commande Odoo (state: confirmed)
│
▼
[Odoo : génération facture + écriture]
│
▼
[Oodify : rapprochement paiement Shopify Payments]
│
▼
[n8n : alerte Slack si écart, sinon silencieux]Le piège des paiements
Shopify Payments fait un virement consolidé en J+2 ou J+3. Si on fait l’écriture comptable au moment de la commande, les comptes ne tombent jamais juste parce que le virement consolidé inclut commissions, frais, refunds.
La solution : Oodify crée l’écriture en compte d’attente au moment de la commande, et la rapproche en automatique quand le virement Shopify Payments arrive (parsing du payout via l’API Shopify Partner Payments). Comptable propre, sans intervention.
Le piège des refunds
Un refund POS retail, c’est généralement “on rend l’argent en espèces, pas par CB”. Si votre POS Shopify enregistre le refund en CB par défaut, vous allez avoir un trou dans la caisse au moment du rapprochement.
La règle Oodify : un refund retail crée une écriture explicite côté Odoo, avec le moyen de paiement réel (espèces, CB, avoir). Jamais de présomption.
Les écarts qui restent
Aucune sync n’est parfaite à 100 %. Ce qui compte, c’est que les écarts soient détectés et explicables.
Je mets toujours en place :
- Un dashboard d’écart quotidien (commandes Shopify sans pendant Odoo, paiements Shopify Payments sans écriture, etc.)
- Une alerte Slack dès qu’un écart dépasse 0,01 € sur 24h
- Un rapport hebdomadaire automatique pour la direction
C’est moins glamour que le déploiement initial. Mais c’est ce qui fait que la caisse réconcilie sans intervention quotidienne, six mois après le go-live.
Bâtissons votre architecture ensemble.
Audit gratuit sous 24 h ouvrées. Devis chiffré sous 72 h. Aucun engagement derrière.
Réserver un audit