POST
/
api
/
invoicing
/
invoices
Enviar registro de facturación
curl --request POST \
  --url https://api.kubifactu.com/api/invoicing/invoices \
  --header 'Content-Type: application/json' \
  --header 'X-Qbikode-ClientApiKey: <api-key>' \
  --data '{
  "use_batched_callbacks": true,
  "callback_url": "https://www.tuempresa.com/kubifactu/callback",
  "sif_id": "9db0bca1-187e-4cf4-b87c-96f2044008d7",
  "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>",
    "previous_rejection_key": "S",
    "correction_key": "S",
    "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>",
        "invoice_date": "2025-02-26"
      }
    ],
    "substituted_invoices": [
      {
        "tax_id_number": "<string>",
        "full_invoice_number": "<string>",
        "invoice_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",
    "record_type": "creation",
    "request_id": "2cc8ef846029ec69613711ad1d85f6dfebf16ffb",
    "fiscal_year": 123,
    "full_invoice_number": "<string>",
    "issue_date": "2025-09-15",
    "created_at": "2025-09-15T07:35:24.992854Z",
    "fingerprint": "<string>",
    "csv": "<string>",
    "vf_post_status": "success",
    "vf_record_registration_status": "success",
    "has_warnings": false,
    "vf_error_descriptions": "<string>",
    "next_request_waiting_time": 123,
    "next_request_datetime": "1977-04-22T06:00:00Z",
    "qr_value": "<string>",
    "qr_image": "aSDinaTvuI8gbWludGxpZnk=",
    "xml_contents": "aSDinaTvuI8gbWludGxpZnk="
  }
}

Authorizations

X-Qbikode-ClientApiKey
string
header
required

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.

Body

application/json
sif_id
string<uuid>
required

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.

Example:

"9db0bca1-187e-4cf4-b87c-96f2044008d7"

sender_data
object
required

Información referente al emisor de la factura.

invoice_data
object
required

Datos del registro de facturación.

use_batched_callbacks
boolean

Sólo aplicable a facturas diferidas. En lugar de recibir una llamada de callback por cada factura, se hace una única llamada que incluye todas las facturas en un mismo envío en forma de array: [{ factura1 }, { factura2 }, ... ]. Ver formato del JSON de cada factura en la info del parámetro callback_url.

EL valor por defecto es false.

Este parámetro desaparecerá a partir a partir del 15 de octubre de 2025 y todas las peticiones se asumirán como use_batched_callbacks: true.

Example:

true

callback_url
string<url>

Sólo aplicable a facturas diferidas. URL a la que se llamará con el resultado de la AEAT al procesamiento del registro de facturación.

Se hará una petición POST a esta URL y se enviarán los siguientes campos en formato JSON:

  • id: string. Identificador de KubiFACTU para el registro de facturación.
  • record_type: string (creation|cancellation). Tipo de registro de facturación.
  • sender_company_name: string. Nombre de la empresa emisira.
  • sender_tax_id_number: string. CIF/NIF de la empresa emisora.
  • full_invoice_number: string. Número de factura.
  • fingerprint: string. Huella del registro de facturación.
  • vf_post_status: string. Ver valores posibles en la documentación del campo vf_post_status de la respuesta de envío de registros de facturación.
  • vf_record_registration_status: string. Ver valores posibles en la documentación del campo vf_record_registration_status de la respuesta de envío de registros de facturación.
  • has_warnings: bool. Indica si el registro contiene errores que deban ser subsanados.
  • vf_error_descriptions: string|null. Cadena con la descripción de los errores devueltos por Veri*Factu.
  • xml_contents: string|null. XML del registro de facturación enviado a Veri*Factu en formato Base64. Si el registro de facturación forma parte de un envío en diferido, el XML puede contener información sobre otros registros de facturación incluidos en el envío.
Example:

"https://www.tuempresa.com/kubifactu/callback"

recipients
object[]

Información de los receptores de la factura. Obligatorio para facturas ordinarias.

Response

Factura enviada con éxito.

data
object