Por qué hay que mirarlo
Shopify manda en cada línea el título del impuesto tal como lo ve el cliente, por ejemplo «IVA 21%» o «VAT», y su tipo. Odoo necesita un impuesto concreto del plan contable de la empresa. Si el pedido de venta entra con otro impuesto, su total y su factura no cuadran con lo que cobró Shopify.
La tabla de correspondencias guarda, por tienda, qué impuesto de Odoo corresponde a cada nombre de Shopify. Cuenta además cuántas veces se ha usado cada una y cuándo fue la última, en el grupo «Statistics».

Paso a paso
- Ve a Shopify › Configuration › Mappings › Taxes.
- Usa el filtro Unmapped para ver las correspondencias que aún no tienen impuesto de Odoo.
- En cada una, comprueba «Shopify Tax Name» y «Shopify Tax Rate (%)», y elige en «Odoo Tax» el impuesto de venta que le toca. Solo salen impuestos de venta.
- Si el impuesto aún no existe en Odoo, pulsa «Auto-Create Odoo Tax» en la ficha o «Auto-Create» en la lista. Crea un impuesto de venta con ese tipo y lo enlaza.
- Abre la ficha de la tienda, pestaña «Operations», grupo «Order Settings», y decide si dejas marcada «Lock pricing & tax to Shopify».
- Importa un pedido de prueba y compara su impuesto con el de Shopify.

Cómo elige el impuesto de cada línea
Lo hace para cada impuesto de cada línea, también en la línea de envío:
| Qué encuentra | Qué impuesto pone |
|---|---|
| Una correspondencia de la tienda con el mismo nombre, sin mirar mayúsculas | Su «Odoo Tax» |
| Si no, una correspondencia con el mismo tipo | Su «Odoo Tax» |
| Una correspondencia sin impuesto y sin crear automáticamente | Ninguno |
| Ninguna correspondencia | Un impuesto de venta de la empresa de la tienda con ese tipo; si no hay, lo crea y añade la correspondencia con el nombre de Shopify |
Esa última fila explica por qué la tabla se llena sola: cada impuesto nuevo que llega deja su correspondencia, a la vista para que la revises o la cambies. Un mismo nombre no puede estar dos veces en una tienda; si lo intentas, el aviso es Shopify tax name must be unique per instance.
Precios con el IVA dentro
Cada pedido de Shopify dice si sus precios llevan el impuesto incluido. Si lo llevan, el impuesto de Odoo tiene que ser de precio incluido para que el total del pedido de venta salga igual que en Shopify. Cuando la correspondencia apunta a un impuesto del otro modo, el conector busca o crea la variante buena con el mismo tipo y la deja en la correspondencia.
Los impuestos que crea el conector llevan el nombre que viene de Shopify. Si no viene nombre, se llaman «Shopify Tax» con su tipo y, si son de precio incluido, terminan en «(incl.)». Busca esos nombres en tu lista de impuestos para revisarlos.
Una cosa del botón «Auto-Create Odoo Tax»: crea el impuesto sin incluir en el precio. Si tu tienda trabaja con el IVA dentro, el siguiente pedido que use esa correspondencia la cambia por la variante incluida.
Lock pricing & tax to Shopify
Esta casilla de la tienda viene marcada y decide quién manda en precios e impuestos:
- Marcada
- El precio de cada línea sale del pedido de Shopify, el pedido de venta va sin posición fiscal y una línea sin impuesto en Shopify entra sin impuesto en Odoo. Lo que cobró Shopify es lo que queda en Odoo.
- Desmarcada
- El pedido toma la tarifa y la posición fiscal por defecto de la tienda, y una línea que llega sin impuesto se queda con los que Odoo le pone al producto.

Errores típicos
- Pedidos con el impuesto que no toca. Busca en la tabla la correspondencia de ese nombre y cambia su «Odoo Tax». Los pedidos que entren a partir de ahí usan el impuesto nuevo.
- Dos impuestos con el mismo tipo. Pasa cuando ya tenías ese tipo solo sin incluir (o solo incluido) y la tienda trabaja en el otro modo: el conector crea la variante que falta. La necesita para que el total cuadre, así que no la borres mientras la tienda siga en ese modo.
- «Auto-Create» no hace nada. Sin tipo en la correspondencia sale
Set a tax rate before auto-creating.Rellena «Shopify Tax Rate (%)» y vuelve a pulsarlo. - Estadísticas viejas. «Reset Stats» pone a cero las veces usadas y borra la última fecha, útil tras una limpieza.
¿Funciona igual en Odoo 17, 18, 19 y 20?
Sí. La tabla de impuestos, el orden de búsqueda y la casilla de bloqueo están en el conector publicado para las cuatro versiones.
Sigue leyendo
Comprobado en el código del conector (versión 17.0, 18.0, 19.0 y 20.0) y en las fuentes enlazadas
Fuentes
- Código del 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 del 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 del 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 del 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 del 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
