Porque é preciso verificar
A Shopify envia em cada linha o título do imposto tal como o cliente o vê, por exemplo «IVA 21%» ou «VAT», e a respetiva taxa. O Odoo precisa de um imposto concreto do plano de contas da empresa. Se a ordem de venda entrar com outro imposto, o total e a fatura não batem certo com o que a Shopify cobrou.
A tabela de correspondências guarda, por loja, que imposto do Odoo corresponde a cada nome da Shopify. Conta ainda quantas vezes cada uma foi usada e quando foi a última, no grupo «Statistics».

Passo a passo
- Vá a Shopify › Configuration › Mappings › Taxes.
- Use o filtro Unmapped para ver as correspondências que ainda não têm imposto do Odoo.
- Em cada uma, verifique «Shopify Tax Name» e «Shopify Tax Rate (%)» e escolha em «Odoo Tax» o imposto de venda certo. Só aparecem impostos de venda.
- Se o imposto ainda não existir no Odoo, clique em «Auto-Create Odoo Tax» na ficha ou em «Auto-Create» na lista. Cria um imposto de venda com essa taxa e associa-o.
- Abra a ficha da loja, separador «Operations», grupo «Order Settings», e decida se deixa marcada «Lock pricing & tax to Shopify».
- Importe uma encomenda de teste e compare o imposto com o da Shopify.

Como escolhe o imposto de cada linha
Fá-lo para cada imposto de cada linha, também na linha de envio:
| O que encontra | Que imposto coloca |
|---|---|
| Uma correspondência da loja com o mesmo nome, sem distinguir maiúsculas | O respetivo «Odoo Tax» |
| Caso contrário, uma correspondência com a mesma taxa | O respetivo «Odoo Tax» |
| Uma correspondência sem imposto e sem criação automática | Nenhum |
| Nenhuma correspondência | Um imposto de venda da empresa da loja com essa taxa; se não houver, cria-o e acrescenta a correspondência com o nome da Shopify |
Essa última linha explica porque é que a tabela se preenche sozinha: cada imposto novo que chega deixa a sua correspondência, à vista para que a reveja ou a altere. Um mesmo nome não pode estar duas vezes numa loja; se o tentar, o aviso é Shopify tax name must be unique per instance.
Preços com o IVA incluído
Cada encomenda da Shopify indica se os preços incluem o imposto. Se incluírem, o imposto do Odoo tem de ser de preço incluído para que o total da ordem de venda saia igual ao da Shopify. Quando a correspondência aponta para um imposto do outro tipo, o conector procura ou cria a variante certa com a mesma taxa e deixa-a na correspondência.
Os impostos que o conector cria levam o nome que vem da Shopify. Se não vier nome, chamam-se «Shopify Tax» com a respetiva taxa e, se forem de preço incluído, terminam em «(incl.)». Procure esses nomes na sua lista de impostos para os rever.
Um pormenor do botão «Auto-Create Odoo Tax»: cria o imposto sem estar incluído no preço. Se a sua loja trabalhar com o IVA incluído, a próxima encomenda que use essa correspondência troca-a pela variante incluída.
Lock pricing & tax to Shopify
Esta caixa da loja vem marcada e decide quem manda nos preços e nos impostos:
- Marcada
- O preço de cada linha sai da encomenda da Shopify, a ordem de venda vai sem posição fiscal e uma linha sem imposto na Shopify entra sem imposto no Odoo. O que a Shopify cobrou é o que fica no Odoo.
- Desmarcada
- A encomenda usa a lista de preços e a posição fiscal predefinidas da loja, e uma linha que chega sem imposto fica com os que o Odoo atribui ao produto.

Erros típicos
- Encomendas com o imposto errado. Procure na tabela a correspondência desse nome e altere o respetivo «Odoo Tax». As encomendas que entrarem a partir daí usam o novo imposto.
- Dois impostos com a mesma taxa. Acontece quando já tinha essa taxa só sem incluir (ou só incluída) e a loja trabalha no outro modo: o conector cria a variante que falta. Precisa dela para que o total bata certo, por isso não a apague enquanto a loja continuar nesse modo.
- «Auto-Create» não faz nada. Sem taxa na correspondência, aparece
Set a tax rate before auto-creating.Preencha «Shopify Tax Rate (%)» e clique outra vez. - Estatísticas antigas. «Reset Stats» põe a zero as vezes de utilização e apaga a última data, útil depois de uma limpeza.
Funciona da mesma forma no Odoo 17, 18, 19 e 20?
Sim. A tabela de impostos, a ordem de procura e a caixa de bloqueio estão no conector publicado para as quatro versões.
Continue a ler
Verificado no código do conector (versão 17.0, 18.0, 19.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: 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
- Código do módulo: 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
- Código do módulo: 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
- Código do módulo: 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
- Código do módulo: 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
