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).
external_idAunque no es un parámetro obligatorio para la AEAT, te recomendamos encarecidamente incluir el campo external_id en todas tus peticiones POST.
order_4992 de WooCommerce o tu ERP).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
}
]
}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
}
]
}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
}
]
}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
}
]
}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
}
]
}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
}
]
}