Volver a la Guía API

Librería de Payloads

Copia y pega directamente en tu código la estructura JSON exacta requerida por la Agencia Tributaria para cada tipología de factura (RD 1619/2012).

Best Practice: El uso de external_id

Aunque no es un parámetro obligatorio para la AEAT, te recomendamos encarecidamente incluir el campo external_id en todas tus peticiones POST.

  • Mapea directamente la factura generada por nuestra API con el ID de tu sistema (Ej. order_4992 de WooCommerce o tu ERP).
  • Garantiza la idempotencia: Si tu servidor pierde la conexión antes de recibir la respuesta, puedes cruzar este dato en tu Dashboard para verificar si la factura se registró con éxito, evitando duplicidades contables.

F1 - Factura Ordinaria (Completa)

La factura B2B estándar. Es normativamente obligatorio incluir el objeto cliente con su NIF y nombre.

{
  "tipo_factura": "F1",
  "serie": "F",
  "fecha_emision": "2026-07-31",
  "external_id": "ORD-12345",
  "cliente": {
    "nif": "B12345678",
    "nombre": "Tech Corp SL"
  },
  "conceptos": [
    {
      "descripcion": "Licencia anual B2B",
      "importe": 1000.00,
      "iva": 21
    }
  ]
}

F2 - Factura Simplificada (Ticket)

Utilizada en ventas B2C de mostrador. La AEAT permite omitir el objeto cliente (factura anónima).

{
  "tipo_factura": "F2",
  "serie": "FT",
  "fecha_emision": "2026-07-31",
  "external_id": "POS-899",
  "conceptos": [
    {
      "descripcion": "Venta al por menor",
      "importe": 45.50,
      "iva": 21
    }
  ]
}

F3 - Sustitución de Simplificadas

Cuando un cliente que se llevó un ticket (F2) vuelve y solicita una factura nominativa para su empresa.

{
  "tipo_factura": "F3",
  "serie": "FS",
  "fecha_emision": "2026-07-31",
  "external_id": "REPLACE-899",
  "cliente": {
    "nif": "B12345678",
    "nombre": "Tech Corp SL"
  },
  "conceptos": [
    {
      "descripcion": "Sustituye al ticket TICKET-26/001",
      "importe": 45.50,
      "iva": 21
    }
  ]
}

R1 - Factura Rectificativa (Abono)

Para devoluciones, errores o cancelaciones (Art. 80 LIVA). El importe debe ir en negativo y exige el bloque factura_rectificada.

{
  "tipo_factura": "R1",
  "serie": "R",
  "fecha_emision": "2026-07-31",
  "cliente": {
    "nif": "B12345678",
    "nombre": "Tech Corp SL"
  },
  "factura_rectificada": {
    "numero": "2026/0001",
    "fecha_emision": "2026-07-15"
  },
  "conceptos": [
    {
      "descripcion": "Abono por servicio cancelado",
      "importe": -1000.00,
      "iva": 21
    }
  ]
}

R5 - Rectificativa de Ticket

Devolución de un artículo de mostrador por un cliente anónimo. No exige cliente, pero sí la referencia al ticket original.

{
  "tipo_factura": "R5",
  "serie": "RT",
  "fecha_emision": "2026-07-31",
  "factura_rectificada": {
    "numero": "TICKET-26/0045",
    "fecha_emision": "2026-07-30"
  },
  "conceptos": [
    {
      "descripcion": "Devolución artículo",
      "importe": -45.50,
      "iva": 21
    }
  ]
}

Factura Recapitulativa (Agrupación)

Agrupa varias operaciones de un mes. Normativamente se envía como tipo F1, desglosando los tickets sustituidos en los conceptos.

{
  "tipo_factura": "F1",
  "serie": "REC",
  "fecha_emision": "2026-07-31",
  "external_id": "RECAP-JUL-26",
  "cliente": {
    "nif": "A98765432",
    "nombre": "Retail Network SA"
  },
  "conceptos": [
    {
      "descripcion": "Sustituye ticket T2026/101 - 05/07",
      "importe": 120.00,
      "iva": 21
    },
    {
      "descripcion": "Sustituye ticket T2026/154 - 15/07",
      "importe": 80.50,
      "iva": 21
    }
  ]
}