Cómo integrar tu ERP (Holded, Odoo, Sage o SAP) con WooCommerce o Shopify sin duplicar pedidos ni romper el stock
Conectar un e-commerce o portal B2B con el ERP parece sencillo hasta que una caída de red duplica facturas, un SKU descatalogado bloquea la cola o el almacén físico vende la última unidad. Así se diseña una integración que no falla en silencio.
Cuando una distribuidora, fabricante o marca supera los 15–30 pedidos diarios entre su tienda online (WooCommerce, Shopify, PrestaShop) y sus ventas B2B, el picaje manual en el ERP (Holded, Odoo, Sage 200/50, A3 o SAP Business One) deja de ser asumible. La primera tentación suele ser instalar un conector genérico de terceros. La segunda, descubrir tres meses después que administración dedica más tiempo a revisar qué pedidos no han entrado que cuando los picaba a mano.
Por qué fallan los conectores estándar cuando crece el volumen
Un plugin directo entre tienda y ERP suele ejecutar la llamada en el mismo instante en que el cliente paga (de forma síncrona). En el mundo real de una empresa ocurren cuatro situaciones inevitables que un conector básico no sabe gestionar:
- Microcortes o límites de velocidad (Rate Limits) en la API del ERP cuando entran varios pedidos a la vez o se actualiza el catálogo completo.
- Datos fiscales incompletos o formatos de NIF/IVA intracomunitario que el ecommerce acepta pero el ERP rechaza al emitir factura.
- SKUs compuestos (packs, cajas, lotes) donde una unidad vendida en la web equivale a descontar varias referencias distintas en el almacén físico.
- Tarifas B2B personalizadas, descuentos por volumen o portes especiales que no redondean igual en el carrito que en el motor contable del ERP.
La arquitectura correcta: una pasarela intermedia con cola y registro
Para que una integración sea mantenible durante años sin depender de que dos sistemas respondan en el mismo milisegundo, desacoplamos el flujo mediante tres reglas de ingeniería:
1. Definir una única fuente de verdad (Master Data) por entidad
Dos sistemas nunca deben mandar a la vez sobre el mismo dato. En el 95% de las empresas B2B, el ERP manda sobre el maestro de artículos (SKUs), los precios base/tarifas y el stock físico consolidado; mientras que el ecommerce o CRM manda sobre la captación del pedido hasta que este pasa a estado pagado o confirmado.
2. Idempotencia: que ningún pedido se cree dos veces
Si Shopify o WooCommerce envía el webhook de 'pedido pagado' y el ERP tarda más de 10 segundos en contestar, la tienda volverá a enviar el mismo aviso. La pasarela intermedia debe guardar una clave única por pedido (idempotency key) para garantizar que, aunque el mensaje llegue cinco veces, en Holded, Odoo o Sage solo se genere un único albarán y una única factura.
3. Bandeja de excepciones para personas
Cuando un pedido tiene un problema real de negocio (por ejemplo, un cliente B2B pide una referencia bloqueada o introduce un NIF inválido), el sistema no debe ni borrar el pedido ni meter basura en contabilidad. Debe dejar el pedido en estado 'Requiere revisión' y enviar una alerta inmediata al responsable con el motivo exacto y un botón para reintentar una vez corregido.
Una buena integración no es la que promete que nunca habrá una excepción, sino la que detecta cualquier anomalía al segundo y avisa a la persona adecuada antes de que el cliente note el retraso.
Cuánto se tarda en implantar sin parar el almacén
En Sineratics abordamos las integraciones ERP–Ecommerce en un plazo cerrado de 4 a 6 semanas: la primera semana auditamos el catálogo de SKUs y las reglas fiscales; entre la segunda y la cuarta construimos la pasarela sobre un entorno de pruebas con pedidos reales; y en la última salimos a producción con monitorización activa.