Ir al contenido
ES

API Verifactu para Stripe, WooCommerce y Shopify

Respuesta corta: no hay una «API de Verifactu» que te dé el cumplimiento hecho. Lo que existe es un conjunto de requisitos para el software que emite tus facturas y unos servicios web de la AEAT a los que ese software envía los registros. Para una tienda online hay tres caminos: construir tú la integración contra la AEAT, usar una API de terceros que genera y envía los registros, o instalar un plugin o app en WooCommerce, PrestaShop o Shopify. La decisión importa más por quién firma la declaración responsable y por si se cubren los abonos y las anulaciones que por cuál sea la herramienta más cómoda. Con la ley actual, las sociedades deben cumplir desde el 1 de enero de 2027 y los autónomos desde el 1 de julio de 2027.

Esta guía es para dueños de tiendas online y desarrolladores que tienen que decidir cómo hacer cumplir su facturación. Para las fechas, el alcance y las sanciones, consulta la guía de factura electrónica en España.

Integración directa con la AEATAPI de tercerosPlugin o app de tu plataforma
Qué haces túGeneras registros, huella, QR y envíoLlamas a la API con los datos de la ventaInstalas y configuras
Declaración responsableLa emites tú: eres el productorLa emite el proveedor de la API, y tú por tu integración si afecta a los registrosLa emite el fabricante del plugin
Esfuerzo técnicoAltoMedioBajo
ControlTotalMedioEl que permita el plugin
Riesgo principalErrores en huella, encadenado o reintentosDependencia del proveedorQue el plugin no cubra abonos, anulaciones o varias pasarelas
Encaja conEquipos con desarrollo propioCheckouts a medida, Stripe, varias tiendasWooCommerce, PrestaShop y Shopify estándar

Qué tiene que hacer una integración de Verifactu

Sección titulada «Qué tiene que hacer una integración de Verifactu»

El Real Decreto 1007/2023 y la Orden HAC/1177/2024 fijan qué debe hacer un sistema informático de facturación. La documentación técnica de la AEAT incluye los diseños de registro, los WSDL, los esquemas, el algoritmo de la huella, las especificaciones del QR y un portal de pruebas. En la práctica, tu integración tiene que hacer estas cinco cosas.

Cada factura o ticket genera un registro de alta en el momento de emitirse. Si una factura se emitió por error, no se borra: se genera un registro de anulación. Los registros nunca se editan ni se eliminan, y por eso tu sistema tiene que bloquear el borrado de facturas. Una devolución de un cliente real no es una anulación: se documenta con una factura rectificativa, que es otro registro de alta.

Cada registro incluye una huella que se calcula con SHA-256 a partir de algunos de sus datos y de la huella del registro anterior. Así, si alguien altera una factura antigua, toda la cadena posterior deja de cuadrar. El orden de los campos y el formato exacto están en el documento del algoritmo de la huella de la AEAT; no los reproduzcas de memoria ni de un blog. Un error aquí hace que la AEAT acepte el registro con errores o lo rechace.

Cada factura debe llevar un QR que, al escanearlo, lleva al servicio de cotejo de la AEAT. Las especificaciones del QR (tamaño, nivel de corrección de errores, parámetros de la URL) están en el documento oficial «Características del QR y especificaciones del servicio de cotejo». En el modo VERI*FACTU, la factura lleva además la leyenda «VERI*FACTU».

ModalidadQué hace tu sistema
VERI*FACTUEnvía cada registro a la AEAT a medida que facturas. No tienes que firmar los registros: la AEAT considera que el envío con certificado cualificado por un canal seguro cumple como firma básica (preguntas frecuentes sobre firma)
No VERI*FACTUConserva los registros, con firma electrónica, y los entrega si la AEAT los pide

Para un ecommerce con muchas ventas, el modo VERI*FACTU suele ser más sencillo de operar, porque el sistema se mantiene enviando y recibes el acuse de la AEAT en cada envío.

Servicios web, certificado y representación

Sección titulada «Servicios web, certificado y representación»

El envío se hace con los servicios web de la AEAT, autenticándote con un certificado electrónico cualificado. No hace falta que sea el tuyo: según las preguntas frecuentes de la AEAT, un tercero puede enviar los registros con su propio certificado si es tu representante, apoderado o colaborador social. Si tu proveedor envía por ti, comprueba cómo se acredita esa representación antes de empezar.

El productor del software firma una declaración responsable de que cumple el reglamento. Es una autocertificación: no se presenta ni se registra en la AEAT, pero debe estar visible en el sistema y disponible para el comprador. Tres consecuencias prácticas:

  • Si desarrollas tu propia integración para uso interno, tú eres el productor y debes emitirla.
  • Si un tercero modifica un sistema, sus cambios no los cubre la declaración del productor original: necesita la suya.
  • Un módulo que afecta a la generación, el registro o el envío de los registros (incluida la huella) necesita declaración. Uno puramente estético, no.

Es la opción de máximo control y la que más trabajo da. Tendrás que construir los registros y la huella, generar el QR y la leyenda, gestionar certificados, manejar los errores y los reintentos del servicio web, conservar los registros y mantener la declaración responsable de cada versión. Tiene sentido si ya tienes un equipo que mantiene la facturación y quieres no depender de nadie. No la elijas solo para ahorrar una cuota: el coste real está en el mantenimiento.

Tú envías los datos de cada venta y la API genera el registro, la huella y el QR, y (según el proveedor) los envía a la AEAT. Es la vía habitual para un checkout a medida o para Stripe. Antes de elegir, pregunta:

  • ¿Quién firma la declaración responsable y puedes verla?
  • ¿Cubre VERI*FACTU, no VERI*FACTU o ambos?
  • ¿Cómo gestiona abonos, anulaciones y facturas rectificativas?
  • ¿Con qué certificado se envía y cómo se acredita la representación?
  • ¿Puedes exportar tus registros si cambias de proveedor?

Es lo más rápido para una tienda estándar. El riesgo es que un plugin se instala fácilmente pero cubre solo parte del flujo: por ejemplo, la factura de un pedido pero no el abono desde otro panel, o solo una pasarela de pago. Exige la declaración responsable y haz una prueba con un pedido, una devolución y una anulación antes de dar el plugin por bueno.

Stripe cobra, y sus facturas y recibos los emite tu cuenta. La pregunta de Verifactu es: ¿qué sistema es el que genera tu factura? Si la factura la crea Stripe, ese sistema es el «software» y tiene que cumplir los requisitos con una declaración de su productor. No hemos confirmado que Stripe ofrezca hoy ese cumplimiento para empresas españolas: pregúntaselo por escrito y no lo supongas. La alternativa más segura es emitir la factura con un sistema adaptado a Verifactu a partir de los eventos de Stripe (pago correcto, reembolso) y usar Stripe solo como pasarela.

WooCommerce genera pedidos; las facturas suelen venir de un plugin. Ese plugin es el sistema de facturación a efectos de Verifactu, no WooCommerce. Si usas varios plugins (facturas, abonos, TPV), cada uno que toque los registros necesita su declaración. Con WooCommerce es habitual que alguien edite pedidos desde el administrador: comprueba que editar un pedido no reescribe una factura ya emitida.

Es parecido a WooCommerce: la factura nativa de PrestaShop no genera los registros de Verifactu por sí sola, así que necesitas un módulo adaptado o una API externa. Prueba especialmente los abonos por devolución de producto, que son habituales en moda y electrónica, y que la numeración de las facturas no se rompa al regenerar PDFs.

Shopify no es tu sistema de facturas en España si no emite facturas con los datos fiscales que exige la normativa. Lo habitual es una app de facturación que se conecta a los pedidos. Al evaluarla, comprueba que cubre los pedidos de TPV y de otros canales, no solo la tienda online.

Ejemplo práctico: tienda de lana en WooCommerce

Sección titulada «Ejemplo práctico: tienda de lana en WooCommerce»

Nube de Lana SL, una sociedad de Zaragoza, vende ovillos en WooCommerce y cobra con Stripe. Tiene que cumplir desde el 1 de enero de 2027. Esto es lo que debe pasar con un pedido de 121,00 € (100,00 € de base y 21,00 € de IVA al 21 %):

  1. El cliente paga y la tienda emite la factura con su plugin de facturación. El sistema genera un registro de alta con el emisor, el número, la fecha, la cuota (21,00 €), el importe total (121,00 €) y la huella encadenada con la del registro anterior.
  2. En modo VERI*FACTU, el sistema envía el registro a la AEAT con el certificado de la empresa (o el de su gestoría, si es su colaboradora social). El PDF lleva el QR y la leyenda «VERI*FACTU».
  3. Dos días después, el cliente devuelve el pedido completo. El sistema emite una factura rectificativa de −121,00 €, que es otro registro de alta encadenado. No se toca la factura original.
  4. Si la empresa descubre que una factura se generó duplicada por un fallo, genera un registro de anulación, no la borra.

Antes de dar por bueno el plugin, la empresa ha pedido su declaración responsable y ha probado un pedido, una devolución y una anulación en el entorno de pruebas de la AEAT.

  1. Declaración responsable: pídela, con el nombre, la versión y el tipo de sistema.
  2. Registros inalterables: comprueba que no puedes editar ni borrar una factura emitida.
  3. Abonos y anulaciones: pruébalos de principio a fin.
  4. Modo: decide VERI*FACTU o no VERI*FACTU y confirma que el sistema lo soporta.
  5. Certificado y representación: quién envía, con qué certificado y cómo se acredita.
  6. Errores del servicio: qué hace el sistema si la AEAT rechaza un registro o no responde.
  7. Todos los canales: pedidos web, TPV, marketplaces y facturas manuales.
  8. Salida: puedes exportar tus registros y facturas si cambias de herramienta.

Con la ley actual (Real Decreto-ley 15/2025), la obligación llega el 1 de enero de 2027 para quienes tributan por el Impuesto sobre Sociedades y el 1 de julio de 2027 para autónomos y demás contribuyentes. El Ministerio de Hacienda anunció el 5 de octubre de 2026 que quiere aplazar las obligaciones pendientes a octubre de 2028, pero a 31 de octubre de 2026 el cambio no está publicado en el BOE. Elegir y probar una solución lleva meses: trata 2028 como un posible respiro y no como algo seguro. El detalle, con las fuentes, está en la guía de factura electrónica en España.

GoodVat mantiene los registros de facturación conforme a las reglas de Verifactu como parte de su facturación electrónica, y los desarrolladores se conectan por API. La documentación explica cómo obtener una clave y autenticar tus peticiones desde el servidor, y la referencia de la API recoge las llamadas disponibles (en inglés). Si no quieres construir nada, cuéntanos tu plataforma y te decimos cómo encajaría.

La Agencia Tributaria publica servicios web (SOAP, con sus WSDL y esquemas XSD) a los que tu software envía los registros de facturación en el modo VERI*FACTU, además de un entorno de pruebas. No es una API REST para emitir facturas: construir los registros, la huella y el QR corre por tu cuenta o por la de tu proveedor de software.

No des por hecho que sí. Verifactu exige que el sistema que emite la factura genere el registro encadenado, el QR y la declaración responsable de su productor. Si emites facturas desde Stripe, comprueba en su documentación y por escrito si cubre esos requisitos en tu caso. Si no los cubre, emite la factura con un software adaptado y usa Stripe solo para cobrar.

¿Hay un plugin de Verifactu para WooCommerce, PrestaShop o Shopify?

Sección titulada «¿Hay un plugin de Verifactu para WooCommerce, PrestaShop o Shopify?»

Hay plugins y apps de distintos fabricantes. Antes de instalar uno, pide su declaración responsable, comprueba que genera la huella, el QR y la leyenda en cada factura y que cubre abonos y anulaciones. Un módulo que altera la generación o el envío de los registros necesita su propia declaración responsable.

¿Qué es un registro de alta y un registro de anulación?

Sección titulada «¿Qué es un registro de alta y un registro de anulación?»

Cada factura que emites genera un registro de alta con sus datos y su huella. Si una factura se generó por error, no se borra: se añade un registro de anulación que la deja sin efecto. Ambos quedan encadenados en la misma secuencia.

¿Quién firma la declaración responsable si uso un plugin o una API?

Sección titulada «¿Quién firma la declaración responsable si uso un plugin o una API?»

La firma el productor de cada componente que afecta a la generación, el registro o el envío de los registros de facturación. Si desarrollas tu propia integración para uso interno, tú eres el productor y debes emitirla. No se presenta ante la AEAT, pero tienes que conservarla y ponerla a disposición de la Agencia si te la pide.

¿Puedo enviar los registros a la AEAT con el certificado de mi proveedor?

Sección titulada «¿Puedo enviar los registros a la AEAT con el certificado de mi proveedor?»

Sí, si es tu representante, tu apoderado o tu colaborador social. La AEAT admite el envío por terceros con su propio certificado cualificado, siempre que el apoderamiento o la representación estén acreditados. Si no, necesitas un certificado electrónico propio.

Con la ley actual, el 1 de enero de 2027 para sociedades y el 1 de julio de 2027 para autónomos y demás contribuyentes. El Gobierno ha propuesto aplazar ambas a octubre de 2028, pero a 31 de octubre de 2026 no está publicado en el BOE. Planifica con 2027.