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:readypayroll_exports:read, todos tras el módulocontrol_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
usersdel 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_activese 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ónR1–R5, 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.
CRM y catálogo
- 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 headerX-Active-Profile.
Webhooks y eventos
- Webhooks (
/v1/webhook_endpointscondeliveriesanidados) — 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
idcuyo valor es un UUID v7, con foreign keys como*_id. - Paginación por cursor —
starting_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 una4xxcacheada — marcada conIdempotent-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 medianteparam. Ramifica segúncode, nunca según elmessageorientado 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 destructivoswrite/deletese marcan como sensibles en la pantalla de consentimiento de OAuth y nunca se pre-marcan. - Versionado — el prefijo de URL
/v1más un headerFactuarea-Versionfijado./v1se mantiene estable durante al menos 24 meses; cualquier breaking change vive en/v2con 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.
- TypeScript / Node.js —
@factuarea/sdken npm. ESM + CommonJS dual, declaraciones de tipos completas, Node 20+ (y Deno / Bun / Workers). Código fuente: github.com/factuarea/factuarea-node. - PHP —
factuarea/factuarea-phpen Packagist. PSR-4, basado en Guzzle, PHP 8.2+. Código fuente: github.com/factuarea/factuarea-php.
npm install @factuarea/sdk
composer require factuarea/factuarea-phpAmbos 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--livecomo red de seguridad. - Devloop —
listenreenvía eventos a tu máquina ytriggerproduce 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
codeyhttp_statusque la API REST. Consulta Errores y límites de peticiones. - Claude Code — el plugin oficial
factuarea-mcpplugin 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.