Skip to main content
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 '
{
  "sif_id": "9db0bca1-187e-4cf4-b87c-96f2044008d7",
  "sender_data": {
    "sender_full_name": "<string>",
    "sender_id_card_number": "<string>"
  },
  "invoice_data": {
    "invoice_type_key": "F1",
    "fiscal_year": 2025,
    "series_code": "2025",
    "invoice_number": "00021",
    "invoice_datetime": "2025-02-26 12:35:44",
    "description": "<string>",
    "lines": [
      {
        "tax_type_key": "01",
        "vat_tax_regime_key": "01",
        "igic_tax_regime_key": "01",
        "operation_type_key": "S1",
        "tax_base": 200,
        "exemption_cause_key": "E1",
        "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,
    "operation_date": "2025-02-26",
    "representative_company_name": "<string>",
    "representative_tax_id_number": "<string>",
    "previous_rejection_key": "X",
    "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"
      }
    ]
  },
  "callback_url": "https://www.tuempresa.com/kubifactu/callback",
  "recipients": [
    {
      "full_name": "<string>",
      "tax_id_number": "<string>",
      "other_id_country_code": "<string>",
      "other_id_type": "02",
      "other_id_card_id": "<string>"
    }
  ]
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "record_type": "creation",
    "request_id": "2cc8ef846029ec69613711ad1d85f6dfebf16ffb",
    "sif_id": "0995C42C-6708-44FB-BFBF-B363A5FE873E",
    "fiscal_year": 123,
    "full_invoice_number": "<string>",
    "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.

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 un array en formato JSON con los datos de las facturas procesadas cuyos ítems contendrán los siguientes campos:

  • id: string. Identificador de KubiFACTU para el registro de facturación.
  • record_type: string (creation|cancellation). Tipo de registro de facturación.
  • sif_id: string. ID del SIF utilizado para la creación del registro.
  • 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