FrancodesystemsFran<code>systems
CRMIntegración a medida

Integración Holded HubSpot

HubSpot y Holded compartiendo clientes, oportunidades y facturación en tiempo real.

HoldedHolded
HubSpot

Tiempo de implantación · 7-12 días laborables

Diagnóstico

El problema

Tus comerciales viven en HubSpot. Tu administración vive en Holded. Y los datos no se comunican: cada parte tiene su versión de la realidad, los duplicados se acumulan y los comerciales nunca saben si una factura está pagada sin abrir un canal de Slack para preguntar a contabilidad. Cada deal ganado se traduce en 15-30 minutos de trabajo manual de admin: copiar el contacto, validar NIF, crear el presupuesto, mandar la factura, registrar el cobro. En equipos con 50 deals/mes son 25 horas mensuales que el equipo administrativo dedica a copy-paste en lugar de tareas con valor. Los conectores comerciales tipo Zapier o las apps del marketplace de HubSpot resuelven el caso trivial pero generan duplicados, no manejan bien NIF intracomunitario y se quedan cortos en escenarios con line items complejos.

Propuesta

La solución

Los contactos y empresas creados en HubSpot se reflejan automáticamente en Holded con su NIF validado y su categoría comercial. Los deals ganados disparan presupuesto o factura en Holded según la etapa del pipeline configurada. El estado de cobro (emitida, pagada, vencida) vuelve a HubSpot como propiedades del deal y del contacto, así que los comerciales ven el estado financiero sin salir del CRM. El catálogo de productos vive como single source of truth en uno de los dos lados y se replica automáticamente.

Scope

Qué automatizamos

  • Contacto/empresa HubSpot → contacto Holded con NIF validado (VIES si intracomunitario)
  • Deal en etapa X → presupuesto Holded; deal Closed Won → factura emitida
  • Line items HubSpot (cantidad, precio, descuento) → líneas de factura Holded con IVA correcto
  • Estado de cobro Holded → propiedades del deal y del contacto en HubSpot
  • Productos Holded ↔ catálogo HubSpot (single source en uno de los dos lados)
  • Comercial asignado al deal → vendedor en la factura Holded para comisiones
  • Tickets de soporte en HubSpot Service Hub → tareas o anotaciones en Holded
  • Forms HubSpot que generan deals → contactos Holded pre-creados
Quién lo usa

Casos de uso reales

Estos son los perfiles que más nos piden la integración HoldedHubSpot y qué consiguen al final.

Caso 01

Agencia B2B con 80 deals/mes

Antes: Admin dedicaba 30 h/mes a generar presupuestos y facturas desde los deals cerrados en HubSpot.

Después: Deal Closed Won → factura en 5 segundos. Admin pasa a tareas de cobro y conciliación, no de copy-paste.

Caso 02

SaaS con pricing por seats

Antes: Los line items de HubSpot con cantidades variables (X seats × Y precio) no se reflejaban bien en Holded.

Después: Cada line item del deal va como línea de factura con cantidad y precio correctos. Upsells generan rectificativas.

Caso 03

Equipo con HubSpot Service Hub

Antes: Los tickets de soporte facturables (horas extras de implantación) no llegaban nunca a Holded.

Después: Ticket cerrado con etiqueta 'facturable' → línea en factura mensual recurrente del cliente.

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

  • Comerciales sin visibilidad del estado de cobro
  • Admin pierde 25+ h/mes copiando deals a Holded
  • Duplicados de contactos entre HubSpot y Holded
  • Tickets facturables que nunca llegan al ERP
  • NIF intracomunitario revisado a mano cada deal

Con la integración

  • Estado de cobro visible en el deal del comercial
  • Deal Closed Won → factura emitida en segundos
  • Matching por email + NIF: cero duplicados
  • Soporte facturable propagado automáticamente
  • VIES validado antes de generar nada en Holded
Arquitectura

Cómo lo construimos

Webhooks de HubSpot (contact.creation, deal.propertyChange) entran a una cola con persistencia. El worker hace matching por email + NIF antes de crear nada en Holded, así nunca duplicamos contactos. La API REST de Holded recibe presupuestos o facturas según la etapa del deal configurada, y el resultado vuelve a HubSpot como custom property de tipo enum. Todo idempotente con el ID del evento de HubSpot. Si Salesforce, perdón, si HubSpot envía el mismo evento dos veces (cosa que pasa), no creamos duplicados.

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

Preguntas frecuentes

¿Crea duplicados si ya existe el contacto en Holded?

No. Antes de crear nada hacemos matching por email primario y NIF. Si el contacto ya existe, lo actualizamos en lugar de duplicar. Si hay conflicto (mismo email, distinto NIF), lo marcamos para revisión humana en lugar de adivinar.

¿En qué momento del pipeline genera factura?

Lo configuras tú. Lo habitual es: deal en etapa 'Propuesta enviada' → presupuesto en Holded; deal en 'Closed Won' → factura emitida. Pero podemos disparar lo que quieras según etapa, custom property, o trigger manual.

¿Funciona con HubSpot Operations Hub?

Sí. Si ya tienes workflows en Operations Hub, podemos conectarnos como webhook target en lugar de listener nativo. Te queda el control de la lógica en HubSpot y nosotros sólo ejecutamos contra Holded.

¿Soporta line items con descuento por línea?

Sí. Cada line item del deal va como línea de factura en Holded con su precio unitario, cantidad y descuento aplicado. El IVA se calcula sobre la base ya descontada.

¿El estado de cobro vuelve a HubSpot?

Sí. Creamos custom properties en el deal y el contacto (Estado de factura, Fecha de cobro, Importe vencido) que se actualizan en tiempo real desde Holded. Los comerciales lo ven en el panel del deal.

¿Cuánto tarda en estar funcionando?

Entre 7 y 12 días para una integración estándar. Mapeo de catálogo, custom properties y workflows pueden añadir 3-5 días según complejidad.

Francodesystems

¿Hablamos de tu integración con HubSpot?

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