Conectar WooCommerce o PrestaShop con tu ERP usando n8n: guía práctica

Para conectar WooCommerce o PrestaShop con tu ERP usando n8n necesitas tres piezas: un webhook que salga de la tienda al confirmar el pedido, un workflow en n8n que mapee los campos al formato del ERP, y manejo de errores con reintentos. Sincronizar la tienda con un ERP de contabilidad es el caso de uso más frecuente que vemos en clientes que llegan preguntando por n8n. Los conectores SaaS específicos para ese ERP suelen tener una cuota mensual recurrente; un n8n self-hosted con la misma lógica solo requiere el coste del VPS. Esta es la guía práctica.

Aviso rápido: el módulo n8n Connector de Zeyvro que mencionamos más abajo es, por ahora, solo para PrestaShop 8; la versión para WooCommerce está en camino. Si usas WooCommerce, esta guía te sirve igual montando el webhook nativo de la tienda (sin módulo).

¿Por qué n8n suele ganar aquí?

Los conectores SaaS específicos (WooCommerce a Holded, PrestaShop a Sage, etc.) hacen una cosa bien y nada más. Si necesitas variar el comportamiento (filtrar pedidos según condición, mapear campos custom, enviar el mismo pedido a dos sistemas distintos), te chocas contra los límites del conector y acabas pagando para que añadan tu caso.

Con n8n tienes el endpoint webhook nativo, manipulación de datos arbitraria, ramificaciones, retry exponencial y logging tú mismo. El precio es que lo tienes que montar tú, pero una vez montado se adapta a lo que pidas sin pasar por roadmap externo.

Setup base: n8n en un VPS

n8n self-hosted se instala con Docker Compose en cualquier VPS razonable. La guía oficial cubre el detalle; los pasos esenciales:

  1. VPS con Docker y docker-compose instalados.
  2. Archivo docker-compose con n8n + postgres como base de datos (no SQLite en producción).
  3. Subdominio con SSL apuntando al VPS, certificado vía certbot o panel.
  4. Variables de entorno: usuario admin, contraseña, dominio público, zona horaria.
  5. Backup automático del volumen postgres (n8n guarda workflows y credenciales ahí).

Trampa común: olvidarse del backup. n8n almacena todo el estado en postgres. Si ese volumen se pierde, pierdes todos los workflows y las credenciales. Backup diario mínimo, fuera del VPS.

Webhook desde la tienda al confirmar el pedido

Tanto WooCommerce como PrestaShop pueden disparar un webhook al confirmar un pedido. En WooCommerce está en Ajustes > Avanzado > Webhooks; en PrestaShop se hace por módulo o por hook en código.

El webhook debe enviarse a un endpoint de n8n que crearás como primer paso del workflow. n8n te da una URL única por workflow. Pega esa URL en la configuración del webhook de la tienda y elige el evento «pedido completado» o equivalente.

Validación rápida: completa un pedido de prueba en la tienda y verifica que n8n recibe el payload. Si no llega, comprueba que el VPS es accesible desde la URL pública del webhook (firewall, SSL, DNS).

Workflow para Holded

Holded tiene API REST documentada. El workflow básico:

  1. Webhook trigger desde la tienda.
  2. Función para mapear los campos: pedido → factura Holded. Mapear ID pedido, datos cliente, líneas, impuestos, total.
  3. HTTP request a la API de Holded para crear la factura. Token de API guardado como credencial en n8n.
  4. Respuesta de Holded con el ID de la factura creada.
  5. HTTP request de vuelta a la tienda para guardar el ID de factura Holded en el pedido (campo meta).
  6. En caso de error: notificación a Slack o email con detalle.

Para Holded en concreto, los campos que más rompen el mapping son: clientes nuevos vs clientes existentes (hay que comprobar primero), descuentos a nivel pedido vs por línea, e impuestos no estándar (recargo de equivalencia para autónomos).

Workflow para Sage

Sage 200 y Sage 50 (España) tienen APIs distintas y, dependiendo del paquete, pueden requerir un webservice intermedio. El workflow puede ser:

  1. Webhook trigger.
  2. Mapper de campos. Para Sage el formato de fechas, los códigos de cuenta contable y la serie de facturación son críticos: si los pones mal Sage rechaza la factura sin mensaje útil.
  3. HTTP request a Sage. En instalaciones on-premise, suele ir contra un servidor interno: n8n debe poder alcanzarlo (VPN o red privada).
  4. Confirmación y registro del número de factura asignado por Sage.
  5. Manejo de errores con retry exponencial (Sage a veces tarda en responder bajo carga).

Para Sage on-premise, la integración suele ser más laboriosa que con SaaS contable. Considera primero si tu Sage tiene la API habilitada o si necesitas activarla.

Workflow para A3 o FactuSOL

A3 y FactuSOL son menos amigables vía API. Lo habitual es que el ERP tenga una carpeta de import (FTP o local) donde deja ficheros XML o CSV con pedidos pendientes de procesar. El workflow se adapta:

  1. Webhook trigger.
  2. Mapper a XML/CSV en el formato exacto que el ERP espera.
  3. Upload al FTP o escritura en carpeta local accesible.
  4. Registro en log para depurar errores.

Esa carpeta luego la procesa el ERP en su cron interno. La latencia es mayor (minutos a horas) pero el flujo es robusto y no depende de la API.

Manejo de errores: retry y notificación

Todo workflow de sincronización con ERP debe contemplar fallos. Tres elementos no negociables:

  • Retry exponencial. Si la API del ERP falla, no reintentar inmediatamente: 1 minuto, 5 minutos, 15 minutos, 1 hora, 6 horas. n8n lo soporta nativo en el nodo HTTP.
  • Notificación a humano. Tras N reintentos fallidos, mensaje a Slack, email o WhatsApp del responsable. Mejor llegar tarde a un fallo que no enterarse.
  • Cola persistente. Si el ERP está caído varias horas, los pedidos pendientes no pueden perderse. n8n mantiene la cola en postgres mientras se reintenta.

El atajo: el módulo n8n Connector de Zeyvro

El módulo n8n Connector de Zeyvro para PrestaShop 8 facilita la parte del lado de la tienda (versión WooCommerce próximamente): webhook con autenticación robusta (firma HMAC), payload normalizado con todos los datos del pedido en formato consistente, opciones de filtrado en la propia tienda antes de salir, y logging integrado con reenvío.

Cuándo compensa: si tu equipo no quiere construir el endpoint webhook desde cero, especialmente en PrestaShop donde la configuración nativa es más limitada. Cuándo no compensa: si ya tienes infraestructura propia que expone los pedidos en formato adecuado.

¿Cuándo NO compensa el módulo ni el setup manual?

Si tu volumen mensual es muy bajo (menos de 50 pedidos al mes), la inversión en automatizar la sincronización no compensa frente a hacerlo a mano o con un export semanal. n8n tiene sentido cuando el flujo es lo bastante frecuente como para que los errores manuales y el tiempo dedicado se conviertan en problema operativo.

Si quieres entender primero las diferencias entre herramientas, lee la comparativa n8n vs Zapier vs Make. Si tu integración con un ERP concreto se está atascando, escríbenos a hola@zeyvro.com con el contexto: conocemos las trampas habituales de Holded, Sage, A3 y FactuSOL.

El módulo deja los datos de pedido listos para n8n sin tocar código.

Zeyvro n8n Connector para PrestaShop 8 →

Zeyvro desarrolla módulos para PrestaShop 8 desde una tienda real en producción. Código sin ofuscar.

Preguntas frecuentes

¿Se puede conectar PrestaShop con Holded sin programar?

Sí. Con n8n montas el flujo arrastrando nodos (webhook → mapper → HTTP a la API de Holded). La parte de programar se reduce al mapeo de campos, que se hace con expresiones, no con código.

¿Qué ERP es más fácil de integrar con n8n?

Los que tienen API REST documentada, como Holded, son los más directos. Sage on-premise y A3/FactuSOL son más laboriosos: suelen requerir webservice intermedio o import por carpeta FTP/CSV.

¿Qué pasa si el ERP está caído cuando entra un pedido?

Un workflow bien hecho usa retry exponencial y cola persistente: n8n guarda el pedido en su base de datos y reintenta hasta que el ERP responde, sin perder ninguno.

¿Necesito un módulo o basta con la webservice de la tienda?

Para WooCommerce, los webhooks nativos pueden bastar. Para PrestaShop, la configuración nativa es más limitada y un módulo conector ahorra construir el endpoint y la autenticación a mano.

Captura ampliada

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio