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

Captura ampliada

Para conectar 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.

Actualizado el

Aviso rápido: el módulo n8n Connector de Zeyvro que mencionamos más abajo es para PrestaShop 8.0 a 9.1.

¿Por qué n8n suele ganar aquí?

Los conectores SaaS específicos (de PrestaShop a Holded, 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, reintentos 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

PrestaShop no trae webhooks de salida de serie: el aviso al confirmar un pedido se monta con un módulo o con un 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 reintentos (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:

  • Reintentos. Si la API del ERP falla, no reintentes al instante: espacia los intentos. En n8n, cada nodo tiene la opción Retry On Fail en sus ajustes.
  • 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.
  • No perder pedidos. Si el ERP está caído varias horas, los pedidos pendientes no pueden perderse: guarda los que fallen para reprocesarlos y avisa a un responsable.

El atajo: el módulo n8n Connector de Zeyvro

El módulo n8n Connector de Zeyvro para PrestaShop 8.0 a 9.1 facilita la parte del lado de la tienda: webhook firmado con HMAC, payload normalizado con todos los datos del pedido en formato consistente, activación por evento (solo sale lo que marcas) y registro de envíos 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, 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.0 a 9.1 →

Zeyvro desarrolla módulos para PrestaShop 8.0 a 9.1 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 reintenta la llamada (opción Retry On Fail del nodo) y, si el ERP sigue caído, guarda el pedido pendiente y avisa a un responsable para no perder ninguno.

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

PrestaShop no trae webhooks de salida de serie: un módulo conector ahorra construir el endpoint y la autenticación a mano.

Deja un comentario

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

Scroll al inicio