Pourquoi il faut y regarder
Shopify envoie sur chaque ligne le titre de la taxe tel que le client le voit, par exemple « IVA 21% » ou « VAT », et son taux. Odoo a besoin d'une taxe précise du plan comptable de la société. Si la commande client entre avec une autre taxe, son total et sa facture ne correspondent pas à ce que Shopify a encaissé.
La table de correspondances garde, par boutique, quelle taxe Odoo correspond à chaque nom Shopify. Elle compte aussi combien de fois chacune a servi et quand pour la dernière fois, dans le groupe « Statistics ».

Pas à pas
- Allez dans Shopify › Configuration › Mappings › Taxes.
- Utilisez le filtre Unmapped pour voir les correspondances qui n'ont pas encore de taxe Odoo.
- Pour chacune, vérifiez « Shopify Tax Name » et « Shopify Tax Rate (%) », et choisissez dans « Odoo Tax » la taxe de vente qui convient. Seules les taxes de vente apparaissent.
- Si la taxe n'existe pas encore dans Odoo, cliquez sur « Auto-Create Odoo Tax » dans la fiche ou sur « Auto-Create » dans la liste. Cela crée une taxe de vente à ce taux et la relie.
- Ouvrez la fiche de la boutique, onglet « Operations », groupe « Order Settings », et décidez si vous laissez cochée « Lock pricing & tax to Shopify ».
- Importez une commande de test et comparez sa taxe avec celle de Shopify.

Comment il choisit la taxe de chaque ligne
Il le fait pour chaque taxe de chaque ligne, y compris la ligne de livraison :
| Ce qu'il trouve | La taxe qu'il met |
|---|---|
| Une correspondance de la boutique avec le même nom, sans tenir compte des majuscules | Son « Odoo Tax » |
| Sinon, une correspondance avec le même taux | Son « Odoo Tax » |
| Une correspondance sans taxe et sans création automatique | Aucune |
| Aucune correspondance | Une taxe de vente de la société de la boutique à ce taux ; s'il n'y en a pas, il la crée et ajoute la correspondance avec le nom Shopify |
Cette dernière ligne explique pourquoi la table se remplit toute seule : chaque nouvelle taxe qui arrive laisse sa correspondance, bien visible pour que vous la vérifiiez ou la changiez. Un même nom ne peut pas figurer deux fois dans une boutique ; si vous essayez, le message est Shopify tax name must be unique per instance.
Prix TTC
Chaque commande Shopify indique si ses prix incluent la taxe. Si c'est le cas, la taxe Odoo doit être incluse dans le prix pour que le total de la commande client soit identique à celui de Shopify. Quand la correspondance pointe vers une taxe de l'autre type, le connecteur cherche ou crée la bonne variante au même taux et la place dans la correspondance.
Les taxes que crée le connecteur portent le nom qui vient de Shopify. S'il ne vient pas de nom, elles s'appellent « Shopify Tax » suivi de leur taux et, si elles sont incluses dans le prix, se terminent par « (incl.) ». Cherchez ces noms dans votre liste de taxes pour les vérifier.
Une précision sur le bouton « Auto-Create Odoo Tax » : il crée la taxe non incluse dans le prix. Si votre boutique travaille en TTC, la commande suivante qui utilise cette correspondance la remplace par la variante incluse.
Lock pricing & tax to Shopify
Cette case de la boutique est cochée par défaut et décide qui a le dernier mot sur les prix et les taxes :
- Cochée
- Le prix de chaque ligne vient de la commande Shopify, la commande client n'a pas de position fiscale et une ligne sans taxe dans Shopify entre sans taxe dans Odoo. Ce que Shopify a encaissé est ce qui reste dans Odoo.
- Décochée
- La commande prend la liste de prix et la position fiscale par défaut de la boutique, et une ligne qui arrive sans taxe garde celles qu'Odoo applique au produit.

Erreurs fréquentes
- Des commandes avec la mauvaise taxe. Cherchez dans la table la correspondance de ce nom et changez son « Odoo Tax ». Les commandes qui entrent à partir de là utilisent la nouvelle taxe.
- Deux taxes au même taux. Cela arrive quand vous aviez ce taux seulement hors prix (ou seulement inclus) et que la boutique travaille dans l'autre mode : le connecteur crée la variante qui manque. Il en a besoin pour que le total tombe juste, alors ne la supprimez pas tant que la boutique reste dans ce mode.
- « Auto-Create » ne fait rien. Sans taux dans la correspondance, le message est
Set a tax rate before auto-creating.Remplissez « Shopify Tax Rate (%) » et cliquez de nouveau. - Des statistiques anciennes. « Reset Stats » remet à zéro le nombre d'utilisations et efface la dernière date, pratique après un nettoyage.
Est-ce que cela fonctionne pareil dans Odoo 17, 18, 19 et 20 ?
Oui. La table des taxes, l'ordre de recherche et la case de verrouillage sont dans le connecteur publié pour les quatre versions.
À lire aussi
Vérifié dans le code du connecteur (version 17.0, 18.0, 19.0 et 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_tax_mapping.py, views/shopify_tax_mapping_views.xml, views/menu_views.xml
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_tax_mapping.py (_resolve_tax, _get_or_create_tax), models/shopify_order.py
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_order.py, models/shopify_tax_mapping.py
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_instance.py, models/shopify_order.py, views/shopify_instance_views.xml
- Code du module : flexigobe_shopify_seller_connector · 17.0 2c06264 · 18.0 0272d17 · 19.0 19422d4 · 20.0 2950bdc: models/shopify_tax_mapping.py, views/shopify_tax_mapping_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
