Documentación de la API SII

  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).

Other

GET /sii/health

Estado API

Devuelve el estado de la API key: sirve para comprobar que la API está activa y a qué NIF, entorno y hacienda corresponde.

Responses

StatusDescription
200Estado de la API
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.

GET /sii/status

Estado registro

Devuelve el estado de un registro (alta, modificación o anulación) a partir del <code>uuid</code> que devolvió su creación.

Responses

StatusDescription
200Estado del registro
400Falta el uuid.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.
404No existe un registro con ese uuid para este NIF.

POST /sii/create

Crear factura nueva

Crea el registro de alta (A0) de una factura emitida en el libro registro de facturas expedidas.

Request body

FieldTypeRequiredDescription
ejerciciostringyesEjercicio del periodo de liquidación en el que se declara la factura (4 cifras).
periodostringyesPeriodo de liquidación: un mes (01 a 12) o, para quien liquida por trimestres, un trimestre (1T a 4T).
seriestringyesSerie de la factura. Puede ser vacía.
numerostringyesNúmero de la factura.
numero_finstringnoSolo en asientos resumen (F4), y obligatorio en ellos: número de la última factura del rango, de la misma serie.
fecha_expedicionstringyesFecha de expedición. No puede ser posterior a hoy ni anterior a hace 20 años.
tipo_facturastringyesTipo 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_rectificativastringnoObligatorio en las rectificativas (R1 a R5), y solo en ellas: S por sustitución, I por diferencias.
facturas_rectificadasarraynoFacturas que se rectifican.
facturas_sustituidasarraynoFacturas simplificadas que sustituye esta factura.
importe_rectificativaobjectnoImportes de la factura rectificada.
fecha_operacionstringnoFecha de la operación, si es distinta de la de expedición.
clave_regimenarrayyesClaves de régimen especial o trascendencia de la factura, de 1 a 3: la primera es la principal.
importe_totalstringnoImporte total de la factura.
base_imponible_a_costestringnoBase imponible a coste.
descripcionstringyesDescripción de la operación (hasta 500 caracteres).
importe_transmision_inmuebles_sujeto_ivastringnoImporte de la transmisión de inmuebles sujeta a IVA.
inmueblesarraynoInmuebles arrendados, de 1 a 15.
nombrestringnoNombre o razón social de la contraparte.
nifstringnoNIF español de la contraparte.
id_otroobjectnoIdentificación de una contraparte sin NIF español.
nif_representantestringnoNIF del representante de la contraparte, si lo tiene.
validar_destinatariobooleannoSi 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.
especialobjectnoIndicadores de casos especiales.
desgloseobjectyesDesglose de la factura, con la estructura del SII.

Responses

StatusDescription
200Factura válida y en cola
400Error en los datos de la petición.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.
500Error de servidor. El registro no se genera; reintenta más tarde.

POST /sii/create_bulk

Crear facturas en lote

Mediante este endpoint se crean hasta 500 registros de alta (A0) en una sola llamada.

Responses

StatusDescription
200Facturas válidas y en cola
400Error 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.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.
500Error de servidor. El registro no se genera; reintenta más tarde.

PUT /sii/modify

Modificar factura

Crea un registro de modificación (A1), que sustituye entero el registro que la AEAT tiene de la factura.

Request body

FieldTypeRequiredDescription
ejerciciostringyesEjercicio del periodo de liquidación en el que se declara la factura (4 cifras).
periodostringyesPeriodo de liquidación: un mes (01 a 12) o, para quien liquida por trimestres, un trimestre (1T a 4T).
seriestringyesSerie de la factura. Puede ser vacía.
numerostringyesNúmero de la factura.
numero_finstringnoSolo en asientos resumen (F4), y obligatorio en ellos: número de la última factura del rango, de la misma serie.
fecha_expedicionstringyesFecha de expedición. No puede ser posterior a hoy ni anterior a hace 20 años.
tipo_facturastringyesTipo 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_rectificativastringnoObligatorio en las rectificativas (R1 a R5), y solo en ellas: S por sustitución, I por diferencias.
facturas_rectificadasarraynoFacturas que se rectifican.
facturas_sustituidasarraynoFacturas simplificadas que sustituye esta factura.
importe_rectificativaobjectnoImportes de la factura rectificada.
fecha_operacionstringnoFecha de la operación, si es distinta de la de expedición.
clave_regimenarrayyesClaves de régimen especial o trascendencia de la factura, de 1 a 3: la primera es la principal.
importe_totalstringnoImporte total de la factura.
base_imponible_a_costestringnoBase imponible a coste.
descripcionstringyesDescripción de la operación (hasta 500 caracteres).
importe_transmision_inmuebles_sujeto_ivastringnoImporte de la transmisión de inmuebles sujeta a IVA.
inmueblesarraynoInmuebles arrendados, de 1 a 15.
nombrestringnoNombre o razón social de la contraparte.
nifstringnoNIF español de la contraparte.
id_otroobjectnoIdentificación de una contraparte sin NIF español.
nif_representantestringnoNIF del representante de la contraparte, si lo tiene.
validar_destinatariobooleannoSi 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.
especialobjectnoIndicadores de casos especiales.
desgloseobjectyesDesglose de la factura, con la estructura del SII.

Responses

StatusDescription
200Modificación válida y en cola
400Error en los datos de la petición.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.
500Error de servidor. El registro no se genera; reintenta más tarde.

POST /sii/cancel

Anular factura

Anula una factura que la AEAT tiene registrada, mediante un registro de baja del SII.

Request body

FieldTypeRequiredDescription
ejerciciostringyesEjercicio del periodo de liquidación del alta (o de la última modificación).
periodostringyesPeriodo de liquidación del alta (o de la última modificación).
seriestringyesSerie de la factura. Puede ser vacía.
numerostringyesNúmero de la factura.
fecha_expedicionstringyesFecha de expedición de la factura.

Responses

StatusDescription
200Anulación válida y en cola
400Error en los datos de la petición.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.
500Error de servidor. El registro no se genera; reintenta más tarde.

POST /sii/list

Listar 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.

Request body

FieldTypeRequiredDescription
ejerciciostringyesEjercicio del periodo de liquidación en el que se declara la factura (4 cifras).
periodostringyesPeriodo de liquidación: 01 a 12 o 1T a 4T.
tokenstringnoToken de la página anterior, para pedir la siguiente.

Responses

StatusDescription
200Facturas del periodo
400Error en los datos de la petición.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.
502La consulta a la AEAT no se ha podido completar.

POST /sii/export

Exportar 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>).

Request body

FieldTypeRequiredDescription
ejerciciostringyesAño de presentación.
periodostringyesMes de presentación, de 1 a 12.
tokenstringnoToken de la página anterior.

Responses

StatusDescription
200URLs de descarga
400Faltan ejercicio o periodo, o el periodo no es un mes.
401API key ausente o no válida.
403El NIF asociado a la API key está desactivado.