FrancodesystemsFrancodesystems
ERP / FacturaciónIntegración a medida

Cómo conectar Holded con Odoo

Holded y Odoo trabajando a la vez: durante la transición a Odoo, o con Holded para la contabilidad y Odoo para las operaciones.

Por Juan Cantón Rodríguez · Actualizado el

HoldedHolded
↔
Odoo

Tiempo de implantación · 2-4 semanas

Diagnóstico

El problema

Tener dos ERP a la vez sin integración es teclear todo dos veces y descubrir a final de mes que no cuadran. Pasa en dos situaciones muy concretas. La primera es la transición: el equipo empieza a trabajar en Odoo, pero la facturación o la asesoría siguen en Holded hasta el corte. La segunda es permanente: Holded se queda como sistema contable porque la asesoría lo lleva ahí, y Odoo se usa para lo que Holded no cubre bien (varios almacenes, fabricación, ecommerce con volumen). El riesgo no es técnico, es de diseño: dos sistemas creando clientes, productos o facturas por su cuenta acaban con duplicados, stock que no cuadra y, lo peor, dos numeraciones de factura para la misma venta.

Propuesta

La solución

Conectamos Holded con Odoo cuando los dos tienen que convivir. Caso 1: te estás pasando a Odoo y durante unas semanas necesitas que contactos, productos y pedidos existan en los dos sin teclearlos dos veces. Caso 2: tu asesoría trabaja con Holded y no quieres cambiar eso, pero el stock, la fabricación o la tienda online ya viven en Odoo. En los dos casos definimos qué sistema manda en cada dato, en qué dirección se sincroniza y cuál de los dos emite las facturas. Somos Odoo Learning Partner y trabajamos a diario con la API de Holded.

Migración Holded a Odoo

¿Odoo va a ser tu sistema principal? Migra del todo.

Integrar dos ERP para siempre cuesta más que migrar una vez. Si tu destino es Odoo, la integración solo tiene sentido durante la transición: migramos contactos, productos, pendientes y saldos por la API de Holded, con Verifactu configurado y corte a inicio de mes.

Ver la migraciónSomos Odoo Learning Partner
Precio
Desde 2.800 €
  • Diagnóstico de 4 h por 280 €, descontable
  • Migración esencial: 40 h, 2.800 €
  • Con stock o ecommerce: 60 h, 4.200 €
  • Precios sin IVA ni licencias de Odoo
Scope

Qué automatizamos

  • Contactos: clientes y proveedores creados en un sistema aparecen en el otro, con el NIF como clave para no duplicar
  • Productos: referencias, precios e impuestos desde el sistema maestro que elijas
  • Pedidos de venta confirmados en Odoo que pasan a Holded para facturar allí (si Holded es quien emite)
  • Facturas emitidas en Odoo que llegan a Holded como documento contable (si Odoo es quien emite)
  • Stock: Odoo como fuente de verdad y Holded con las cantidades actualizadas, nunca al revés
  • Cobros y estado de pago, para que la tesorería cuadre en los dos
  • Registro de cada sincronización con sus errores, para revisar qué no pasó y por qué
Antes / Después

Qué cambia exactamente

El día a día sin la integración y con ella, lado a lado.

✕

Sin la integración

  • Los mismos pedidos tecleados en Odoo y en Holded
  • Clientes duplicados con NIF distintos o mal escritos
  • Stock distinto en cada sistema
  • Riesgo de emitir la misma venta con dos numeraciones
✓

Con la integración

  • Cada dato tiene un sistema maestro y una dirección
  • El NIF como clave: un cliente, una ficha en cada sistema
  • Stock que solo se mueve en Odoo
  • Un solo sistema emite facturas; el otro solo las recibe
Arquitectura

Cómo lo construimos

Por el lado de Holded usamos su API, que conocemos a fondo porque mantenemos el nodo de Holded verificado por n8n. Por el lado de Odoo, su API externa (JSON-RPC o XML-RPC), que en Odoo Enterprise requiere el plan Custom u Odoo.sh; con el plan Standard no está disponible, y en Odoo Community autoalojado sí. Para flujos simples montamos la sincronización en n8n; si hay volumen o lógica de conflictos, un conector propio con cola, reintentos e idempotencia, desplegado fuera de tu Odoo para no añadirte módulos que mantener. Antes de escribir una línea decidimos contigo el sistema maestro de cada dato y cuál de los dos emite las facturas.

flow.ts
webhook odoo.event
→ queue.enqueue(jobId)
→ worker.handle() // idempotente
→ holded.api.call() // retries con backoff
→ log.emit({ status: 'ok' })
Opciones

¿Qué conectores hay para Holded y Odoo?

Todas las opciones que existen, no solo la nuestra. Si tu caso lo resuelve un módulo de 50 €, cógelo: te lo decimos aquí antes de que nos escribas.

De terceros

Módulo de Holded en la tienda de apps de Odoo

Nada hoy: al consultar apps.odoo.com el 29-sep-2026 no había ningún módulo de Holded.

Dónde se queda corto: Si aparece uno, revisa qué versión de Odoo soporta y quién lo mantiene.

Oficial

Exportar e importar ficheros

Los dos permiten exportar e importar contactos y productos. Sirve para un traspaso puntual.

Dónde se queda corto: No sincroniza: lo que cambie después hay que volver a exportarlo a mano.

Open source

n8n con el nodo verificado de Holded

Flujos de sincronización sencillos (contactos, productos, pedidos) sin programar un conector entero. El nodo de Holded lo mantenemos nosotros.

Dónde se queda corto: Necesita la API externa de Odoo (plan Custom, Odoo.sh o Community). La lógica de conflictos hay que diseñarla igual.

A medida

Conector a medida

Volumen alto, varias direcciones, reglas de conflicto, cola y reintentos. Es lo que hacemos cuando la convivencia va a durar.

Lo que nadie te cuenta

Qué se rompe al conectar Holded con Odoo

Los fallos que aparecen de verdad, casi siempre semanas después de dar la integración por buena.

  1. 01

    Dos sistemas emitiendo facturas

    Solo uno de los dos puede emitir y registrar en Verifactu. Si Odoo y Holded facturan la misma venta, tienes dos numeraciones y dos registros ante la AEAT. Se decide al principio quién emite y el otro solo recibe la factura como documento.

  2. 02

    IVA que no casa

    Los impuestos de Holded y de Odoo no se llaman igual ni se aplican igual (recargo de equivalencia, intracomunitario, exportación). Sin una tabla de equivalencias, las facturas llegan con el IVA mal al otro lado.

  3. 03

    Productos y variantes

    Odoo separa plantilla de producto y variantes; en Holded la estructura es distinta. Hay que fijar qué referencia es la clave para no crear productos duplicados en cada sincronización.

  4. 04

    Stock con dos jefes

    Si los dos sistemas mueven stock, no cuadra nunca. El stock se mueve solo en Odoo y Holded recibe las cantidades, o no se sincroniza.

  5. 05

    Odoo Standard no tiene API externa

    Con el plan Standard de Odoo Enterprise no se puede conectar software externo por API. Para integrar hace falta Custom u Odoo.sh, y eso cambia el coste de licencias.

FAQ

Preguntas frecuentes

¿Integrar o migrar del todo a Odoo?

Si Odoo va a ser tu sistema principal, lo normal es migrar del todo y usar la integración solo durante la transición. Integrar a largo plazo tiene sentido cuando hay un motivo claro para mantener Holded, como una asesoría que trabaja con él. Tenemos un servicio de migración de Holded a Odoo con precio cerrado desde 2.800 €.

¿Qué plan de Odoo necesito para integrarlo con Holded?

Uno con API externa: Custom (22,90 €/usuario/mes con pago anual los 12 primeros meses, según odoo.com el 29-sep-2026) u Odoo.sh. El plan Standard no la incluye. Odoo Community autoalojado también la tiene.

¿Cuál de los dos emite las facturas?

Solo uno. Si la asesoría trabaja en Holded, lo habitual es que emita Holded y Odoo le pase los pedidos. Si la venta nace en Odoo (tienda online, fabricación), emite Odoo y Holded recibe la factura como documento contable. Nunca los dos.

¿Cuánto cuesta?

Orientativo, a 70 €/h sin IVA: una sincronización de transición en una dirección (contactos y productos) ronda las 20 h, unos 1.400 €. Una convivencia estable con pedidos o facturas en las dos direcciones, entre 40 y 60 h. Presupuesto cerrado tras un diagnóstico de 4 h.

¿Lo montáis con n8n o con código propio?

n8n para flujos simples y de transición, porque se ve y se cambia fácil. Código propio cuando hay volumen o reglas de conflicto. En los dos casos el sistema maestro de cada dato se decide antes.

¿Sois partners de Odoo o de Holded?

Somos Odoo Learning Partner, el nivel de entrada del programa de partners de Odoo. De Holded no somos partner: mantenemos su nodo verificado para n8n y buena parte de nuestro trabajo son integraciones con Holded.

Francodesystems

¿Hablamos de tu integración con Odoo?

Llamada de 30 minutos sin compromiso. Salimos con alcance y precio.