Integración de Shopify con ERP: cómo evitar pedidos perdidos y registros duplicados
Cuando un pedido se confirma en Shopify, el trabajo operativo apenas comienza. El ERP puede necesitar registrar la venta, el almacén debe preparar el envío y finanzas tendrá que conciliar el…
Samuel Noriega ·
Cuando un pedido se confirma en Shopify, el trabajo operativo apenas comienza. El ERP puede necesitar registrar la venta, el almacén debe preparar el envío y finanzas tendrá que conciliar el cobro. Si una conexión falla entre esos pasos, la tienda puede mostrar una compra exitosa mientras el equipo no encuentra el pedido en su sistema administrativo.
Una integración de Shopify con un ERP debe definir quién es responsable de cada dato, cómo se recupera de las fallas y quién revisa las diferencias. El conector es solamente una parte de ese diseño.
Define qué sistema manda en cada dato
Antes de escoger una app o desarrollar una integración, documenta el origen autorizado de cada campo. El reparto depende de la operación; no todos los negocios deben usar el mismo.
| Dato | Responsabilidad posible | Pregunta para el equipo |
|---|---|---|
| SKU y catálogo maestro | ERP | ¿El identificador de la variante es único y estable? |
| Contenido comercial | Shopify | ¿Quién edita títulos, imágenes y descripciones? |
| Inventario disponible | ERP o WMS | ¿Cómo se consideran apartados, seguridad y almacenes? |
| Pedido en línea | Shopify al originarse | ¿Qué identificador conserva el ERP para rastrearlo? |
| Surtido y guía | WMS o 3PL | ¿Cómo se informa el envío de regreso a Shopify? |
| Contabilidad y conciliación | ERP | ¿Cómo se relacionan cobros, devoluciones y ajustes? |
Por ejemplo, una marca con almacén en México y ventas nacionales puede tener inventario físico en un WMS, pedidos originados en Shopify y facturación administrada en su ERP. Eso no significa que el WMS deba escribir cualquier cantidad en la tienda: primero hay que acordar la definición de inventario disponible y el mapeo de cada ubicación.
Los requisitos de facturación y los datos fiscales varían según la operación; conviene revisar el flujo con el equipo contable y el proveedor del ERP antes de automatizarlo.
No dependas de que cada evento llegue una sola vez
Un webhook puede volver a entregarse. Además, una petición al ERP puede agotar su tiempo de espera después de que el ERP sí guardó la orden. Reintentar a ciegas puede crear pedidos duplicados.
Una implementación robusta separa la recepción del procesamiento:
- Verifica la firma del webhook usando el cuerpo original de la solicitud.
- Registra el identificador de entrega en almacenamiento duradero y evita procesar dos veces la misma entrega.
- Confirma la recepción rápidamente y deja el trabajo para una cola.
- Procesa el pedido con una clave estable de negocio, por ejemplo tienda, pedido y tipo de operación.
- Ante un resultado ambiguo, busca la referencia externa en el ERP antes de intentar crear otra orden.
- Guarda el identificador del ERP, los intentos y el resultado para conciliación.
La deduplicación de entregas y la idempotencia de la operación resuelven problemas distintos. Consulta la documentación de Shopify sobre verificación de webhooks para los requisitos vigentes.
Diseña reintentos según el error
Un servicio temporalmente indisponible puede justificar un reintento limitado con espera progresiva. Un SKU inexistente, una dirección rechazada o una regla de crédito requieren corrección; insistir con el mismo dato no arregla el problema.
La cola de errores debe guardar una referencia al registro, el tipo de falla, el número de intentos y el responsable de atenderla. Evita registrar información personal innecesaria en los logs y establece cómo volver a procesar el evento una vez corregido.
Si usas GraphQL Admin API, revisa los costos y señales de limitación en la respuesta. No bases la política de reintentos únicamente en el código HTTP. Shopify describe el modelo en su documentación de límites de API.
Concilia aunque la cola aparezca sana
Una cola vacía no garantiza que Shopify y el ERP coincidan. Programa comparaciones de pedidos, líneas, importes y referencias externas; revisa también devoluciones y cancelaciones según el alcance del proyecto.
Para inventario, compara la cantidad publicada por ubicación con la fuente autorizada. Si el flujo detecta una diferencia, registra cuándo se detectó, cuál era el valor esperado y qué acción se tomó. Evita aplicar cambios viejos sobre una actualización más reciente.
Antes del lanzamiento, prueba al menos un pedido normal, una devolución, una caída temporal del ERP, un webhook duplicado y un tiempo de espera después de guardar. La aceptación debe incluir tanto el resultado en los sistemas como la alerta que verá el equipo.
Para planear el alcance general de una migración, consulta la guía de migración a Shopify. La integración debe llegar al lanzamiento con responsables, pruebas de recuperación y un proceso de conciliación, no sólo con una conexión que respondió correctamente una vez.
Servicio relacionado: Integraciones Shopify
Habla con nuestro equipo