Enviar registro de facturación
Generación de un nuevo registro de facturación.
curl --request POST \
--url https://api.kubifactu.com/api/invoicing/invoices \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'X-Qbikode-ClientApiKey: <api-key>' \
--data '{
"sif_id": "9db0bca1-187e-4cf4-b87c-96f2044008d7",
"certificate_password": "passwd",
"sender_data": {
"sender_full_name": "<string>",
"sender_id_card_number": "<string>"
},
"recipients": [
{
"full_name": "<string>",
"tax_id_number": "<string>",
"other_id_country_code": "<string>",
"other_id_type": "02",
"other_id_card_id": "<string>"
}
],
"invoice_data": {
"invoice_type_key": "F1",
"fiscal_year": 2025,
"series_code": "2025",
"invoice_number": "00021",
"invoice_datetime": "2025-02-26 12:35:44",
"operation_date": "2025-02-26",
"description": "<string>",
"representative_company_name": "<string>",
"representative_tax_id_number": "<string>",
"correction_key": "N",
"is_simplified": false,
"without_recipient_identification_key": "S",
"macrodata_key": "S",
"coupon_key": "N",
"invoicing_agreement_registration_number": "<string>",
"sif_agreement_id": "<string>",
"issued_by_third_party_or_recipient_key": "T",
"third_party_data": {
"company_name": "<string>",
"tax_id_number": "<string>",
"other_country_code": "<string>",
"other_tax_id_type_key": "02",
"other_tax_id_number": "<string>"
},
"rectificative_type_code": "S",
"rectified_base_amount": 2500.55,
"rectified_quota": 42.3,
"rectified_equalization_tax_quota": 5.2,
"replaced_rectified_invoices": [
{
"tax_id_number": "<string>",
"full_invoice_number": "<string>",
"issue_date": "2025-02-26"
}
],
"substituted_invoices": [
{
"tax_id_number": "<string>",
"full_invoice_number": "<string>",
"issue_date": "2025-02-26"
}
],
"lines": [
{
"tax_type_key": "01",
"vat_tax_regime_key": "01",
"igic_tax_regime_key": "01",
"operation_type_key": "S1",
"exemption_cause_key": "E1",
"tax_base": 200,
"tax_base_at_cost": 123,
"tax_rate": 21,
"tax_quota": 42,
"equalization_tax_rate": 5.2,
"equalization_tax_quota": 10.4
}
],
"total_quota": 123,
"total_amount": 123
}
}'
{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"request_id": "2cc8ef846029ec69613711ad1d85f6dfebf16ffb",
"full_invoice_number": "<string>",
"fingerprint": "<string>",
"vf_post_status": "success",
"vf_record_registration_status": "success",
"has_warnings": false,
"vf_error_descriptions": "<string>",
"qr_value": "<string>",
"qr_image": "aSDinaTvuI8gbWludGxpZnk="
}
}
Authorizations
API-KEY de la empresa que hace la petición. Este dato se puede consultar en el panel web, accediendo a la sección Empresas y accediendo a la ficha de la empresa en cuestión.
Headers
Identificador único de la solicitud
application/json
Body
ID del SIF que se quiere utilizar para el envío de la factura. Los SIFs se pueden registrar en el panel web de KubiFACTU.
Un SIF puede procesar registros de facturación de diferentes empresas.
Una empresa puede tener uno o varios SIFs. Por ejemplo, una empresa con varias tiendas puede operar con un SIF por cada establecimiento, de forma que el encadenamiento/trazabilidad de las facturas se trate por separado.
Contraseña del certificado de la empresa emisora de la factura. No almacenamos esta contraseña en nuestro servidor, pero es necesario para firmar la comunicación con la AEAT.
Datos del registro de facturación.
Especificación del tipo de factura: factura completa, factura simplificada, factura emitida en sustitución de facturas simplificadas o factura rectificativa.
F1
: Factura (art. 6, 7.2 y 7.3 del RD 1619/2012).F2
: Factura Simplificada y Facturas sin identificación del destinatario art. 6.1.d) RD 1619/2012.F3
: Factura emitida en sustitución de facturas simplificadas facturadas y declaradas.R1
: Factura Rectificativa (Error fundado en derecho y Art. 80 Uno Dos y Seis LIVA)R2
: Factura Rectificativa (Art. 80.3)R3
: Factura Rectificativa (Art. 80.4)R4
: Factura Rectificativa (Resto)R5
: Factura Rectificativa en facturas simplificadas
F1
, F2
, F3
, R1
, R2
, R3
, R4
, R5
Ejercicio fiscal en el que se emite la factura. Aunque este dato no se envía a la AEAT, se utiliza junto con el sif_id
para verificar que no se están duplicando los números de factura.
Serie de la factura emitida. Sólo puedo contener caracteres ASCII del 32 a 126 (caracteres imprimibles).
Ejemplo: 2025
.
Nº Factura que identifica a la factura emitida. Sólo puedo contener caracteres ASCII del 32 a 126 (caracteres imprimibles).
Ejemplo: 00021
.
Fecha de expedición de la factura en formato yyyy-mm-dd hh:mm:ss
. Ejemplo: 2025-02-26 12:35:44
.
La fecha de expedición de la factura (el día) debe coincidir con la fecha en la que la factura nos es remitida (lo cual supone la creación del registro de facturación).
Descripción del objeto de la factura.
Desglose de la factura con la lista de los conceptos facturados.
Impuesto de aplicación. Los valores posibles son:
01
: Impuesto sobre el Valor Añadido (IVA).02
: Impuesto sobre la Producción, los Servicios y la Importación (IPSI) de Ceuta y Melilla.03
: Impuesto General Indirecto Canario (IGIC).05
: Otros.
01
, 02
, 03
, 05
Clave que identificará el tipo de régimen del impuesto o una operación con trascendencia tributaria en el contexto del IVA. Este campo no debe incluirse se se está incluyendo igic_tax_regime_key
. Los valores posibles son:
01
: Operación de régimen general.02
: Exportación.03
: Operaciones a las que se aplique el régimen especial de bienes usados, objetos de arte, antigüedades y objetos de colección.04
: Régimen especial del oro de inversión.05
: Régimen especial de las agencias de viajes.06
: Régimen especial grupo de entidades en IVA (Nivel Avanzado).07
: Régimen especial del criterio de caja.08
: Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los Servicios y la Importación / Impuesto General Indirecto Canario).09
: Facturación de las prestaciones de servicios de agencias de viaje que actúan como mediadoras en nombre y por cuenta ajena (D.A.4ª RD1619/2012).10
: Cobros por cuenta de terceros de honorarios profesionales o de derechos derivados de la propiedad industrial, de autor u otros por cuenta de sus socios, asociados o colegiados efectuados por sociedades, asociaciones, colegios profesionales u otras entidades que realicen estas funciones de cobro.11
: Operaciones de arrendamiento de local de negocio.14
: Factura con IVA pendiente de devengo en certificaciones de obra cuyo destinatario sea una Administración Pública.15
: Factura con IVA pendiente de devengo en operaciones de tracto sucesivo.17
: Operación acogida a alguno de los regímenes previstos en el Capítulo XI del Título IX (OSS e IOSS).18
: Recargo de equivalencia.19
: Operaciones de actividades incluidas en el Régimen Especial de Agricultura, Ganadería y Pesca (REAGYP).20
: Régimen simplificado.
01
, 02
, 03
, 04
, 05
, 06
, 07
, 08
, 09
, 10
, 11
, 14
, 15
, 17
, 18
, 19
, 20
Clave que identificará el tipo de régimen del impuesto o una operación con trascendencia tributaria en el contexto del IGIC. Este campo no debe incluirse se se está incluyendo vat_tax_regime_key
. Los valores posibles son:
01
: Operación de régimen general.02
: Exportación.03
: Operaciones a las que se aplique el régimen especial de bienes usados, objetos de arte, antigüedades y objetos de colección.04
: Régimen especial del oro de inversión.05
: Régimen especial de las agencias de viajes.06
: Régimen especial grupo de entidades en IGIC (Nivel Avanzado).07
: Régimen especial del criterio de caja.08
: Operaciones sujetas al IPSI / IVA (Impuesto sobre la Producción, los Servicios y la Importación / Impuesto sobre el Valor Añadido).09
: Facturación de las prestaciones de servicios de agencias de viaje que actúan como mediadoras en nombre y por cuenta ajena (D.A.4ª RD1619/2012).10
: Cobros por cuenta de terceros de honorarios profesionales o de derechos derivados de la propiedad industrial, de autor u otros por cuenta de sus socios, asociados o colegiados efectuados por sociedades, asociaciones, colegios profesionales u otras entidades que realicen estas funciones de cobro.11
: Operaciones de arrendamiento de local de negocio.14
: Factura con IGIC pendiente de devengo en certificaciones de obra cuyo destinatario sea una Administración Pública.15
: Factura con IGIC pendiente de devengo en operaciones de tracto sucesivo.17
: Régimen especial de comerciante minorista.18
: Régimen especial del pequeño empresario o profesional.19
: Operaciones interiores exentas por aplicación artículo 25 Ley 19/1994.
01
, 02
, 03
, 04
, 05
, 06
, 07
, 08
, 09
, 10
, 11
, 14
, 15
, 17
, 18
, 19
Código que identifica el tipo de operación según su sujeción o exención tributaria. Los valores posibles son:
S1
: Operación Sujeta y No exenta - Sin inversión del sujeto pasivo.S2
: Operación Sujeta y No exenta - Con Inversión del sujeto pasivo.N1
: Operación No Sujeta artículo 7, 14, otros.N2
: Operación No Sujeta por Reglas de localización.
S1
, S2
, N1
, N2
Magnitud dineraria sobre la que se aplica el tipo impositivo/importe no sujeto.
Valor con 12 dígitos en la parte entera y 2 decimales. Ejemplo: 200.00
.
Causa de la exención. Los valores posibles son:
E1
: Exenta por el artículo 20.E2
: Exenta por el artículo 21.E3
: Exenta por el artículo 22.E4
: Exenta por los artículos 23 y 24.E5
: Exenta por el artículo 25.E6
: Exenta por otros.
E1
, E2
, E3
, E4
, E5
, E6
Magnitud dineraria sobre la que se aplica el tipo impositivo en régimen especial de grupos nivel avanzado.
Valor con 12 dígitos en la parte entera y 2 decimales. Ejemplo: 100.00
.
Porcentaje aplicado sobre la base imponible para calcular la cuota.
Valor con 3 dígitos en la parte entera y 2 decimales. Ejemplo: 21.00
.
Cuota resultante de aplicar a la base imponible el tipo impositivo.
Valor con 12 dígitos en la parte entera y 2 decimales. Ejemplo: 42.00
.
Porcentaje asociado en función del impuesto y tipo impositivo.
Valor con 3 dígitos en la parte entera y 2 decimales. Ejemplo: 5.20
.
Cuota resultante de aplicar a la base imponible el tipo de recargo de equivalencia.
Valor con 12 dígitos en la parte entera y 2 decimales. Ejemplo: 10.40
.
Importe total de la cuota (sumatorio de la cuota repercutida y cuota de recargo de equivalencia) de la factura.
Valor en céntimos con decimales. Ejemplo: Para 254.36€ el valor debería ser 25436
.
Importe total de la factura. Ʃ(tax_base
+ tax_quota
+ equalization_tax_quota
) de todas las líneas de detalle de desglose (agrupación lines
).
Valor en céntimos con decimales. Ejemplo: Para 254.36€ el valor debería ser 25436
.
Fecha en la que se ha realizado la operación, siempre que sea diferente a la fecha de expedición. Formato yyyy-mm-dd
. Ejemplo: 2025-02-26
.
Nombre/razón social del representante del obligado tributario. A rellenar solo en caso de que el registro de facturación remitido haya sido generado por un representante/asesor del obligado tributario.
NIF del representante del obligado tributario. A rellenar solo en caso de que el registro de facturación remitido haya sido generado por un representante/asesor del obligado tributario.
Indicador que especifica que se trata de una subsanación de un registro de facturación de alta previamente generado y exitente en la AEAT. El contenido de este nuevo registro de facturación es el correcto y el que deberá tenerse en cuenta. Si no se informa este campo, se entenderá que tiene valor N
(alta normal/inicial).
S
: Sí, se trata de una subsanación de un registro de facturación anterior que existe en la AEAT.N
: No, se trata de un alta normal/inicial.
S
, N
Indica si es una factura simplificada Articulo 7.2 Y 7.3 RD 1619/2012.
Si no se informa este campo se entenderá que tiene valor N
.
Sólo se podrá rellenar con true
si invoice_type_key
es F1
, F3
, R1
, R2
, R3
o R4
.
Factura sin identificación del destinatario según el artículo 6.1.d del RD 1619/2012.
Si no se informa este campo, se entenderá que tiene valor "N"
.
Sólo se podrá rellenar con "S"
si invoice_type_key
es F2
o R5
.
S
: SíN
: No
S
, N
Identificador que especifica aquellas facturas con base o importe >= |100.000.000,00| (valor absoluto).
Si no se informa este campo, se entenderá que tiene valor "N"
.
Sólo se podrá rellenar con "S"
si invoice_type_key
es F2
o R5
.
S
: SíN
: No
S
, N
Identificador que especifica si tiene minoración de la base imponible por la concesión de cupones, bonificaciones o descuentos cuando solo se expide el original de la factura.
Si no se informa este campo, se entenderá que tiene valor "N"
.
Sólo se podrá rellenar con "S"
si invoice_type_key
es R5
o R1
.
S
, N
Número de registro obtenido al enviar la autorización en materia de facturación o de libros registro a que se refiere la disposición adicional primera del Real Decreto que aprueba el Reglamento.
Identificación del acuerdo (resolución) a que se refiere el artículo 5 del Reglamento.
Identificador que especifica si la factura ha sido expedida materialmente por un tercero o por el destinatario (contraparte).
-
Si es igual a
T
(tercero), el bloquethird_party_data
será de cumplimentación obligatoria. -
Si es igual a
D
(destinatario), el bloquerecipients
será de cumplimentación obligatoria. -
T
: Tercero -
D
: Destinatario
T
, D
Información del tercero que expide la factura.
Nombre de la empresa del tercero que expide la factura.
NIF/CIF de la empresa. Este campo es obligatorio si el tercero que expide la factura es nacional y se identifica mediante CIF/NIF
Código del país en formato ISO 3166-1 alpha-2. Sólo es necesario rellenarlo si el sujeto no es nacional. El código de país debe ser ES
si other_tax_id_type_key
es 07 (no censado)
. Ejemplo: DE
Clave para identificar el tipo de documento del receptor de la factura. Los valores posibles son:
02
: NIF-IVA: Número de Identificación Fiscal para IVA.03
: Pasaporte: Documento oficial que acredita la identidad y nacionalidad del portador.04
: Documento oficial de identificación expedido por el país o territorio de residencia.05
: Certificado de residencia: Documento que acredita la residencia fiscal.06
: Otro documento probatorio: Documento adicional que sirve como prueba de identidad.07
: No censado: El receptor no está registrado en el censo fiscal.
02
, 03
, 04
, 05
, 06
, 07
Número de identificación, en el país de residencia del tercero que expide la factura. Ejemplo: L74JF44L2
para una empresa de DE
.
Campo que identifica si el tipo de factura rectificativa es por sustitución o por diferencias.
S
: Por sustitución.I
: Por diferencias.
S
, I
Base imponible rectificada.
Valor en céntimos con decimales. Ejemplo: Para 254.36€ el valor debería ser 24536
.
Cuota de impuesto rectificada.
Valor en céntimos con decimales. Ejemplo: Para 254.36€ el valor debería ser 24536
.
Cuota de recargo de equivalencia rectificada.
Valor en céntimos con decimales. Ejemplo: Para 5.2€ el valor debería ser 520
.
Lista de facturas que se están rectificando.
NIF/CIF de la empresa emisora de la factura que quiere rectificar.
Serie+Nº Factura que identifica a la factura que se quiere rectificar.
Ejemplo: 2025-00001
.
Fecha de expedición de la factura que se quiere rectificar en formato yyyy-mm-dd
.
Ejemplo: 2025-02-26
.
Lista de facturas que se quieren sustituir.
Sólo podrá incluirse esta agrupación cuando el campo invoice_type_key
sea F3
.
NIF/CIF de la empresa emisora de la factura que quiere rectificar.
Serie+Nº Factura que identifica a la factura que se quiere rectificar.
Ejemplo: 2025-00001
.
Fecha de expedición de la factura que se quiere rectificar en formato yyyy-mm-dd
.
Ejemplo: 2025-02-26
.
Información de los receptores de la factura. Obligatorio para facturas ordinarias.
Nombre de la empresa receptora.
NIF/CIF de la empresa receptora. Este campo es obligatorio si el receptor es nacional y se identifica mediante CIF/NIF.
Código del país en formato ISO 3166-1 alpha-2. Sólo es necesario rellenarlo si el sujeto no es nacional. El código de país debe ser ES
si other_tax_id_type_key
es 07 (no censado)
. Ejemplo: DE
Clave para identificar el tipo de documento del receptor de la factura. Los valores posibles son:
02
: NIF-IVA: Número de Identificación Fiscal para IVA.03
: Pasaporte: Documento oficial que acredita la identidad y nacionalidad del portador.04
: Documento oficial de identificación expedido por el país o territorio de residencia.05
: Certificado de residencia: Documento que acredita la residencia fiscal.06
: Otro documento probatorio: Documento adicional que sirve como prueba de identidad.07
: No censado: El receptor no está registrado en el censo fiscal.
02
, 03
, 04
, 05
, 06
, 07
Número de identificación en el país de residencia del destinatario de la operación de la factura expedida. Ejemplo: L74JF44L2
para una empresa de DE
.
Response
Identificador (ID) de la factura en el sistema de KubiFACTU. Se utiliza para hacer referencia al registro de facturación desde otros endpoints como, por ejemplo, el de anulación de facturas.
Identificador de la petición como referencia para el soporte técnico.
Número de la factura registrada.
Huella SHA-256 de la factura registrada.
Este campo indica si la factura ha sido enviada a Veri*Factu, pero no indica si el registro ha sido aceptado. Los valores posibles son:
success
: Se ha realizado el envío a Veri*Factu.failure
: No se ha podido hacer el envío a Veri*Factu.
success
, failure
Valores posibles para el campo vf_record_registration_status
, que indican el estado del registro en Veri*Factu.
success
: El registro ha sido correctamente registrado en Veri*Factu.accepted_with_errors
: El registro ha sido registrado en Veri*Factu, pero tiene errores que deben ser subsanados.failed
: El registro tiene errores no aceptables y ha sido rechazado por Veri*Factu.not_registered
: No se ha encontrado el registro en Veri*Factu.cancelled
: El registro está anulado.unknown
: Se desconoce el estado del registro.
success
, accepted_with_errors
, failed
, not_registered
, cancelled
, unknown
Indica si el registro contiene errores que deban ser subsanados.
Cadena con la descripción de los errores devueltos por Veri*Factu.
URL que debe mostrarse en el QR de las facturas procesadas con VeriFactu. Esta URL sirve para que el receptor de la factura pueda validar que esta ha sido correctamente enviada a VeriFactu.
Imagen del QR (PNG) en formato Base64.
curl --request POST \
--url https://api.kubifactu.com/api/invoicing/invoices \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'X-Qbikode-ClientApiKey: <api-key>' \
--data '{
"sif_id": "9db0bca1-187e-4cf4-b87c-96f2044008d7",
"certificate_password": "passwd",
"sender_data": {
"sender_full_name": "<string>",
"sender_id_card_number": "<string>"
},
"recipients": [
{
"full_name": "<string>",
"tax_id_number": "<string>",
"other_id_country_code": "<string>",
"other_id_type": "02",
"other_id_card_id": "<string>"
}
],
"invoice_data": {
"invoice_type_key": "F1",
"fiscal_year": 2025,
"series_code": "2025",
"invoice_number": "00021",
"invoice_datetime": "2025-02-26 12:35:44",
"operation_date": "2025-02-26",
"description": "<string>",
"representative_company_name": "<string>",
"representative_tax_id_number": "<string>",
"correction_key": "N",
"is_simplified": false,
"without_recipient_identification_key": "S",
"macrodata_key": "S",
"coupon_key": "N",
"invoicing_agreement_registration_number": "<string>",
"sif_agreement_id": "<string>",
"issued_by_third_party_or_recipient_key": "T",
"third_party_data": {
"company_name": "<string>",
"tax_id_number": "<string>",
"other_country_code": "<string>",
"other_tax_id_type_key": "02",
"other_tax_id_number": "<string>"
},
"rectificative_type_code": "S",
"rectified_base_amount": 2500.55,
"rectified_quota": 42.3,
"rectified_equalization_tax_quota": 5.2,
"replaced_rectified_invoices": [
{
"tax_id_number": "<string>",
"full_invoice_number": "<string>",
"issue_date": "2025-02-26"
}
],
"substituted_invoices": [
{
"tax_id_number": "<string>",
"full_invoice_number": "<string>",
"issue_date": "2025-02-26"
}
],
"lines": [
{
"tax_type_key": "01",
"vat_tax_regime_key": "01",
"igic_tax_regime_key": "01",
"operation_type_key": "S1",
"exemption_cause_key": "E1",
"tax_base": 200,
"tax_base_at_cost": 123,
"tax_rate": 21,
"tax_quota": 42,
"equalization_tax_rate": 5.2,
"equalization_tax_quota": 10.4
}
],
"total_quota": 123,
"total_amount": 123
}
}'
{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"request_id": "2cc8ef846029ec69613711ad1d85f6dfebf16ffb",
"full_invoice_number": "<string>",
"fingerprint": "<string>",
"vf_post_status": "success",
"vf_record_registration_status": "success",
"has_warnings": false,
"vf_error_descriptions": "<string>",
"qr_value": "<string>",
"qr_image": "aSDinaTvuI8gbWludGxpZnk="
}
}