Aquí encontrarás la documentación técnica de nuestra API para enviar a la Agencia Estatal de Administración Tributaria (AEAT) el libro registro de facturas expedidas de acuerdo al Suministro Inmediato de Información (SII).
GET /sii/healthEstado API
Devuelve el estado de la API key: sirve para comprobar que la API está activa y a qué NIF, entorno y hacienda corresponde.
| Status | Description |
|---|---|
200 | Estado de la API |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
GET /sii/statusEstado registro
Devuelve el estado de un registro (alta, modificación o anulación) a partir del <code>uuid</code> que devolvió su creación.
| Status | Description |
|---|---|
200 | Estado del registro |
400 | Falta el uuid. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
404 | No existe un registro con ese uuid para este NIF. |
POST /sii/createCrear factura nueva
Crea el registro de alta (A0) de una factura emitida en el libro registro de facturas expedidas.
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Ejercicio del periodo de liquidación en el que se declara la factura (4 cifras). |
periodo | string | yes | Periodo de liquidación: un mes (01 a 12) o, para quien liquida por trimestres, un trimestre (1T a 4T). |
serie | string | yes | Serie de la factura. Puede ser vacía. |
numero | string | yes | Número de la factura. |
numero_fin | string | no | Solo en asientos resumen (F4), y obligatorio en ellos: número de la última factura del rango, de la misma serie. |
fecha_expedicion | string | yes | Fecha de expedición. No puede ser posterior a hoy ni anterior a hace 20 años. |
tipo_factura | string | yes | Tipo de factura:<ul style="list-style: disc;"><li>F1: factura completa</li><li>F2: factura simplificada</li><li>F3: factura emitida en sustitución de facturas simplificadas</li><li>F4: asiento resumen de facturas</li><li>R1: rectificativa (error fundado en derecho y art. |
tipo_rectificativa | string | no | Obligatorio en las rectificativas (R1 a R5), y solo en ellas: S por sustitución, I por diferencias. |
facturas_rectificadas | array | no | Facturas que se rectifican. |
facturas_sustituidas | array | no | Facturas simplificadas que sustituye esta factura. |
importe_rectificativa | object | no | Importes de la factura rectificada. |
fecha_operacion | string | no | Fecha de la operación, si es distinta de la de expedición. |
clave_regimen | array | yes | Claves de régimen especial o trascendencia de la factura, de 1 a 3: la primera es la principal. |
importe_total | string | no | Importe total de la factura. |
base_imponible_a_coste | string | no | Base imponible a coste. |
descripcion | string | yes | Descripción de la operación (hasta 500 caracteres). |
importe_transmision_inmuebles_sujeto_iva | string | no | Importe de la transmisión de inmuebles sujeta a IVA. |
inmuebles | array | no | Inmuebles arrendados, de 1 a 15. |
nombre | string | no | Nombre o razón social de la contraparte. |
nif | string | no | NIF español de la contraparte. |
id_otro | object | no | Identificación de una contraparte sin NIF español. |
nif_representante | string | no | NIF del representante de la contraparte, si lo tiene. |
validar_destinatario | boolean | no | Si se incluye <code>nif</code>, validamos por defecto que la contraparte está censada en la AEAT, y con <code>id_otro</code> de tipo 02 que el NIF-IVA está en el censo VIES, porque si no la AEAT rechaza la factura. |
especial | object | no | Indicadores de casos especiales. |
desglose | object | yes | Desglose de la factura, con la estructura del SII. |
| Status | Description |
|---|---|
200 | Factura válida y en cola |
400 | Error en los datos de la petición. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
500 | Error de servidor. El registro no se genera; reintenta más tarde. |
POST /sii/create_bulkCrear facturas en lote
Mediante este endpoint se crean hasta 500 registros de alta (A0) en una sola llamada.
| Status | Description |
|---|---|
200 | Facturas válidas y en cola |
400 | Error en los datos de la petición: el body no es un array, tiene más de 500 facturas o alguna factura tiene un error. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
500 | Error de servidor. El registro no se genera; reintenta más tarde. |
PUT /sii/modifyModificar factura
Crea un registro de modificación (A1), que sustituye entero el registro que la AEAT tiene de la factura.
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Ejercicio del periodo de liquidación en el que se declara la factura (4 cifras). |
periodo | string | yes | Periodo de liquidación: un mes (01 a 12) o, para quien liquida por trimestres, un trimestre (1T a 4T). |
serie | string | yes | Serie de la factura. Puede ser vacía. |
numero | string | yes | Número de la factura. |
numero_fin | string | no | Solo en asientos resumen (F4), y obligatorio en ellos: número de la última factura del rango, de la misma serie. |
fecha_expedicion | string | yes | Fecha de expedición. No puede ser posterior a hoy ni anterior a hace 20 años. |
tipo_factura | string | yes | Tipo de factura:<ul style="list-style: disc;"><li>F1: factura completa</li><li>F2: factura simplificada</li><li>F3: factura emitida en sustitución de facturas simplificadas</li><li>F4: asiento resumen de facturas</li><li>R1: rectificativa (error fundado en derecho y art. |
tipo_rectificativa | string | no | Obligatorio en las rectificativas (R1 a R5), y solo en ellas: S por sustitución, I por diferencias. |
facturas_rectificadas | array | no | Facturas que se rectifican. |
facturas_sustituidas | array | no | Facturas simplificadas que sustituye esta factura. |
importe_rectificativa | object | no | Importes de la factura rectificada. |
fecha_operacion | string | no | Fecha de la operación, si es distinta de la de expedición. |
clave_regimen | array | yes | Claves de régimen especial o trascendencia de la factura, de 1 a 3: la primera es la principal. |
importe_total | string | no | Importe total de la factura. |
base_imponible_a_coste | string | no | Base imponible a coste. |
descripcion | string | yes | Descripción de la operación (hasta 500 caracteres). |
importe_transmision_inmuebles_sujeto_iva | string | no | Importe de la transmisión de inmuebles sujeta a IVA. |
inmuebles | array | no | Inmuebles arrendados, de 1 a 15. |
nombre | string | no | Nombre o razón social de la contraparte. |
nif | string | no | NIF español de la contraparte. |
id_otro | object | no | Identificación de una contraparte sin NIF español. |
nif_representante | string | no | NIF del representante de la contraparte, si lo tiene. |
validar_destinatario | boolean | no | Si se incluye <code>nif</code>, validamos por defecto que la contraparte está censada en la AEAT, y con <code>id_otro</code> de tipo 02 que el NIF-IVA está en el censo VIES, porque si no la AEAT rechaza la factura. |
especial | object | no | Indicadores de casos especiales. |
desglose | object | yes | Desglose de la factura, con la estructura del SII. |
| Status | Description |
|---|---|
200 | Modificación válida y en cola |
400 | Error en los datos de la petición. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
500 | Error de servidor. El registro no se genera; reintenta más tarde. |
POST /sii/cancelAnular factura
Anula una factura que la AEAT tiene registrada, mediante un registro de baja del SII.
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Ejercicio del periodo de liquidación del alta (o de la última modificación). |
periodo | string | yes | Periodo de liquidación del alta (o de la última modificación). |
serie | string | yes | Serie de la factura. Puede ser vacía. |
numero | string | yes | Número de la factura. |
fecha_expedicion | string | yes | Fecha de expedición de la factura. |
| Status | Description |
|---|---|
200 | Anulación válida y en cola |
400 | Error en los datos de la petición. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
500 | Error de servidor. El registro no se genera; reintenta más tarde. |
POST /sii/listListar facturas
Consulta a la AEAT las facturas del libro de un periodo de liquidación y devuelve las que se enviaron desde este NIF de Verifacti.
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Ejercicio del periodo de liquidación en el que se declara la factura (4 cifras). |
periodo | string | yes | Periodo de liquidación: 01 a 12 o 1T a 4T. |
token | string | no | Token de la página anterior, para pedir la siguiente. |
| Status | Description |
|---|---|
200 | Facturas del periodo |
400 | Error en los datos de la petición. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |
502 | La consulta a la AEAT no se ha podido completar. |
POST /sii/exportExportar XMLs
Devuelve URLs firmadas para descargar los XML enviados a la AEAT en un mes de presentación (cada envío con su respuesta, <code>_req.xml</code> y <code>_res.xml</code>).
| Field | Type | Required | Description |
|---|---|---|---|
ejercicio | string | yes | Año de presentación. |
periodo | string | yes | Mes de presentación, de 1 a 12. |
token | string | no | Token de la página anterior. |
| Status | Description |
|---|---|
200 | URLs de descarga |
400 | Faltan ejercicio o periodo, o el periodo no es un mes. |
401 | API key ausente o no válida. |
403 | El NIF asociado a la API key está desactivado. |