Integraciones de WooCommerce con ERP y API de mayoristas

Integraciones de WooCommerce con ERP y API de mayoristas

5.00/5 - (17 votes)
15 min de lectura
Guía
Experto WooCommerce
Consultor empresarial

Quién: Mariusz Szatkowski con especialistas senior seleccionados para cada proyecto, desarrolladores de WooCommerce que construyen integraciones de tiendas con sistemas externos por API.

Qué: Sincronizar WooCommerce con sistemas ERP, mayoristas y CRM: catálogo, stock y precios en tiempo real, mapeo de datos, margen automático.

Dónde: En remoto para clientes de la UE y de fuera de ella. Integramos con la API del sistema que ya utiliza, sin obligarle a cambiar de proveedor de ERP.

Cuánto: Presupuesto individual después de analizar la API del sistema de origen, el número de índices y la dirección de la sincronización. Empezamos con un breve análisis de alcance.


Integraciones de WooCommerce con ERP y API de mayoristas

Una integración no es construir una tienda desde cero. Es la capa que conecta WooCommerce con el sistema que ya gestiona su negocio: un ERP, un mayorista o un CRM. El objetivo es un único flujo de datos coherente, para que el catálogo, el stock y los precios de la tienda reflejen la realidad sin trabajo manual.

Si necesita ayuda general para construir y hacer crecer una tienda, empiece por la página de desarrollador de WooCommerce. Esta página trata un problema más concreto y técnico: el intercambio de datos entre WooCommerce y sistemas externos.

Con quién trabajas

  • WordPress comercial desde 2006, antes de Gutenberg y la REST API
  • Dirigido por un senior: el ingeniero del discovery es el mismo en la semana seis
  • Sin traspaso a offshore, sin capa de PM facturada
  • Organizador de WordCamp Europe, mentor de WordPress Foundation Credits
  • Shopify Academy: ruta CRO y Partner Marketing (Credly, 2025)

Credenciales de Shopify Academy

Qué es realmente una integración de WooCommerce

En la mayoría de las tiendas, la verdad sobre los productos no vive en WooCommerce. Vive en el ERP, en el sistema de almacén o en la API de un mayorista. WooCommerce es el escaparate de venta, pero el stock, los precios y parte de los datos de producto vienen de otro sitio. Una integración es la capa que mantiene esos dos mundos en concordancia.

En la práctica, una integración responde a tres preguntas:

  • Qué sincronizamos - catálogo, atributos, niveles de stock, precios, pedidos, datos de clientes.
  • En qué dirección - unidireccional (el sistema de origen dicta a la tienda) o bidireccional (por ejemplo, los pedidos regresan al ERP).
  • Con qué frecuencia - desde consultas programadas cada pocos minutos hasta actualizaciones basadas en eventos mediante webhooks.

Con qué puede integrar WooCommerce

Sistema de origenQué solemos sincronizarDirección
ERP (Dynamics 365, SAP Business One, NetSuite, Odoo)Catálogo, stock, precios, pedidos, facturasUni- o bidireccional
Mayorista / dropshipping (API del proveedor)Surtido, stock, precios de compra, medios, descripcionesUnidireccional hacia la tienda
CRMClientes, pedidos, estados, segmentaciónNormalmente bidireccional
Sistemas de transportistas (DHL, DPD, UPS)Etiquetas, estados de envío, puntos de recogidaBidireccional
Pasarelas de pagoPagos, reembolsos, estados de transacciónBidireccional

No tiene que hacerlo todo a la vez. El primer paso más habitual es la sincronización de stock y precios, porque es la que se amortiza más rápido en tiempo de soporte recuperado y reembolsos evitados.

Cómo funciona la sincronización de datos

La mecánica es similar en todos los casos, tanto si el origen es un ERP como una API de mayorista. Cambia el origen, no el principio.

Mapeo de datos

El sistema de origen describe los productos con su propia estructura de campos. La primera tarea de una integración es traducir eso al modelo de productos y atributos de WooCommerce: EAN e índice como claves que enlazan los registros, atributos técnicos a atributos y variaciones, medios y descripciones a las páginas de producto. Mantenemos el mapa de campos declarativo, de modo que añadir un nuevo parámetro significa ampliar el mapeo, no reescribir la lógica.

Sincronización de stock y precios

El núcleo de la mayoría de las integraciones es la consulta programada de dos cosas: el nivel de stock y el precio. Los artículos no disponibles en el sistema de origen se ocultan o marcan como no disponibles automáticamente, lo que elimina el fallo más caro que puede cometer una tienda - vender algo que no se puede entregar. Un cambio de precio en el sistema de origen se propaga a la tienda en el siguiente ciclo.

Lógica de margen

Los precios de un ERP o un mayorista suelen ser de coste, no el precio de venta. Por encima de la capa de extracción de datos se sitúa la lógica de margen: el sistema aplica un margen definido sobre el precio de origen y solo el resultado llega a WooCommerce. El propietario dirige la rentabilidad con reglas, no editando precios a mano.

Una integración real

La misma mecánica está detrás de nuestro proyecto para una tienda de recambios de automoción conectada directamente a la API REST de un mayorista: integración de WooCommerce con la API de un mayorista. Allí el catálogo, el stock y los precios se mantienen actualizados por sí solos, y el margen protege la rentabilidad frente a una lista de proveedor cambiante.

¿Conector existente o integración a medida?

Empiece por comprobar si hay un conector para la edición exacta de su ERP y su modalidad de instalación. Compare el mapeo documentado, la frecuencia de actualización, la notificación de errores y la recuperación ante fallos con el proceso que necesita su empresa.

OpciónCuándo considerarlaQué comprobar antes de elegir
Conector existenteEl funcionamiento documentado cubre el proceso necesarioCompatibilidad con el producto y la versión exactos, mapeo de campos y pruebas representativas de recuperación
Integración a medidaEl conector disponible no cubre un comportamiento necesarioDescripción escrita de la carencia, mapeo acordado y pruebas de aceptación
Evaluación de viabilidadEl acceso a la API o el funcionamiento del conector no están clarosDocumentación del proveedor, restricciones de acceso y entorno de pruebas

El proyecto con la API del mayorista enlazado arriba es un ejemplo de implementación publicado. Los escenarios de arquitectura ERP siguientes ilustran posibles enfoques; mencionar un proveedor no demuestra compatibilidad con todas las ediciones o modalidades de instalación. Confirme la documentación pertinente y los resultados de las pruebas antes de acordar el alcance.

Con qué sistemas ERP integramos

Una distinción importante: integramos WooCommerce con la API de estos sistemas, no implementamos el ERP en sí. Este es trabajo de WordPress, PHP e intercambio de datos, no consultoría de ERP.

  • ERP en la nube: Microsoft Dynamics 365 Business Central, SAP Business One, Oracle NetSuite, Odoo. Estos exponen API REST, lo que mantiene limpia la conexión con la tienda.
  • Contabilidad y ERP locales: sistemas como Sage, Holded o A3 (Wolters Kluwer), habituales en el mercado español, integrados normalmente a través de su API o de una capa de middleware.

Si su sistema no está en la lista pero tiene alguna API o exportación de datos, normalmente se puede integrar.

Cómo diseñamos la arquitectura de integraciones para ERP concretos

Cada ERP tiene su propia API, formato de datos y trampas. A continuación explicamos cómo abordamos los sistemas más habituales. Son patrones de arquitectura, no un plugin comprado por unos euros.

SAP Business One - escala y el problema de wp_postmeta

Distribución industrial: decenas de miles de productos activos, actualizaciones de precios frecuentes (varias veces al día cuando se mueven los tipos de cambio), cientos de atributos. La estructura EAV por defecto de WordPress guarda cada atributo en wp_postmeta, que a esa escala se hincha hasta millones de filas; las actualizaciones de precios en tiempo real provocan entonces deadlocks de MySQL y timeouts 504 para los compradores.

  • HPOS y tablas personalizadas: dejamos de escribir los atributos en wp_postmeta y usamos una tabla MySQL plana y dedicada, diseñada para las consultas de SAP B1.
  • Elasticsearch como capa de búsqueda: SAP actualiza los datos en Elasticsearch por API y el front obtiene los resultados y los filtros desde ahí, esquivando MySQL. Esta capa puede reducir el TTFB de varios segundos al rango de los ~150 ms.
  • Colas (RabbitMQ): las actualizaciones de SAP aterrizan en una cola de mensajes y un worker en segundo plano procesa lotes de unos cientos de productos cada vez, manteniendo la tienda receptiva 24/7.

Microsoft Dynamics 365 (con BaseLinker y POS)

Un gran minorista que vende a través de WooCommerce, marketplaces (vía BaseLinker) y tiendas físicas con un POS sobre Dynamics 365. Sin una jerarquía estricta aparecen bucles de sincronización y condiciones de carrera (la última unidad vendida en tienda y un segundo después en un marketplace), que producen stock negativo.

  • Única fuente de verdad: imponemos una jerarquía en la que Dynamics es el maestro absoluto y WooCommerce y BaseLinker son esclavos.
  • Capa Redis: en lugar de consultar constantemente la lenta API de Dynamics, ejecutamos Redis en memoria. Una venta en tienda dispara un webhook que actualiza Redis, y WooCommerce y BaseLinker comprueban la disponibilidad en Redis (respuesta de un solo dígito de milisegundos) antes de finalizar un carrito, eliminando la sobreventa.

Odoo (open source) - configuradores bajo pedido

Los fabricantes configuran los productos en Odoo (una lista de materiales) donde el precio de un componente depende de otras elecciones. Las variaciones de WooCommerce no pueden modelar eso, y trasladar la lógica de producción a PHP produce código imposible de mantener.

  • Enfoque desacoplado / headless: WooCommerce es el sistema de carrito y de transacciones (pago, correos), mientras que el frontend (Astro/Vue) habla directamente con la API de Odoo, pidiéndole precios y viabilidad de producción al vuelo. Al hacer “añadir al carrito” se envía a WooCommerce un producto personalizado con un precio calculado por Odoo y un PDF de especificaciones generado, sin duplicar la lógica de negocio.

Comarch Optima, InsERT Subiekt, enova365 (mercado polaco y de Europa Central)

  • Comarch Optima: Optima expone los datos por un WebService/API, así que construimos un middleware dedicado en PHP y usamos sincronización diferencial (delta) - un trabajo CRON pide solo los índices que han cambiado en la última ventana, reduciendo la carga de MySQL en un orden de magnitud frente a una importación completa. Los precios B2B se calculan en tiempo real a partir del grupo de descuento del cliente, en lugar de almacenarse como miles de variaciones de precio en wp_postmeta.
  • InsERT Subiekt GT / nexo: intercambio de datos por EPP y API; una reserva dura bloquea el stock en Subiekt durante unos minutos en el checkout para evitar la sobreventa en los picos, y un documento de corrección dispara un webhook que pasa el pedido de WooCommerce a devuelto y repone el artículo.
  • enova365: para productos con muchas variantes (colores x tallas, cada una con su propio EAN) usamos variantes planas mapeadas a JSON y cargadas de forma asíncrona por REST, en lugar de generar cientos de miles de posts product_variation.

JTL-Wawi (Alemania) y Holded (España)

  • JTL-Wawi: omnicanal con multialmacén. Un enrutamiento lógico analiza el código postal del cliente y elige algorítmicamente el almacén con el envío más rápido; la gestión del One Stop Shop recalcula el IVA al vuelo según el país de destino, de modo que la factura en JTL lleva el tipo correcto. WooCommerce funciona en paralelo con BaseLinker para Amazon y eBay.
  • Holded: un ERP en la nube y API-first - una integración totalmente sin archivos sobre la API REST nativa, con autenticación por token y webhooks. La lógica de facturación reconoce el importe del carrito e indica a Holded que genere el tipo de documento correcto (por ejemplo, una factura simplificada para importes pequeños), devolviendo un PDF para adjuntar al correo de WooCommerce.

Cuándo un plugin deja de bastar

Con decenas de miles de índices y actualizaciones de precios varias veces al día, la tabla predeterminada wp_postmeta crece hasta millones de registros, y la sincronización en tiempo real provoca deadlocks de MySQL y errores 504. Es el límite a partir del cual un plugin de serie deja de bastar y empieza la arquitectura que se describe más abajo.

Arquitectura enterprise: rendimiento y fiabilidad

A gran escala de ERP dejamos atrás el “instala un plugin”. Esto es ingeniería exigente:

  • Headless / desacoplado: WordPress es el motor de administración (backend) y la tienda se renderiza en Astro o Next.js, atacando una API GraphQL o REST y esquivando el SQL lento, lo que hace la tienda más rápida y resistente. Más en soluciones enterprise.
  • Procesamiento asíncrono (colas): sincronizar decenas de miles de productos en un script PHP plano provoca timeouts. Lo basamos en colas (RabbitMQ o Redis) que procesan pequeños fragmentos en segundo plano.
  • Gestión de errores y logging: si la API del ERP no responde, bloqueamos el checkout con un mensaje en lugar de aceptar pedidos en el vacío; un logging completo de errores permite un diagnóstico rápido.
  • Guía de arquitectura de referencia: para un desglose exhaustivo sobre sincronización bidireccional, claves de idempotencia, bloqueos de transacción MySQL y bucles de reconciliación, consulta nuestra guía de arquitectura de integración WooCommerce ERP 2026.

Cómo dimensionamos la solución

No todas las tiendas necesitan colas y Elasticsearch. El volumen marca el umbral: unos cientos de productos solo requieren un middleware bien escrito, mientras que decenas de miles de índices y tráfico B2B exigen una capa de colas y caché. Ajustamos la arquitectura a la escala, no al revés.

Problemas técnicos que resolvemos

  • Límite de peticiones de la API (429): los sistemas en la nube limitan las peticiones. Implementamos backoff exponencial (ante un 429 el script espera y reintenta) más chunking, empaquetando los datos en peticiones JSON de bulk-update en lugar de miles de llamadas individuales.
  • Desajustes de tipos de datos (redondeo): un ERP puede guardar los precios con cuatro decimales mientras WooCommerce espera dos. En el middleware aplicamos casting estricto de tipos y conciliamos el redondeo por línea de factura, evitando errores de céntimos que se acumulan a lo largo de cientos de pedidos.
  • Imágenes, ancho de banda y el límite de inodos: importar imágenes físicas a la biblioteca de medios de WordPress (generando varias miniaturas de cada una) agota el límite de archivos del servidor. En su lugar, servimos las imágenes desde almacenamiento externo (Amazon S3 o Cloudflare Image Resizing) mediante URLs mapeadas desde el ERP, ahorrando espacio y acelerando la propia sincronización.

Cuándo merece la pena plantearse una integración

  • Actualiza el stock y los precios a mano o por importación de archivos y no escala.
  • Recibe pedidos de productos que el proveedor en realidad no tiene en stock.
  • Los precios de la tienda se desvían de la lista de precios del mayorista o del ERP.
  • Los pedidos hay que reintroducirlos a mano en el sistema contable o de almacén.
¿En qué se diferencia una integración WooCommerce-ERP de construir una tienda WooCommerce?#
Mariusz Szatkowski con especialistas senior seleccionados para cada proyecto configuran y desarrollan el propio WooCommerce cuando construyen una tienda, que es lo que cubre la página de desarrollador de WooCommerce. Una integración es un trabajo más concreto: conectar una tienda existente con un sistema externo (ERP, mayorista, CRM) para que los datos se sincronicen automáticamente. A menudo hacemos ambas cosas, pero son dos alcances diferentes.
¿Integran con mi sistema ERP?#
Integramos WooCommerce con la API de los sistemas ERP, no implementamos el ERP en sí. En la nube conectamos con Dynamics 365 Business Central, SAP Business One, NetSuite y Odoo; a nivel local, con sistemas de contabilidad y ERP como Sage, Holded o A3 (Wolters Kluwer) a través de su API. Si su sistema tiene alguna API o exportación de datos, normalmente se puede integrar.
¿La sincronización es unidireccional o bidireccional?#
Depende de la necesidad. Lo más habitual es que el stock, los precios y el catálogo fluyan en un sentido, del sistema de origen a la tienda, y que los pedidos fluyan en ambos sentidos, de vuelta al ERP o al CRM. La dirección se acuerda durante el análisis de alcance.
¿Con qué frecuencia se actualizan los datos?#
Desde consultas programadas cada pocos minutos hasta actualizaciones basadas en eventos mediante webhooks. Solemos separar la sincronización en ligera y frecuente (stock, precios) y más pesada y menos frecuente (catálogo completo, medios), para no sobrecargar la API del proveedor ni la tienda.
¿Qué pasa cuando un producto se agota en el proveedor?#
En el siguiente ciclo la integración marca ese artículo como no disponible o lo oculta, de modo que un cliente no pueda comprar un producto que no se puede entregar. Cuando vuelve la disponibilidad, el producto reaparece automáticamente.

¿Necesitas un FAQ adaptado a tu sector y mercado? Preparamos una versión alineada con tus objetivos de negocio.

Hablemos
Cluster relacionado

Explora otros servicios WordPress y base de conocimiento

Refuerza tu negocio con soporte técnico profesional en áreas clave del ecosistema WordPress.

Recomendaciones de LinkedIn

Recomendaciones y opiniones sobre el trabajo con WPPoland

Recomendaciones seleccionadas de líderes de las comunidades WordPress, WordCamp y e-commerce - con énfasis en la entrega puntual, profundidad técnica y enfoque orientado al negocio en el desarrollo WordPress.

Karolina Czapla

Karolina Czapla

Estratega de Marketing, Performance & Digital Strategy

“Trabajar con Mariusz en el WordCamp me ha mostrado lo poco común que es combinar competencias técnicas profundas con un verdadero liderazgo. Planifica, coordina y entrega con precisión, a la vez que da al equipo espacio ...”

Co‑organizadora, WordCamp Gdynia 2024 y 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“El portafolio de Mariusz habla por sí solo: refleja su precisión, versatilidad y sentido de la responsabilidad. Se puede confiar en él para conducir un proyecto desde la idea hasta la entrega, mantener informados a los s...”

Trabajamos en el mismo equipo

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

Gestora de Proyectos TI & Product Owner, Web/App

“Durante más de dos años pude contar siempre con Mariusz para tareas de WordPress, desde el styling y los templates hasta integraciones con terceros. Aporta estabilidad al equipo y mantiene la parte de frontend bajo contr...”

Mariusz fue su cliente en proyectos WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz es el compañero de equipo que todos esperan tener: competencias técnicas profundas full‑stack en WordPress, explicaciones claras y una actitud positiva incluso bajo presión. Se mueve con soltura entre plugins per...”

Trabajamos juntos en proyectos WordPress

Varun Patil

Varun Patil

Líder de Growth & CRM

“Más allá del desarrollo, Mariusz entiende SEO, analítica y growth. Habla directamente con los stakeholders, hace las preguntas correctas y entrega soluciones que mueven los indicadores de negocio: de AMP a tracking y ren...”

Fue responsable de Mariusz en iniciativas de growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Conozco a Mariusz a través de la comunidad WordPress desde hace muchos años. Es fiable, muy implicado y siempre está presente: en meetups, WordCamps y en los proyectos. Si le importa la colaboración a largo plazo y algui...”

Co‑organizador de la comunidad WordUp Trójmiasto y WordCamp

Daniel Blossfeld

Daniel Blossfeld

Consultor de Optimización de Procesos y Digitalización

“Tuve el placer de trabajar con Mariusz durante casi tres años. En ese tiempo, sus competencias técnicas profundas en desarrollo WordPress resultaron de un valor incalculable en una variedad de proyectos, desde la constru...”

Mariusz fue su cliente en proyectos WordPress

Natalie Wiszczor

Natalie Wiszczor

Gestora de CRM y E-mail Marketing

“Tuve el gran placer de trabajar con Mariusz durante más de 4 años en el ámbito técnico. Durante ese tiempo demostró ser un compañero competente y fiable. Destacaron especialmente su carácter amable y su notable persevera...”

Trabajó con Mariusz en distintos equipos

Mark Chalklen

Mark Chalklen

Head of Design & Build en Itineris Limited

“Mariusz es un gran miembro del equipo, siempre dispuesto a meterse de lleno en cualquier tarea y a aprender cosas nuevas. Un excelente comunicador y, en general, una persona muy agradable con la que trabajar. ¡Eso sí, es...”

Gestionó a Mariusz directamente

Jessica Di Pasquale

Jessica Di Pasquale

Liderando iniciativas de SEO con estrategias de crecimiento basadas en datos.

“Mariusz es una persona muy hábil, paciente y experta. Siempre dispuesto a ayudar y corregir errores, valoré mucho trabajar con él. ¡Es un compañero estupendo!”

Gestionó a Mariusz directamente

Biki John

Biki John

Apasionado del Marketing de Contenidos y entusiasta del SEO

“Fue genial trabajar con Mariusz. Valoré mucho su amplio conocimiento de WordPress y lo útil que resultó siempre que necesité ayuda para moverme por el CMS. Elogio totalmente a Mariusz por su paciencia, su buen carácter y...”

Trabajó con Mariusz en distintos equipos

Rafal Borowiec

Rafal Borowiec

Desarrollador de Software, Consultor, Manager y Profesor

“Tuve la oportunidad de trabajar con Mariusz durante 7 meses. Destaca en optimización técnica para motores de búsqueda (SEO). Mariusz cuenta también con una sólida experiencia en desarrollo AMP, GTM y GA. Se siente muy có...”

Gestionó a Mariusz directamente

Belinda Koch

Belinda Koch

Analista de Web-Tracking en TUI

“Mariusz es una persona estupenda con quien trabajar. Está extremadamente motivado por aprender cosas nuevas y compartir su conocimiento, y domina una amplia gama de temas. Trabajamos juntos en analítica digital y trackin...”

Trabajó con Mariusz en temas de analítica digital y tracking

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Pensamiento Analítico, AMP

“Mariusz es una persona extremadamente talentosa en su campo de trabajo. Siempre es capaz de aportar una nueva perspectiva para resolver problemas y de pensar fuera de la caja en situaciones en las que todo parece bloquea...”

Trabajó con Mariusz en el mismo equipo

Karol Jakubcewicz

Karol Jakubcewicz

Desarrollador Front-end / JavaScript

“Mariusz es un desarrollador WordPress y especialista en SEO/SEM increíblemente experimentado con quien he tenido el placer de trabajar durante casi dos años. Fue una de las figuras clave responsables de la mejora constan...”

Trabajó con Mariusz en el mismo equipo

Paweł Lewczuk

Paweł Lewczuk

Desarrollador Front-end, Desarrollador WordPress

“Colaboré con Mariusz en varios proyectos y nuestra cooperación fue siempre ejemplar. Creo que aún tenemos por delante muchos proyectos conjuntos. ¡Muy recomendable!”

Mariusz fue cliente de Paweł

Przemek Wroblewski

Przemek Wroblewski

Desarrollador de Software con más de 20 años de experiencia

“Encontré en Mariusz a alguien con gran experiencia y un conocimiento profundo de las soluciones frontend. Un desarrollador WordPress sólido, competente y responsable. Tiene facilidad para construir relaciones interperson...”

Trabajó con Mariusz en distintos equipos

Artículos Relacionados