
Para integrar impuestos multimoneda en Shopify, separo tres cosas: moneda, impuestos y aranceles. Convertir ARS 25.000,00 a USD no define qué impuesto corresponde. Primero verifico si puedo cobrar en cada moneda y qué obligaciones tengo en el destino.
Organizo el trabajo en 5 pasos:
Mi regla es simple: <u>conservo cada importe con su moneda original</u>. Y antes de habilitar un mercado, valido el circuito con Finanzas y Tecnología: mostrar una moneda no garantiza poder cobrar en ella.
Impuestos multimoneda en Shopify: integración en 5 pasos
En Shopify Admin > Markets, creá cada mercado por país o región. Agrupá los países que compartan reglas de moneda, precios, envíos e impuestos. Revisá el país, la moneda, el idioma, el dominio, las zonas de envío y el catálogo disponible.
Antes de definir los precios, verificá qué funciones admite tu plan y si Shopify Payments o Adyen están disponibles para la ubicación de tu empresa y las monedas elegidas.
Definí cómo vas a calcular los precios de cada mercado. Los precios fijos tienen prioridad sobre la tasa manual, que se aplica solo a los productos sin precio fijo. Si activás redondeos o ajustes porcentuales, comprobá cómo afectan el margen antes de publicar.
| Método | Control del precio | Mantenimiento | Estabilidad | Cuándo usarlo |
|---|---|---|---|---|
| Conversión automática | Bajo | Bajo | Baja a media | Para probar un mercado nuevo o trasladar cambios del tipo de cambio |
| Tasa manual | Medio | Medio; requiere revisión periódica | Media a alta | Cuando buscás precios más previsibles |
| Precio fijo | Alto | Alto | Alta | Productos premium, campañas o protección del margen |
Separá los tipos de cambio de conversión, liquidación y contabilidad: no son lo mismo. Registrá la regla comercial aplicada y conciliá las comisiones del procesador por separado. Una conversión contable posterior no debe reemplazar el importe original cobrado al cliente.
Revisá cada variante: SKU, stock, disponibilidad por mercado, precio, moneda y clasificación fiscal. Para aduana, cargá el país de origen y un código HS de al menos seis dígitos. El HS no reemplaza la clasificación de impuestos sobre ventas.
Definí qué sistema será la fuente de referencia para cada dato:
Conservá el identificador fiscal para evitar cambios de tratamiento sin revisión. Dejá la clasificación lista para que el servicio fiscal y los webhooks puedan leerla sin modificarla.
Revisá en Markets y en Configuración > Impuestos y aranceles si corresponde mostrar precios con impuestos incluidos o agregarlos en el checkout. Documentá también cómo se tratan los descuentos y el envío. Incluir impuestos en el precio no significa incluir aranceles.
En es-AR, mostrálos como ARS 25.000,00 o USD 25,00; en la integración, guardá monto y moneda por separado.
Para validar los importes en el paso 4, no envíes montos formateados como texto ni uses cálculos de punto flotante binario. Con los importes normalizados, conectá el servicio fiscal del paso 2.
Partí de los precios, monedas y clasificaciones del paso 1. Shopify toma el pedido; el servicio fiscal calcula el impuesto; la integración sincroniza los datos. Un conector que actúa después no reemplaza el cálculo en checkout ni cubre por sí solo el registro, las declaraciones y el cobro. Una vez definida la lógica fiscal, verificá la cobertura e instalá la app.
Consultá el Centro de ayuda de Shopify y la Shopify App Store para confirmar jurisdicciones, plan, monedas y costos. Antes de instalar la app según sus instrucciones, guardá la configuración vigente y exportá los pedidos recientes. Si tu empresa es argentina, comprobá qué inscripciones y operaciones de exportación admite: la cobertura global no garantiza el cumplimiento local.
Revisá la compatibilidad con tus medios de pago, checkout exprés, suscripciones y pedidos manuales, según los canales que uses. Confirmá qué pasa si cambia la dirección o falla el cálculo, y si la app registra ajustes, cancelaciones y reembolsos. Después, cargá las jurisdicciones, monedas e identificadores antes de importar pedidos.
Cargá la razón social, las inscripciones por jurisdicción, las fechas de vigencia, las ubicaciones de despacho, las exenciones y los identificadores fiscales del cliente. Mapeá la dirección, el SKU o la variante, la cantidad, los descuentos, el envío, la moneda y los importes original y convertido. La app debe leer los datos del catálogo sin reinterpretarlos.
Asigná una sola fuente de cálculo por impuesto y un responsable fiscal. La integración debe transmitir los datos sin recalcular ni duplicar registros. Desactivá las reglas superpuestas y documentá los impuestos cobrados, estimados y reembolsados. Luego, configurá los aranceles de importación por separado.
Verificá si el destino permite cobrar aranceles en checkout y si el transportista admite DDP (entregado con derechos pagados). Con DAP, el destinatario puede tener que pagar cargos al recibir el pedido. Definí quién cobra, paga y gestiona esos cargos. Cobrarlos en checkout no garantiza cubrir todos los cargos en destino ni resuelve las obligaciones aduaneras y de exportación argentinas.
Antes de sincronizar pedidos por webhooks, resolvé los pendientes del flujo de pedidos y de los propios webhooks, y dejá definidos los impuestos y aranceles.
Una vez definidos los impuestos y aranceles, sincronizá cada pedido sin recalcular los importes.
Usá los eventos disponibles en tu versión de la API de Shopify: orders/create para registrar el pedido, orders/paid para detectar el pago, orders/updated para revisar cambios, orders/cancelled para cancelaciones y refunds/create para reembolsos. Agregá eventos de fulfillment si la obligación fiscal depende de la entrega. Definí un único evento fiscal para cada operación: alta, ajuste y reverso. El cálculo sigue a cargo del servicio fiscal.
Mapeá los ID de tienda y pedido, la versión de API, la fecha, los impuestos por línea, los descuentos, el envío, los aranceles y las referencias de pago y reembolso. Guardá tanto el importe original como el mostrado al cliente, cada uno con su moneda y precisión.
Conservá los valores registrados: no conviertas pedidos históricos con la cotización actual. Cuando estén disponibles, separá también las monedas de liquidación y reporte.
Con los campos normalizados, validá la firma antes de procesar el evento. Recibí el POST por HTTPS y verificá X-Shopify-Hmac-SHA256 sobre el cuerpo bruto, antes de procesar el JSON. Calculá HMAC-SHA256 con el secreto de la app, codificalo en Base64 y compará las firmas en tiempo constante. Rechazá las firmas inválidas.
Validá el webhook, guardá el evento y respondé 200 o 202. Procesá el resto en segundo plano.
Registrá X-Shopify-Webhook-Id y una clave de idempotencia por operación fiscal. Shopify puede reintentar hasta 8 veces durante unas 4 horas.
No dependas del orden de llegada. Verificá las fechas y consultá el pedido actual si faltan datos o el payload quedó desactualizado. Si todavía faltan importes, monedas o referencias, dejá la operación pendiente de revisión; no crees un registro incompleto. Complementá los webhooks con conciliaciones periódicas.
Tratá la importación de pedidos históricos como un flujo separado, con permisos limitados y control de duplicados. Pedí solo los permisos documentados para los endpoints que uses y cumplí los requisitos de datos protegidos de clientes.
El acceso a pedidos cubre los últimos 60 días. Para pedidos anteriores, verificá la aprobación y el permiso read_all_orders cuando corresponda. Antes de importar, confirmá si el proveedor acepta fechas originales y períodos ya declarados.
Probá el importador con un lote de pedidos que incluya distintas monedas, descuentos y reembolsos. Conciliá las cantidades y los importes por moneda, y guardá cada resultado en una tabla de control: una etiqueta de importación no evita duplicados por sí sola.
Con los mercados, los impuestos y los webhooks configurados, validá los importes antes de publicar.
Hacé pedidos controlados para cada mercado y moneda habilitados, con los flujos de prueba que admiten Shopify y tu servicio fiscal. Registrá por separado la moneda del checkout, la de liquidación y la contable/fiscal. Si la moneda mostrada difiere de la del checkout, registrala también. Documentá si la conversión es automática o manual y cómo se configura el redondeo. Una diferencia de cambio, por sí sola, no demuestra un error tributario.
Usá esta matriz como cobertura mínima. Incluí variantes de productos y probá tanto precios convertidos como fijos.
Escenario Moneda esperada Tratamiento fiscal esperado Criterio de aprobación Cliente de EE. UU. ve precios sin impuesto USD Impuesto calculado en checkout si corresponde, según el mercado y el servicio fiscal El impuesto no aparece incluido dos veces Cliente alemán compra con impuesto incluido EUR IVA incluido en el precio, según Markets y el servicio fiscal El total coincide y la línea fiscal identifica el importe incluido Producto con código HS y origen configurados Moneda local del mercado Arancel e impuesto de importación calculados por Shopify Duties and Import Taxes HS, origen, arancel e impuesto aparecen con importes reproducibles Cambio de dirección durante checkout Moneda del nuevo mercado, si corresponde Recálculo en Shopify por nueva jurisdicción La tasa y el mercado se actualizan según la dirección final Descuento fijo o porcentual sobre dos líneas Moneda del checkout Descuento asignado según el pedido y el servicio fiscal, sin alterar indebidamente la base imponible Los descuentos asignados suman el descuento total y la base fiscal es reproducible Reembolso total o parcial Moneda de la compra Impuesto y envío revertidos según la política aplicable Pedido, transacción y proveedor de pagos coinciden en importe devuelto, impuestos revertidos y saldo pendiente; cualquier variación cambiaria sigue la política documentada Cliente exento o B2B, cuando corresponda Moneda del checkout Exención o tratamiento B2B validado por el servicio fiscal y la documentación del cliente La identificación válida y la inválida reciben el tratamiento previsto
Compará subtotal, descuentos, envío, base imponible, impuestos, aranceles y total entre Shopify y el servicio fiscal. Si el precio incluye impuestos, separalos para reportarlos: no los vuelvas a sumar.
Conciliá las liquidaciones y comisiones con el proveedor de pagos, y los asientos y valores declarables con los sistemas contable y fiscal. Compará solo importes en la misma moneda. Si necesitás convertirlos, usá la cotización documentada y su fecha.
Usá aritmética decimal y la precisión de cada moneda. Antes de probar, definí dónde se redondea - por línea, componente fiscal o total - y qué tolerancia admite cada moneda. Rechazá diferencias sin explicación, monedas distintas, líneas fiscales faltantes y duplicados.
Con la aprobación cerrada, pasá al monitoreo de errores y mensajes.
Una vez aprobado el lanzamiento, pasá de validar importes a detectar desvíos y responder consultas. Asigná un responsable por área y una frecuencia fija de revisión. Finanzas, catálogo, e-commerce y Tecnología deben controlar inscripciones fiscales, clasificaciones, precios por moneda, permisos y webhooks después del lanzamiento.
El tablero debe mostrar webhooks fallidos, duplicados, diferencias de importes y pedidos sin ID fiscal, con el ID del pedido, la moneda y el tipo de evento. Como umbrales internos iniciales, configurá alertas para eventos sin procesar durante más de 5 minutos, 3 o más reintentos y pagos confirmados sin ID fiscal cuando corresponda generarlo. Derivá los errores técnicos a Tecnología y las diferencias fiscales a Finanzas.
Tratá orders/updated como un posible ajuste fiscal solo si cambia el importe, la moneda o la base imponible. Conciliá semanalmente ediciones, cancelaciones, reembolsos y contracargos, y ajustá únicamente los casos con impacto económico. Vinculá cada cambio con el registro original. Aplicá ajustes o anulaciones solo si el proveedor los admite y las reglas contables los permiten. Un contracargo no revierte automáticamente la obligación tributaria.
Registrá las revisiones como
15/10/2026y conservá timestamps técnicos con zona explícita, como2026-10-15T14:30:00-03:00.
Soporte debe responder con los mismos datos que usa Finanzas para conciliar.
Antes de responder, soporte debe consultar la moneda y los importes registrados en el pedido original: productos, descuentos, envío, impuestos, aranceles y la transacción devuelta. Antes de cotizar, confirmá el mercado y la moneda.
En reportes argentinos, escribí
ARS 125.430,75, sin confundir esa presentación con la moneda original del pedido.
Si usás Burbuxa en WhatsApp e Instagram, verificá la sincronización de pedidos y stock antes de responder antes de responder. Si faltan datos o hay diferencias, derivá el caso al responsable de conciliación, sin modificar impuestos.
Con los mercados y los precios definidos, repasá esta checklist para cerrar la integración:
Debés registrarte fiscalmente cuando tu negocio establece un nexo económico en una jurisdicción. Esto ocurre si tenés presencia física allí o si superás los umbrales anuales de ventas o transacciones. El panel de responsabilidad fiscal de Shopify (Tax liability insights) te avisa cuando te acercás a esos límites.
No recaudes impuestos en una nueva jurisdicción hasta obtener el permiso legal correspondiente. Así evitás sanciones.
Verificá tu configuración de nexo y asegurate de no recaudar impuestos sin el registro oficial correspondiente, ya que podría ser ilegal. Configurá el sistema para detener el cálculo o bloquear las ventas a destinos no cubiertos y así evitar importes incorrectos.
Consultá con un contador para validar las reglas vigentes en el destino y, si hace falta, ajustar las reglas de cálculo manual o integrar soluciones especializadas.
Configurá las credenciales de API del nuevo servicio y revisá el mapeo de productos y los códigos fiscales. Al integrar estos servicios, Shopify desactiva su motor fiscal nativo para evitar cálculos duplicados.
No modifiques manualmente los tax_lines existentes. Usá los webhooks orders/create y orders/paid para validar los impuestos, y metafields para marcar las discrepancias. Antes del cambio definitivo, hacé pruebas con pedidos de bajo valor y comprobá que los importes coincidan.