Documentación de la API Verifactu

  Aquí encontrarás la documentación técnica de nuestra API para enviar facturas a la Agencia Estatal de Administración Tributaria (AEAT) de acuerdo al sistema Verifactu.

Other

GET /verifactu/health

Estado API

Este endpoint devuelve el estado de la API key.

Responses

StatusDescription
200Estado de la API

GET /verifactu/status

Estado registro

Este endpoint permite conocer el estado actual de un registro de facturación efectuado anteriormente.

Responses

StatusDescription
200Estado registro
404Registro no encontrado
500Error de servidor

POST /verifactu/status

Estado factura

Este endpoint permite consultar el estado de una factura en el sistema de la AEAT.

Request body

FieldTypeRequiredDescription
seriestringyesSerie de la factura.
numerostringyesNúmero de la factura.
fecha_expedicionstringyesFecha de emisión de la factura.
fecha_operacionstringnoFecha de operación de la factura.

Responses

StatusDescription
200Estado factura
500Error de servidor

POST /verifactu/create

Crear factura nueva

Mediante este endpoint se crea un registro de facturación nuevo.

Request body

FieldTypeRequiredDescription
seriestringyesSerie de la factura. Si no se quiere incluir una serie, se puede enviar una string vacía.
numerostringyesNúmero de la factura.
fecha_expedicionstringyesFecha de emisión de la factura que <span style="color: red">debe ser la fecha actual</span>.
fecha_operacionstringnoFecha de la operación.
tipo_facturastringyesLos diferentes tipos de factura son: <ol style="list-style: disc;"> <li>F1: Factura (Art.
descripcionstringyesDescripcion de la operacion.
lineasarrayyesLíneas de la factura.
importe_totalstringyesImporte total de la factura.
nifstringnoNIF del cliente al que se le emite la factura.
id_otroobjectnoIdentificador de persona física o jurídica distinto del NIF.
nombrestringnoNombre y apellidos o razón social del cliente al que se le emite la factura.
validar_destinatariobooleannoSi se incluye el campo `nif` validamos por defecto que está censado en la AEAT ya que si no lo está, la AEAT rechazará el envío.
tipo_rectificativastringnoRequerido y permitido únicamente para facturas rectificativas (R1, R2, R3, R4, R5).
importe_rectificativaobjectnoRequerido y permitido únicamente si `tipo_rectificativa` es igual a `S`.
facturas_rectificadasarraynoFacturas rectificadas.
facturas_sustituidasarraynoFacturas sustituidas.
incidenciastringnoIndicador de incidencia.
especialobjectnoSe recogen datos adicionales para facturas.

Responses

StatusDescription
200Registro de facturación creado.
400Error en los datos de la petición.
409Otra petición con la misma Idempotency-Key se está procesando.
422Idempotency-Key reutilizada con un payload distinto.
500Error de servidor

POST /verifactu/create_bulk

Crear facturas en lote

Mediante este endpoint se crean hasta 50 registros de facturación nuevos.

Responses

StatusDescription
200Registros de facturación creados.
400Error en los datos de la petición.
500Error de servidor

PUT /verifactu/modify

Subsanar factura

Mediante este endpoint se puede enviar un registro de facturación para modificar o subsanar una factura existentes cuando no se exige la emisión de una factura rectificativa (u otro mecanismo contemplado en el Reglamento de Facturación).

Request body

FieldTypeRequiredDescription
seriestringyesSerie de la factura. Si no se quiere incluir una serie, se puede enviar una string vacía.
numerostringyesNúmero de la factura.
fecha_expedicionstringyesFecha de emisión de la factura.
rechazo_previostringnoEste campo sirve para indicar si la factura que se quiere subsanar fue rechazada previamente por la AEAT.
tipo_facturastringyesLos diferentes tipos de factura son: <ol style="list-style: disc;"> <li>F1: Factura (Art.
descripcionstringyesDescripcion de la operacion.
lineasarrayyesLíneas de la factura.
importe_totalstringyesImporte total de la factura.
fecha_operacionstringnoFecha de la operación.
nifstringnoNIF del cliente al que se le emite la factura.
id_otroobjectnoIdentificador de persona física o jurídica distinto del NIF.
nombrestringnoNombre y apellidos o razón social del cliente al que se le emite la factura.
validar_destinatariobooleannoSi se incluye el campo `nif` validamos por defecto que está censado en la AEAT ya que si no lo está, la AEAT rechazará el envío.
tipo_rectificativastringnoRequerido y permitido únicamente para facturas rectificativas (R1, R2, R3, R4, R5).
importe_rectificativaobjectnoRequerido y permitido únicamente si `tipo_rectificativa` es igual a `S`.
facturas_rectificadasarraynoFacturas rectificadas.
facturas_sustituidasarraynoFacturas sustituidas.
incidenciastringnoIndicador de incidencia.
especialobjectnoSe recogen datos adicionales para facturas.

Responses

StatusDescription
200Registro de facturación creado.
400Error en los datos de la petición.
500Error de servidor

POST /verifactu/cancel

Anular factura

Este endpoint permite anular facturas existentes.

Request body

FieldTypeRequiredDescription
seriestringyesSerie de la factura. Si no se quiere incluir una serie, se puede enviar una string vacía.
numerostringyesNúmero de la factura.
fecha_expedicionstringyesFecha de emisión de la factura.
rechazo_previostringnoEste campo sirve para indicar si la factura que se quiere anular fue rechazada previamente por la AEAT.
sin_registro_previostringnoEste campo sirve para indicar si la factura que se quiere anular existe en la AEAT.
incidenciastringnoIndicador de incidencia.

Responses

StatusDescription
200Factura anulada
500Error de servidor

POST /verifactu/list

Listar facturas

Mediante este endpoint se pueden consultar todas las facturas presentadas en la AEAT.

Request body

FieldTypeRequiredDescription
ejerciciostringyesEjercicio de la fecha de operación o en su defecto de la fecha de expedición.
periodostringyesPeriodo de la fecha de operación o en su defecto de la fecha de expedición.
seriestringnoSerie de la factura. Obligatorio si se incluye `numero`.
numerostringnoNúmero de la factura.
rango_fecha_expedicionobjectnoRango de fechas de expedición de las facturas que se desean consultar.
fecha_expedicionstringnoFecha de expedición de las facturas que se desean consultar.
paginacionobjectnoEn caso de que la cantidad de facturas a consultar supere los 10.000 registros, se deberán incluir los datos de la última factura consultada para obtener la siguiente página.

Responses

StatusDescription
200Listado facturas

POST /verifactu/export

Exportar XMLs

Este endpoint permite exportar los ficheros XML en lotes, tanto de petición como de respuesta, de las facturas presentadas en la AEAT.

Request body

FieldTypeRequiredDescription
ejerciciostringyesEjercicio de la fecha en que se generó el registro de facturación.
periodostringyesPeríodo de la fecha en que se generó el registro de facturación.
tokenstringnoToken de paginación.

Responses

StatusDescription
200Listado de ficheros XML.

POST /verifactu/downloadXML

Descargar XML

Mediante este endpoint se pueden descargar los ficheros XML de las facturas presentadas en la AEAT.

Request body

FieldTypeRequiredDescription
seriestringyesSerie de la factura.
numerostringyesNúmero de la factura.

Responses

StatusDescription
200Ficheros XML
500Error de servidor

GET /verifactu/declaracion

Declaración responsable

Mediante este endpoint se puede obtener la declaración responsable de Verifacti.

Responses

StatusDescription
200Declaración responsable