Descripción General
La API de facturación de Invovate permite a los desarrolladores generar facturas profesionales mediante una sola llamada HTTP POST. Puedes elegir entre una respuesta JSON estructurada con todos los cálculos o una descarga directa en PDF. La API admite 11 idiomas, más de 20 divisas y 5 plantillas de diseño — perfecta para autónomos, empresas SaaS y aplicaciones de contabilidad en España y Latinoamérica.
Gratis para empezar
40 solicitudes/hora, sin tarjeta de crédito
JSON o PDF
Elige tu formato de salida
IVA automático
Por línea o global (21%/10%/4%)
Multilingüe
es, en, fr, de, pt y más
https://invovate.com/api
Inicio Rápido
Tu primera factura en tres pasos:
Regístrate gratis en invovate.com y verifica tu correo electrónico.
Ve al panel de control y haz clic en "Generar clave API". Tu clave comenzará con
inv_.
Autenticación
La API admite tres métodos de autenticación:
1. Clave API (recomendado para uso en servidor)
2. Cookie de sesión (para aplicaciones web)
Si estás autenticado mediante el navegador, la cookie inv_session se envía automáticamente.
3. Anónimo (sin autenticación)
Las llamadas sin autenticación están limitadas a salida JSON y se restringen por IP. Útil para pruebas.
Límites y Planes
| Plan | Precio | Por hora | Por semana |
|---|---|---|---|
| Gratuito | 0 € | 40 | 400 |
| Starter | 9 €/mes | 200 | 4.000 |
| Pro | 29 €/mes | 1.000 | 40.000 |
| Enterprise | Consultar | Ilimitado | Ilimitado |
Los límites se devuelven en los encabezados de respuesta:
Generar Factura
Genera una factura y devuelve JSON con todos los cálculos o un archivo PDF binario.
Formato de Solicitud
Emisor (from)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| from.name | string | Sí | Nombre de tu empresa |
| from.address | string | No | Dirección de tu empresa |
| from.email | string | No | Tu correo electrónico |
| from.tax_id | string | No | NIF/CIF (ej. B12345678) |
Receptor (to)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| to.name | string | Sí | Nombre del cliente o empresa |
| to.address | string | No | Dirección del cliente |
| to.email | string | No | Correo del cliente |
Datos de la factura (invoice)
| Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
| invoice.number | string | Auto | Número de factura |
| invoice.date | string | Hoy | Fecha de la factura (AAAA-MM-DD) |
| invoice.due_date | string | — | Fecha de vencimiento (AAAA-MM-DD) |
| invoice.currency | string | USD | Código de divisa (ej. EUR) |
| invoice.language | string | en | Código de idioma (ej. es) |
| invoice.terms | string | — | Condiciones de pago |
| invoice.po_number | string | — | Número de pedido |
Líneas (items array)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| description | string | Sí | Descripción del producto o servicio |
| quantity | number | Sí | Cantidad de unidades |
| unit_price | number | Sí | Precio unitario (sin IVA) |
| discount | number | No | Descuento (porcentaje o importe) |
| discount_type | string | percent | "percent" o "amount" |
| tax_rate | number | No | Tipo de IVA por línea (ej. 21) |
Otros campos
| Campo | Tipo | Descripción |
|---|---|---|
| global_tax | number | IVA global (se aplica si no hay IVA por línea) |
| global_discount | number | Descuento sobre el total |
| global_discount_type | string | "percent" o "amount" |
| amount_paid | number | Importe ya pagado (para pagos parciales) |
| notes | string | Notas al pie de la factura |
| refund_policy | string | Política de devoluciones |
| template | string | Nombre de plantilla: classic, modern, bold, minimal, navy |
| output | string | "json" (predeterminado) o "pdf" |
Formato de Respuesta
Respuesta JSON (output: "json")
Respuesta PDF (output: "pdf")
Devuelve un archivo PDF binario con los siguientes encabezados:
Códigos de Error
| Estado HTTP | Significado |
|---|---|
| 400 | Error de validación — revisa el formato de tu solicitud |
| 401 | Autenticación requerida o clave API inválida |
| 403 | Correo electrónico no verificado |
| 429 | Límite de velocidad superado |
| 500 | Error interno del servidor |
Endpoints de Autenticación
| Método | Ruta | Descripción |
|---|---|---|
| POST | /api/auth/register | Crear cuenta con correo y contraseña |
| POST | /api/auth/login | Iniciar sesión, devuelve cookie de sesión |
| POST | /api/auth/logout | Cerrar sesión |
| GET | /api/auth/me | Obtener datos del usuario actual y clave API |
| POST | /api/auth/generate-api-key | Generar nueva clave API (requiere correo verificado) |
Ejemplos de Código
cURL — Factura PDF con IVA español
JavaScript (Node.js)
Python
Idiomas Admitidos
| Código | Idioma | Dirección |
|---|---|---|
es | Español | LTR |
en | Inglés | LTR |
de | Alemán | LTR |
fr | Francés | LTR |
nl | Neerlandés | LTR |
it | Italiano | LTR |
pt | Portugués | LTR |
ru | Ruso | LTR |
hi | Hindi | LTR |
ja | Japonés | LTR |
ar | Árabe | RTL |
Plantillas PDF
| Nombre | Estilo |
|---|---|
classic | Acento azul, filas grises alternas (predeterminado) |
modern | Teal/cian, diseño moderno y limpio |
bold | Encabezado antracita oscuro, alto contraste |
minimal | Gris claro, sin bordes |
navy | Encabezado azul marino con línea de acento dorada |
Divisas Admitidas
EUR, USD, GBP, JPY, CAD, AUD, CHF, CNY, INR, AED, SAR, SGD, NZD, KRW, BRL, MXN, ZAR, SEK, NOK, DKK