Factuarea API

Launch

El lanzamiento de la plataforma pública de Factuarea — la API REST v1 (413 operaciones en 37 recursos), los SDKs oficiales de TypeScript y PHP, el CLI, el servidor MCP para agentes de IA, el cumplimiento fiscal español, los pagos y la operativa de empresas gestionadas, todo con un sandbox de prueba.

Control horario — 2026-07-11

Factuarea ya cubre el deber del empleador español de llevar un registro diario de jornada — RD-ley 8/2019, art. 34.9 del Estatuto de los Trabajadores — y expone todo el sistema de personal sobre el mismo contrato v1. Es el VeriFactu del control horario: un ledger de sola adición sellado por una cadena de hash SHA-256 por empresa, donde nada se edita ni se borra y cualquier manipulación rompe la cadena. Toda la superficie está protegida por el nuevo módulo control_horario. Empieza por el resumen de control horario.

  • Ocho dominios nuevos — empleados (con invitaciones y facturación por asiento), horarios de trabajo, fichajes (entrada/salida, pausas, fichajes retroactivos y correcciones), cierres mensuales del registro, exportaciones para nóminas, ausencias (tipos, políticas, solicitudes, saldos y calendario), presencia y festivos.
  • Scopes nuevos — un conjunto dedicado dentro del catálogo cerrado: employees:*, time_entries:*, work_schedules:*, absences:*, presence:read, holidays:read y payroll_exports:read, todos tras el módulo control_horario. Consulta Scopes e irreversibilidad.
  • Cierre mensual sellado — congela un mes finalizado y séllalo con una firma RSA-SHA256 desacoplada sobre la instantánea; el sellado es irreversible (uno por cierre) y verificable de forma independiente. Exporta el registro diario en el formato rdley_8_2019, o un fichero de incidencias para nóminas A3, Sage o NominaSOL. Consulta Cierre mensual del registro.
  • Rol de empleado solo en el portal — un empleado ficha, sigue un horario y solicita ausencias desde el portal, y nunca cuenta contra el límite users del plan.
  • Add-on por asiento — los empleados se facturan mediante una suscripción mensual dedicada (employee-seats) cuya cantidad sigue tu censo activo; contratarla activa el módulo. Una cuenta enterprise facturada por contrato lo obtiene gratis. Consulta Facturación de asientos de empleado.
  • Paridad MCP — cada ruta v1 refleja una tool MCP pública, así que un agente ejecuta las mismas operaciones. Consulta el catálogo de tools MCP.

Dos dominios son de solo lectura vía API — presencia y festivos exponen solo lecturas. Declarar presencia en oficina o remoto y crear festivos locales propios son tareas solo del portal, sin scope presence:write ni holidays:write.

API y MCP incluidos en todos los planes — 2026-07-04

La API pública y el servidor MCP dejan de venderse como add-on developer_api aparte — ahora están incluidos en todos los planes de Factuarea:

  • Tier por plan — tu tier de rate limit se deriva de tu plan: Emprendedor → starter (30 req/min, 5.000 req/mes), Empresario → pro (300 req/min, 50.000 req/mes), Enterprise → scale (personalizado, sin topes). Consulta Límites de peticiones.
  • Trial incluido — durante el trial de 10 días tienes acceso a la API con el tier free (10 req/min, 100 req/mes).
  • Boost de capacidad — si necesitas más capacidad sin cambiar de plan, suscríbete desde el dashboard a un tier estrictamente superior al que otorga tu plan; un tier igual o inferior devuelve 422 boost_not_applicable. Consulta Boost de capacidad.
  • El add-on desaparece — los add-ons de developer Starter y Pro dejan de venderse. El código de error addon_not_active se mantiene (ahora significa que la empresa no tiene un plan activo que incluya acceso a la API), así que las integraciones existentes no necesitan ningún cambio.
  • Programa beta cerrado — el acceso a la API ya no se solicita: crea una key desde Dashboard → Developers → API Keys y empieza a llamar a /v1.

v1 — publicada el 2026-05-03. Este es el primer lanzamiento público de la plataforma de Factuarea; todo lo que sigue se publica junto. Los próximos lanzamientos se añaden a esta página, del más reciente al más antiguo, cada uno encabezado por su versión y fecha.

Por primera vez puedes integrar Factuarea con cualquier sistema externo — por código, por SDK, por línea de comandos o por agente de IA — sin scraping ni macros. La superficie pública es un único contrato en https://api.factuarea.com/v1, accesible de cuatro formas: la API REST, los SDKs de TypeScript y PHP, el CLI factuarea y el servidor MCP. Cada superficie habla con los mismos recursos y aplica los mismos scopes.

REST API v1

La API REST pública expone 413 operaciones en 37 recursos como JSON plano sobre HTTPS. Cada recurso se identifica por una clave id opaca (un UUID v7).

Documentos de venta

  • Facturas (/v1/invoices) — CRUD completo y el ciclo de vida completo: enviar, marcar como pagada, cancelar, anular, duplicar, PDF y enlace público, cobros y recibos, recordatorios. Facturas rectificativas con los códigos de motivo de rectificación R1R5, elegibilidad y sustitución de factura simplificada, emisión programada (schedule / reschedule / unschedule) y exportación trimestral (ZIP y email). Creación, envío, cambio de estado, borrado y PDF en lote, además de exportación a Excel.
  • Presupuestos (/v1/quotes) — CRUD + aceptar, rechazar, convertir a factura, PDF, enlace público.
  • Facturas proforma (/v1/proformas) — CRUD + convertir a factura, PDF, enlace público.
  • Albaranes (/v1/delivery_notes) — CRUD + firmar, marcar como entregado, convertir a factura.
  • Facturas recurrentes (/v1/recurring_invoices) — CRUD + activar, pausar, reanudar, cancelar y previsualizar la próxima ejecución.

Compras

  • Facturas de compra (/v1/purchase_invoices) — CRUD con adjunto PDF, marcar como pagada, registro de pagos e informes de pendientes / vencidas.
  • Clientes (/v1/clients) — CRUD completo, búsqueda por NIF/CIF, verificación censal de la AEAT y VIES, e importación CSV con plantilla descargable.
  • Proveedores (/v1/suppliers) — CRUD completo, búsqueda por NIF/CIF.
  • Productos (/v1/products) — CRUD, búsqueda por SKU o external id, control de stock (fijar, ajustar y actualización en lote), informe de stock bajo, analítica de ventas, e imágenes de galería y vídeo.
  • Series de documentos (/v1/series) — series de numeración legal por tipo de documento, con reinicio mensual / anual, selección de predeterminada y archivar / desarchivar.
  • Impuestos (/v1/taxes) — tipos impositivos (IVA, retención de IRPF, recargo de equivalencia) con predeterminados por documento.

Cumplimiento fiscal español

  • VeriFactu (/v1/verifactu/*, /v1/invoices/{invoice}/verifactu) — registros de facturación, la cadena de huellas del SIF y su validación, subsanación (registros de corrección), la declaración responsable y su histórico, y la gestión de certificados FNMT.
  • FacturaE / FACe (/v1/invoices/{invoice}/facturae, /v1/face-submissions) — descarga del XML FacturaE 3.2.2 y envíos B2G a las administraciones públicas mediante FACe (enviar, seguir, anular).
  • Censo de la AEAT (/v1/account/census-verification, /v1/clients/*) — verifica un NIF/CIF contra el registro de la AEAT.
  • Informes fiscales (/v1/tax_reports/*) — genera, previsualiza, descarga y mantén el histórico de los Modelos 303 (IVA), 347 (operaciones anuales con terceros) y 130 (pago fraccionado de IRPF).

Pagos

  • Autofacturación de Stripe (/v1/stripe-autoinvoicing/*) — conecta cuentas de Stripe y emite facturas automáticamente a partir de los pagos de Stripe, incluidas facturas rectificativas automáticas en las devoluciones.
  • Payouts y conciliación (/v1/payouts, /v1/connected-accounts) — lee los payouts de Stripe y concilia las liquidaciones, con soporte de extractos bancarios Norma 43.

Empresas gestionadas (gestorías)

  • Empresas (/v1/companies) — aprovisiona y opera empresas hijas desde una cuenta maestra: crear, activar, desactivar, seguir el estado de creación y emitir API keys por empresa (crear, rotar, revocar). Previsualiza el coste por seat antes de confirmar con /v1/companies/seat-charge-preview. Opera en nombre de una hija en una sola petición con el header X-Active-Profile.

Webhooks y eventos

  • Webhooks (/v1/webhook_endpoints con deliveries anidados) — endpoints suscribibles firmados con HMAC SHA256, rotación de doble secreto, ping / test, y un histórico de entregas que puedes reenviar.
  • Eventos (/v1/events, /v1/event-catalog) — el flujo histórico de eventos y el catálogo de tipos de evento suscribibles.

Cuenta

  • Cuenta (/v1/account) — introspecciona la credencial autenticada (empresa, plan, scopes y tier de límite de peticiones), gestiona API keys, personaliza las plantillas de documento y ejecuta tu propia verificación censal.

Fundamentos de la API

Comportamiento que comparten todos los recursos, así una integración lo aprende una sola vez:

  • Modo de prueba — las claves fact_test_* se ejecutan contra una empresa sandbox aislada; los efectos externos (VeriFactu/AEAT, FACe, email, webhooks) no se ejecutan, así creas y pruebas sin tocar los datos de producción.
  • Identificadores opacos — cada recurso expone una clave id cuyo valor es un UUID v7, con foreign keys como *_id.
  • Paginación por cursorstarting_after / ending_before, sin ?page=.
  • Idempotencia — el header Idempotency-Key (máx. 64 caracteres, TTL de 24 h); una petición repetida devuelve la respuesta original almacenada — incluida una 4xx cacheada — marcada con Idempotent-Replayed.
  • Límites de peticiones — cuotas por tier, por minuto y mensuales, con headers X-RateLimit-*.
  • Errores normalizados — el envoltorio { error: { type, code, message, param, request_id, doc_url } }; los errores de validación señalan el campo problemático mediante param. Ramifica según code, nunca según el message orientado a personas.
  • Operaciones en lote — los endpoints por lotes informan del éxito parcial por elemento, así una fila incorrecta no hace fallar toda la petición.
  • Importación y exportación — importación CSV de clientes (con plantilla descargable) y exportación de facturas a Excel.
  • Webhooks firmados — HMAC SHA256 con ±5 min de tolerancia y reintentos exponenciales hasta 8 intentos.
  • Scopes — un catálogo cerrado resource:action; toda operación a la que no puedes acceder queda oculta, y los scopes destructivos write / delete se marcan como sensibles en la pantalla de consentimiento de OAuth y nunca se pre-marcan.
  • Versionado — el prefijo de URL /v1 más un header Factuarea-Version fijado. /v1 se mantiene estable durante al menos 24 meses; cualquier breaking change vive en /v2 con una ventana de coexistencia de al menos 12 meses.

SDKs oficiales — TypeScript y PHP

Los SDKs mantenidos envuelven toda la API REST v1 con un runtime premium, así no escribes HTTP a mano. Consulta la sección de SDKs.

npm install @factuarea/sdk
composer require factuarea/factuarea-php

Ambos comparten el mismo runtime: reintentos automáticos (con backoff, respetando Retry-After), claves de idempotencia automáticas, auto-paginación por cursor, una jerarquía de errores tipada, verificación de webhooks en tiempo constante y descargas binarias (PDF). Cada página de la referencia de la API muestra un snippet de TypeScript, PHP y cURL listo para copiar. Cada release fija una Factuarea-Version y la envía en cada request.

Interfaz de línea de comandos

El CLI factuarea oficial (v0.1.3) opera toda la superficie v1 desde tu terminal. Es agent-first — salida JSON estable, exit codes semánticos y descubrimiento en una sola llamada — y el árbol de comandos se genera desde el spec OpenAPI, así que nunca se desincroniza de la superficie en vivo.

  • Una clave, dos entornos — el prefijo de la clave selecciona el entorno; una mutación fact_live_ requiere además el flag explícito --live como red de seguridad.
  • Devlooplisten reenvía eventos a tu máquina y trigger produce eventos reales de sandbox, así pruebas webhooks en local sin túnel ni ngrok.
  • Instalación — Homebrew, npm o un instalador curl. Consulta el CLI.

Servidor MCP para agentes de IA

El servidor MCP en https://mcp.factuarea.com expone la API pública como 391 tools de Model Context Protocol sobre el transporte Streamable HTTP, así los agentes de IA (Claude y otros) las descubren y las llaman sin que tengas que cablear cada endpoint.

  • Dos canales de auth — una API key (fact_live_ / fact_test_) para el propietario de la cuenta (hasta las 391 tools), u OAuth 2.1 para apps de terceros (un catálogo curado de 305 tools). Consulta Conectar un cliente.
  • OAuth 2.1 completo — Dynamic Client Registration (RFC 7591), PKCE (S256), una pantalla de consentimiento con selección de empresa y entorno, rotación de refresh-token con detección de reutilización, además de revocación e introspección.
  • Gobernado por scopes — cada tool aplica un scope granular; las tools a las que no puedes acceder quedan ocultas en tools/list. Consulta Scopes y permisos.
  • Errores fieles a v1 — los errores JSON-RPC conservan el mismo code y http_status que la API REST. Consulta Errores y límites de peticiones.
  • Claude Code — el plugin oficial factuarea-mcp plugin conecta en dos comandos.
  • Modo de prueba — ejecuta todo contra el sandbox aislado. Consulta Modo de prueba.

Empieza en modo de prueba

La regla de oro en las cuatro superficies: empieza en modo de prueba. Crea contra una clave fact_test_ (o un consentimiento OAuth con el entorno Test), luego cambia a fact_live_ — sin cambios de código. Bienvenido a la era de las integraciones en Factuarea.

En esta página