Waarom je dit moet nakijken
Shopify stuurt op elke regel de titel van de btw zoals de klant die ziet, bijvoorbeeld "IVA 21%" of "VAT", en het tarief. Odoo heeft een concrete btw uit het grootboekschema van het bedrijf nodig. Komt de verkooporder binnen met een andere btw, dan kloppen het totaal en de factuur niet met wat Shopify heeft geïnd.
De koppeltabel bewaart per winkel welke btw in Odoo bij elke Shopify-naam hoort. Ze telt bovendien hoe vaak elke koppeling is gebruikt en wanneer voor het laatst, in de groep "Statistics".

Stap voor stap
- Ga naar Shopify › Configuration › Mappings › Taxes.
- Gebruik het filter Unmapped om de koppelingen te zien die nog geen btw in Odoo hebben.
- Controleer bij elke koppeling "Shopify Tax Name" en "Shopify Tax Rate (%)" en kies bij "Odoo Tax" de verkoop-btw die erbij hoort. Je ziet alleen verkoop-btw.
- Bestaat de btw nog niet in Odoo, klik dan op "Auto-Create Odoo Tax" in het formulier of op "Auto-Create" in de lijst. Dat maakt een verkoop-btw met dat tarief aan en koppelt hem.
- Open het formulier van de winkel, tabblad "Operations", groep "Order Settings", en beslis of je "Lock pricing & tax to Shopify" aangevinkt laat.
- Importeer een testorder en vergelijk de btw met die in Shopify.

Hoe de btw van elke regel wordt gekozen
Dat gebeurt voor elke btw van elke regel, ook op de verzendregel:
| Wat hij vindt | Welke btw hij zet |
|---|---|
| Een koppeling van de winkel met dezelfde naam, ongeacht hoofdletters | De bijbehorende "Odoo Tax" |
| Anders een koppeling met hetzelfde tarief | De bijbehorende "Odoo Tax" |
| Een koppeling zonder btw en zonder automatisch aanmaken | Geen |
| Geen enkele koppeling | Een verkoop-btw van het bedrijf van de winkel met dat tarief; is die er niet, dan maakt hij hem aan en voegt hij de koppeling met de Shopify-naam toe |
Die laatste rij verklaart waarom de tabel zichzelf vult: elke nieuwe btw die binnenkomt, laat zijn koppeling achter, zichtbaar zodat je hem kunt nakijken of wijzigen. Dezelfde naam kan niet twee keer in één winkel staan; probeer je dat toch, dan is de melding Shopify tax name must be unique per instance.
Prijzen inclusief btw
Elke Shopify-order geeft aan of de prijzen inclusief belasting zijn. Is dat zo, dan moet de btw in Odoo een btw inclusief prijs zijn, zodat het totaal van de verkooporder gelijk uitkomt met dat in Shopify. Wijst de koppeling naar een btw van de andere soort, dan zoekt of maakt de connector de juiste variant met hetzelfde tarief en zet hij die in de koppeling.
De btw die de connector aanmaakt, krijgt de naam die van Shopify komt. Komt er geen naam mee, dan heet hij "Shopify Tax" met zijn tarief en eindigt hij, als hij inclusief prijs is, op "(incl.)". Zoek op die namen in je btw-lijst om ze na te kijken.
Eén ding over de knop "Auto-Create Odoo Tax": die maakt de btw exclusief prijs aan. Werkt je winkel met prijzen inclusief btw, dan vervangt de volgende order die die koppeling gebruikt hem door de inclusieve variant.
Lock pricing & tax to Shopify
Dit vakje van de winkel staat standaard aan en bepaalt wie leidend is voor prijzen en btw:
- Aangevinkt
- De prijs van elke regel komt uit de Shopify-order, de verkooporder gaat zonder fiscale positie en een regel zonder btw in Shopify komt zonder btw in Odoo. Wat Shopify heeft geïnd, is wat in Odoo blijft staan.
- Uitgevinkt
- De order neemt de standaardprijslijst en de standaard fiscale positie van de winkel over, en een regel die zonder btw binnenkomt, krijgt de btw die Odoo aan het product geeft.

Veelvoorkomende fouten
- Orders met de verkeerde btw. Zoek in de tabel de koppeling met die naam en wijzig de "Odoo Tax". Orders die daarna binnenkomen, gebruiken de nieuwe btw.
- Twee btw's met hetzelfde tarief. Dat gebeurt als je dat tarief alleen exclusief (of alleen inclusief) had en de winkel in de andere modus werkt: de connector maakt de ontbrekende variant aan. Die is nodig om het totaal te laten kloppen, dus verwijder hem niet zolang de winkel in die modus blijft.
- "Auto-Create" doet niets. Zonder tarief in de koppeling verschijnt
Set a tax rate before auto-creating.Vul "Shopify Tax Rate (%)" in en klik opnieuw. - Verouderde statistieken. "Reset Stats" zet het aantal keer gebruikt op nul en wist de laatste datum, handig na een opschoning.
Werkt het in Odoo 17, 18, 19 en 20 hetzelfde?
Ja. De btw-tabel, de zoekvolgorde en het vergrendelvakje zitten in de connector die voor alle vier de versies is gepubliceerd.
Lees verder
Gecontroleerd in de broncode van de connector (versie 17.0, 18.0, 19.0 en 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de 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
- Broncode van de 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
- Broncode van de 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
- Broncode van de 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
- Broncode van de 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
