La API de Verifacti para Verifactu está diseñada para facilitar el envío de información fiscal a la Agencia Tributaria, proporcionando una solución accesible a los desarrolladores de software de facturación. En lugar de integrarse directamente con la API de la administración, los desarrolladores pueden realizar sus peticiones a la API de Verifacti, evitando así complejidades tecnológicas y barreras técnicas.
La API de Verifacti está diseñada para ofrecer una integración sencilla y rápida gracias a:
Al utilizar la API de Verifacti, se evitan los principales retos de la integración directa con la administración, tales como:
El flujo de funcionamiento de la API Verifacti sigue este esquema:
Verifacti ha diseñado su API para ser un reflejo fiel de la API de la administración, replicando:
Esto significa que cualquier error devuelto por la API de Verifacti proviene, salvo excepciones, directamente de la administración. Esto permite a los desarrolladores identificar problemas con mensajes originales de la Agencia Tributaria y corregirlos sin intermediarios.
Al no actuar como un intérprete de los requisitos de Hacienda, Verifacti asegura una integración transparente y alineada con los criterios oficiales, permitiendo a los desarrolladores centrarse en la implementación sin incertidumbres.
El QR en el sistema Verifactu es una URL codificada. En concreto, se trata de una URL única en la web de la Agencia Tributaria para una factura en particular. En esta URL, la administración nos dice si le consta haber recibido o no esa factura a través del sistema Verifactu.
La expectativa de la administración es que toda factura emitida por contribuyentes sujetos a la obligación del sistema Verifactu incorporen este QR. De este modo, cualquier receptor de una factura con un QR puede desde su dispositivo móvil acceder cómodamente a la URL de la factura y comprobar que esta ha sido comunicada a la Agencia Tributaria.
El QR se forma a partir de una serie de campos de la factura:
La generación del QR es una de las partes más sencillas de la adecuación al sistema Verifactu. Si bien la API Verifacti devuelve el QR de manera inmediata cuando se genera una factura nueva, muchos de nuestros usuarios eligen generar el QR ellos mismos y pintarlo sobre la factura, puesto que este proceso es sencillo al existir librerías de generación de QR en la práctica totalidad de los lenguajes de programación.
Verifacti emplea un certificado propio de representación para enviar la información fiscal a la administración. Se evita así la necesidad de certificados y contraseñas propios, reduciendo riesgos de seguridad y previniendo el rechazo de los usuarios a compartir credenciales sensibles. Para ello, Verifacti opera dentro del marco de la colaboración social, una figura previa a Verifactu muy extendida para multitud de usos de asesoramiento fiscal.
Para que Verifacti pueda utilizar su certificado de representación en nombre de terceros, los contribuyentes y/o los softwares de facturación deben firmar un modelo de representación en el que facultan a Verifacti a enviar información fiscal en su nombre. Como parte del proceso de creación de empresas en el entorno de producción, Verifacti requerirá la firma y presentación de estos modelos de representación para validar la autorización del servicio.
Estos modelos de representación han sido publicados en el BOE (ver Anexos I, II y III).
La administración ofrece dos caminos para cumplir con el sistema Verifactu: el modo Verifactu y el modo No-Verifactu.
El modo Verifactu consiste en el envío en tiempo real a la administración de las facturas emitidas y otra información fiscal relevante. Este sistema exime al software de facturación de la obligación de conservar los registros de facturación.
En el modo No-Verifactu:
La inmensa mayoría de los ERPs y softwares de facturación están optando por no ofrecer el modo No-Verifactu a sus usuarios debido a los inconvenientes que plantea, tanto para el contribuyente como para el software de facturación.
En modo Verifactu, no existe la obligación de conservar los registros de facturación enviados a la Agencia Tributaria, ni para el software de facturación ni para el contribuyente, puesto que dichos registros ya han sido remitidos previamente. La administración es clara a este respecto: la obligación de conservación de registros de facturación solo existe en el modo No-Verifactu.
Por registro de facturación, la administración entiende las llamadas realizadas a su API. Cada petición realizada a la API de Verifacti que se materialice en una llamada a la API de Verifactu constituye un registro de facturación. Se trata, por tanto, de los ficheros XML de petición a la administración y de respuesta de la administración. En modo Verifactu, no existe la obligación de conservar dichos ficheros.
Dicho esto, Verifacti facilita endpoints para descargar los registros de facturación para aquellos usuarios que deseen guardarlos. Asimismo, Verifacti guardará esta información durante un periodo amplio de tiempo.
Lo anterior no debe confundirse con la obligación de conservación de facturas derivada del Reglamento de Facturación u otras normas tributarias. Cualquier obligación que el software o sus usuarios (los contribuyentes) tuvieran antes de la aparición del sistema Verifactu sigue vigente tras su implementación.
La administración exige que tanto los softwares de facturación como Verifacti presenten una declaración responsable que confirme el cumplimiento de los requisitos de Verifactu. Esta declaración responsable debe cumplir con dos aspectos clave: emplazamiento y numeración del software.
La administración establece que la declaración responsable debe ser visible para los usuarios del software y, en caso de comercialización, también para los compradores. Como referencia, sugiere que esté accesible en la sección de ayuda en los softwares de tipo web.
Verifacti cumplirá con este requisito publicando su declaración responsable en:
La administración establece que la declaración responsable debe hacer referencia específica al número de software correspondiente. En concreto, cada proveedor de software debe contar con una declaración responsable para cada numeración de software creada después de la entrada en vigor de la obligatoriedad de Verifactu. Además, sólo debe estar disponible para los usuarios la declaración responsable vigente, correspondiente a la numeración de software en uso en cada momento.
Las siguientes fechas son fundamentales para la implementación del sistema Verifactu. Son momentos clave para que los desarrolladores y proveedores de software tomen las decisiones necesarias en su integración.
A partir de julio de 2025, los Sistemas Informáticos de Facturación (SIF) deben estar adaptados a Verifactu. Cualquier software de facturación en España debe permitir a sus usuarios utilizar Verifactu. Durante el periodo transitorio entre julio de 2025 y la obligatoriedad total para los contribuyentes (2026), el uso de Verifactu no será obligatorio para los obligados tributarios, aunque algunos contribuyentes podrán solicitar su implementación.
Durante el año 2026, Verifactu pasará a ser obligatorio para todos los contribuyentes. A partir de este momento, los softwares de facturación no podrán ofrecer Verifactu como una funcionalidad opcional. En su lugar, estarán obligados a utilizar el sistema Verifactu para cualquier actividad de facturación de sus usuarios.
A continuación, compartimos información clave para la integración con el sistema Verifactu.
Cumplir con Verifactu no garantiza el cumplimiento de todos los requisitos de la normativa de facturación ni de las normas contables o tributarias. Es frecuente encontrarse con situaciones en las que el sistema Verifactu acepta facturas con elementos incorrectos desde el punto de vista de la normativa de facturación. Esto se debe a que el sistema Verifactu ha sido creado con objetivos fiscales y opera en cierto modo al margen de la normativa de facturación.
Es común escuchar que con el sistema Verifactu las facturas no pueden modificarse. Esta percepción es errónea. La inalterabilidad exigida por Verifactu se refiere a los registros de facturación, no a las facturas en sí mismas.
Los registros de facturación son las peticiones realizadas a la Agencia Tributaria y estos no pueden modificarse a posteriori. No obstante, sí es posible modificar una factura ya generada a través de registros de facturación adicionales. En concreto, las modificaciones pueden realizarse mediante subsanación o emisión de facturas rectificativas.
A ojos de la Administración Tributaria un ticket de compra equivale a una factura simplificada y las facturas simplificadas deben ser comunicadas a través del sistema Verifactu. En otras palabras, todos los tickets deben ser comunicados por el sistema Verifactu como facturas simplificadas.
El requisito de trazabilidad exigido por Verifactu se refiere al encadenamiento de registros de facturación, no al encadenamiento de las facturas en sí. En otras palabras, la administración exige que, con cada llamada a la API, se incluya una referencia a la llamada anterior realizada, independientemente de que esta corresponda o no a la creación de una factura. El XML exigido por la administración en cada llamada, y que la API de Verifactu genera a partir del JSON recibido, se encarga automáticamente de este encadenamiento.
En relación con el punto anterior, es importante aclarar que Verifactu permite la creación de facturas no consecutivas. En otras palabras, en el sistema Verifactu es posible crear facturas sin seguir un orden secuencial estricto, y estas facturas serán aceptadas sin errores. Sin embargo, la normativa de facturación exige la secuencialidad de las facturas, por lo que cumplir con Verifactu no exime del cumplimiento de dicha normativa.
Uno de los requisitos del sistema Verifactu al crear una factura nueva es incluir un desglose, que en la API de Verifactu se denomina líneas. Es importante aclarar que la administración no usa este desglose para obtener información sobre los productos o servicios vendidos. Su finalidad es exclusivamente reflejar diferentes tipos de IVA en aquellos casos en los que una misma factura incluya varios tipos de IVA. Por lo tanto, en situaciones en las que toda la factura tenga un único tipo de IVA, sólo será necesaria una única línea.
La suma del desglose de una factura puede no coincidir exactamente con el total de la factura. Esta diferencia puede llegar a un máximo de varias decenas de euros, y la administración no lo considerará un error.
Las facturas que incluyan retención por IRPF (por ejemplo, en pagos a autónomos) deben excluir el componente de IRPF al ser comunicadas a la Agencia Tributaria a través de Verifactu. Esto significa que el importe total de la factura en manos del destinatario final y el importe total de la factura en Verifactu serán diferentes.
La administración establece que los suplidos no deben incluirse obligatoriamente en las facturas enviadas a través del sistema Verifactu. No obstante, pueden incluirse voluntariamente mediante una línea adicional con un IVA del 0%.
La integración de un software de facturación con la API Verifacti para Verifactu debe considerar los siguientes aspectos clave.
La API Verifacti es una API RESTful que opera con formato JSON. Antes de comenzar la integración, el desarrollador debe:
El primer paso en la integración es diseñar las llamadas a la API Verifacti. Cada llamada debe incluir:
El desarrollador debe generar peticiones para todas las interacciones de su software que requieran comunicación con la API, como:
Se recomienda realizar pruebas en el entorno de test con actividad real antes de pasar a producción.
Las respuestas de la Administración a las peticiones no son síncronas. Existe un decalaje de 4 a 100 segundos entre el envío de la petición y la obtención de una respuesta. Por ello, es fundamental que el desarrollador implemente consultas específicas para comprobar el estado de sus peticiones. Esto permite:
La creación de NIFs (empresas o contribuyentes) en Verifacti puede realizarse de dos formas:
Para los softwares de facturación, una parte importante de la integración es:
Implementar estas funcionalidades permite una gestión eficiente y automatizada dentro del sistema Verifacti.
La administración prevé la posibilidad de que se produzca algún incidente que impida el envío correcto de los registros de facturación a la administración. En concreto, la administración habla de las siguientes posibilidades:
En caso de producirse alguna de estas situaciones, la administración dispone de varios preceptos: