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.
GET /verifactu/healthEstado API
Este endpoint devuelve el estado de la API key.
| Status | Description |
|---|---|
200 | Estado de la API |
GET /verifactu/statusEstado registro
Este endpoint permite conocer el estado actual de un registro de facturación efectuado anteriormente.
| Status | Description |
|---|---|
200 | Estado registro |
404 | Registro no encontrado |
500 | Error de servidor |
POST /verifactu/statusEstado factura
Este endpoint permite consultar el estado de una factura en el sistema de la AEAT.
| Field | Type | Required | Description |
|---|---|---|---|
serie | string | yes | Serie de la factura. |
numero | string | yes | Número de la factura. |
fecha_expedicion | string | yes | Fecha de emisión de la factura. |
fecha_operacion | string | no | Fecha de operación de la factura. |
| Status | Description |
|---|---|
200 | Estado factura |
500 | Error de servidor |
POST /verifactu/createCrear factura nueva
Mediante este endpoint se crea un registro de facturación nuevo.
| Field | Type | Required | Description |
|---|---|---|---|
serie | string | yes | Serie de la factura. Si no se quiere incluir una serie, se puede enviar una string vacía. |
numero | string | yes | Número de la factura. |
fecha_expedicion | string | yes | Fecha de emisión de la factura que <span style="color: red">debe ser la fecha actual</span>. |
fecha_operacion | string | no | Fecha de la operación. |
tipo_factura | string | yes | Los diferentes tipos de factura son: <ol style="list-style: disc;"> <li>F1: Factura (Art. |
descripcion | string | yes | Descripcion de la operacion. |
lineas | array | yes | Líneas de la factura. |
importe_total | string | yes | Importe total de la factura. |
nif | string | no | NIF del cliente al que se le emite la factura. |
id_otro | object | no | Identificador de persona física o jurídica distinto del NIF. |
nombre | string | no | Nombre y apellidos o razón social del cliente al que se le emite la factura. |
validar_destinatario | boolean | no | Si 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_rectificativa | string | no | Requerido y permitido únicamente para facturas rectificativas (R1, R2, R3, R4, R5). |
importe_rectificativa | object | no | Requerido y permitido únicamente si `tipo_rectificativa` es igual a `S`. |
facturas_rectificadas | array | no | Facturas rectificadas. |
facturas_sustituidas | array | no | Facturas sustituidas. |
incidencia | string | no | Indicador de incidencia. |
especial | object | no | Se recogen datos adicionales para facturas. |
| Status | Description |
|---|---|
200 | Registro de facturación creado. |
400 | Error en los datos de la petición. |
409 | Otra petición con la misma Idempotency-Key se está procesando. |
422 | Idempotency-Key reutilizada con un payload distinto. |
500 | Error de servidor |
POST /verifactu/create_bulkCrear facturas en lote
Mediante este endpoint se crean hasta 50 registros de facturación nuevos.
| Status | Description |
|---|---|
200 | Registros de facturación creados. |
400 | Error en los datos de la petición. |
500 | Error de servidor |
PUT /verifactu/modifySubsanar 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).
| Field | Type | Required | Description |
|---|---|---|---|
serie | string | yes | Serie de la factura. Si no se quiere incluir una serie, se puede enviar una string vacía. |
numero | string | yes | Número de la factura. |
fecha_expedicion | string | yes | Fecha de emisión de la factura. |
rechazo_previo | string | no | Este campo sirve para indicar si la factura que se quiere subsanar fue rechazada previamente por la AEAT. |
tipo_factura | string | yes | Los diferentes tipos de factura son: <ol style="list-style: disc;"> <li>F1: Factura (Art. |
descripcion | string | yes | Descripcion de la operacion. |
lineas | array | yes | Líneas de la factura. |
importe_total | string | yes | Importe total de la factura. |
fecha_operacion | string | no | Fecha de la operación. |
nif | string | no | NIF del cliente al que se le emite la factura. |
id_otro | object | no | Identificador de persona física o jurídica distinto del NIF. |
nombre | string | no | Nombre y apellidos o razón social del cliente al que se le emite la factura. |
validar_destinatario | boolean | no | Si 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_rectificativa | string | no | Requerido y permitido únicamente para facturas rectificativas (R1, R2, R3, R4, R5). |
importe_rectificativa | object | no | Requerido y permitido únicamente si `tipo_rectificativa` es igual a `S`. |
facturas_rectificadas | array | no | Facturas rectificadas. |
facturas_sustituidas | array | no | Facturas sustituidas. |
incidencia | string | no | Indicador de incidencia. |
especial | object | no | Se recogen datos adicionales para facturas. |
| Status | Description |
|---|---|
200 | Registro de facturación creado. |
400 | Error en los datos de la petición. |
500 | Error de servidor |
POST /verifactu/cancelAnular factura
Este endpoint permite anular facturas existentes.
| Field | Type | Required | Description |
|---|---|---|---|
serie | string | yes | Serie de la factura. Si no se quiere incluir una serie, se puede enviar una string vacía. |
numero | string | yes | Número de la factura. |
fecha_expedicion | string | yes | Fecha de emisión de la factura. |
rechazo_previo | string | no | Este campo sirve para indicar si la factura que se quiere anular fue rechazada previamente por la AEAT. |
sin_registro_previo | string | no | Este campo sirve para indicar si la factura que se quiere anular existe en la AEAT. |
incidencia | string | no | Indicador de incidencia. |
| Status | Description |
|---|---|
200 | Factura anulada |
500 | Error de servidor |
POST /verifactu/listListar facturas
Mediante este endpoint se pueden consultar todas las facturas presentadas en la AEAT.
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Ejercicio de la fecha de operación o en su defecto de la fecha de expedición. |
periodo | string | yes | Periodo de la fecha de operación o en su defecto de la fecha de expedición. |
serie | string | no | Serie de la factura. Obligatorio si se incluye `numero`. |
numero | string | no | Número de la factura. |
rango_fecha_expedicion | object | no | Rango de fechas de expedición de las facturas que se desean consultar. |
fecha_expedicion | string | no | Fecha de expedición de las facturas que se desean consultar. |
paginacion | object | no | En 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. |
| Status | Description |
|---|---|
200 | Listado facturas |
POST /verifactu/exportExportar XMLs
Este endpoint permite exportar los ficheros XML en lotes, tanto de petición como de respuesta, de las facturas presentadas en la AEAT.
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Ejercicio de la fecha en que se generó el registro de facturación. |
periodo | string | yes | Período de la fecha en que se generó el registro de facturación. |
token | string | no | Token de paginación. |
| Status | Description |
|---|---|
200 | Listado de ficheros XML. |
POST /verifactu/downloadXMLDescargar XML
Mediante este endpoint se pueden descargar los ficheros XML de las facturas presentadas en la AEAT.
| Field | Type | Required | Description |
|---|---|---|---|
serie | string | yes | Serie de la factura. |
numero | string | yes | Número de la factura. |
| Status | Description |
|---|---|
200 | Ficheros XML |
500 | Error de servidor |
GET /verifactu/declaracionDeclaración responsable
Mediante este endpoint se puede obtener la declaración responsable de Verifacti.
| Status | Description |
|---|---|
200 | Declaración responsable |