n8n es la herramienta de automatización de flujos open-source con la que conectas apps sin escribir código: arrastras nodos, los enlazas y el flujo se ejecuta solo. FacturaHub no tiene (todavía) un nodo nativo de n8n, pero como expone una API REST completa, lo conectas en minutos con el nodo genérico HTTP Request: cada llamada a la API es un nodo, y entre ellos pasas los datos del pedido, el cliente y la factura. Lo que crees por n8n aparece al instante en el dashboard, en WhatsApp y en tu agente de IA, porque todo comparte el mismo backend.
El patrón es siempre el mismo: un disparador inicia el flujo y una cadena de nodos HTTP Request hablan con la API de FacturaHub.
Eliges una de las dos formas, igual que en la API:
x-api-key (recomendado) — la vía más simple para n8n. Crea una credencial de tipo Header Auth con nombre x-api-key y valor TU_API_KEY (la generas en los ajustes de tu cuenta), y la reutilizas en todos los nodos HTTP Request. No caduca.POST /auth/login con tu email y contraseña, lees el token de la respuesta y lo pasas como cabecera Authorization: Bearer <token> en los siguientes nodos.Cada paso es un nodo HTTP Request apuntando a https://facturahub.com. Estos son los métodos y rutas reales de la API:
POST /api/clients con el nombre, NIF y país del cliente.POST /api/invoices con items[] (cada línea con description, quantity, unitPrice, taxRate) y retentionRate para el IRPF. Devuelve la factura con su id.PATCH /api/invoices/{id}/send (usa el id del paso anterior) para marcarla como enviada y disparar el email.GET /api/invoices/{id}/pdf si quieres adjuntar el PDF a otra app.POST /api/expenses/scan-receipt para pasar la foto de un ticket y que la IA extraiga importe, IVA y categoría.Trigger de WooCommerce (pedido nuevo) seguido de dos nodos HTTP Request. Equivalente en cURL de lo que envía cada nodo:
# Nodo 1 — crear la factura (auth: credencial Header Auth x-api-key)
curl -X POST https://api.facturahub.com/api/invoices \
-H "x-api-key: TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client": { "name": "{{ $json.billing.company }}", "taxId": "{{ $json.meta.nif }}", "country": "ES" },
"items": [{ "description": "Pedido WooCommerce #{{ $json.id }}", "quantity": 1, "unitPrice": {{ $json.total }}, "taxRate": 21 }],
"retentionRate": 0
}'
# Nodo 2 — enviar la factura al cliente (usa el id devuelto por el nodo 1)
curl -X PATCH https://api.facturahub.com/api/invoices/{{ $json.id }}/send \
-H "x-api-key: TU_API_KEY"
Los {{ ... }} son expresiones de n8n que toman datos del nodo anterior (el pedido de WooCommerce o la factura recién creada). En n8n no escribes cURL: rellenas el nodo HTTP Request con el método, la URL y el cuerpo JSON, y enlazas los nodos.
Tienes un workflow de ejemplo listo para importar en n8n en el repositorio de ejemplos de la API: https://github.com/Santy1422/facturahub-api, archivo recipes/n8n-woocommerce.json. Lo descargas, lo importas en tu n8n (Import from File), pones tu credencial x-api-key y lo conectas a tu tienda.
Honestidad sobre lo que aún no está listo (no lo anunciamos como disponible):
invoice.paid que disparen tu flujo de n8n cuando un cliente paga (hoy disparas desde WooCommerce, cron o webhook propio).Mientras llegan, los nodos HTTP Request contra la API REST cubren prácticamente cualquier flujo que se te ocurra.
Montas el flujo arrastrando nodos en n8n. No necesitas programar: el nodo HTTP Request hace las llamadas a la API de FacturaHub por ti.
Como aún no hay nodo nativo de n8n, usas el nodo genérico HTTP Request. Cada llamada a la API (cliente, factura, enviar) es un nodo enlazado al siguiente.
Credencial Header Auth con x-api-key: TU_API_KEY reutilizable en todos los nodos. O un nodo POST /auth/login para obtener un token JWT (Bearer).
Trigger de pedido nuevo en WooCommerce, dos nodos HTTP Request (POST /api/invoices y PATCH /api/invoices/{id}/send) y la factura sale sola al cliente.
POST /api/invoices con items[{description,quantity,unitPrice,taxRate}] y retentionRate. Numeración correlativa y datos fiscales correctos, como exige la AEAT.
Plantilla recipes/n8n-woocommerce.json en github.com/Santy1422/facturahub-api. La importas en n8n, pones tu x-api-key y la conectas a tu tienda.
Lo que crea n8n aparece al instante en el dashboard, en WhatsApp y en tu agente de IA. Un solo backend para todos los canales.
Nodo nativo de n8n, apps oficiales de Zapier y Make y webhooks salientes (invoice.paid) están en el roadmap. Aun no estan; hoy se hace con HTTP Request.
Aun no, y preferimos ser honestos. Hoy conectas n8n con el nodo genérico HTTP Request apuntando a la API REST de FacturaHub, y funciona perfectamente: cada llamada (crear cliente, crear factura, enviar) es un nodo. El nodo nativo de n8n está en el roadmap como próximamente.
Lo más simple: crea en n8n una credencial de tipo Header Auth con nombre x-api-key y valor tu clave de API (la generas en los ajustes de tu cuenta) y reutilizala en todos los nodos HTTP Request. Si prefieres token de sesión, un primer nodo hace POST /auth/login y pasas el JWT como Authorization: Bearer en el resto.
Sí. n8n tiene triggers para WooCommerce, Shopify y muchas otras tiendas: cuando entra un pedido, n8n llama a la API de FacturaHub y crea la factura. FacturaHub también tiene integración nativa con WooCommerce (pedidos a factura) sin n8n; para Shopify u otras tiendas, n8n es hoy la forma de conectarlas.
No. Ese es el punto de n8n: montas el flujo arrastrando nodos y enlazandolos, sin escribir código. Rellenas el nodo HTTP Request con el método (POST, PATCH), la URL y el cuerpo JSON, y usas expresiones {{ }} para pasar datos entre nodos. Para empezar sin tocar nada, importa el workflow de ejemplo del repo.
Por parte de FacturaHub, sí: el plan es gratis y las llamadas a la API son ilimitadas. Solo se mide la IA — 25 acciones de IA al mes y packs de tokens de pago único desde 4,99 € si necesitas más; crear facturas o clientes por API no consume IA. n8n por su parte tiene versión open-source autoalojada gratis y planes cloud propios.
En el repositorio de ejemplos de la API: github.com/Santy1422/facturahub-api, archivo recipes/n8n-woocommerce.json. Lo descargas, lo importas en tu n8n (Import from File), configuras tu credencial x-api-key y lo conectas a tu tienda. Hay más ejemplos en cURL, JavaScript, Python y PHP en el mismo repo.