VERI*FACTU QR
Every invoice issued under VERI*FACTU must carry a QR code that lets the recipient verify it against AEAT. A-Cube builds this QR for each issued invoice and exposes it on a dedicated endpoint.
The Accept header selects the representation:
application/json— the QR payload and the fields it is built fromimage/png— the rendered QR as a PNG image
JSON payload
GET /invoices/{uuid}/qr
Authorization: Bearer {{jwt}}
Accept: application/json
{
"url": "https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR?nif=A58818501&numserie=FV-2026-0001&fecha=15-01-2026&importe=1452.00",
"nif": "A58818501",
"seriesNumber": "FV-2026-0001",
"issueDate": "15-01-2026",
"totalAmount": "1452.00"
}
| Field | Notes |
|---|---|
url | the AEAT ValidarQR URL encoded in the QR; the series number is percent-encoded and the amount padded to two decimals |
nif | issuer NIF (IDEmisorFactura) |
seriesNumber | invoice series + number |
issueDate | issue date, DD-MM-YYYY |
totalAmount | invoice total, two decimals |
PNG image
GET /invoices/{uuid}/qr
Authorization: Bearer {{jwt}}
Accept: image/png
Returns 200 with Content-Type: image/png — the QR ready to place on the printed or
PDF invoice.
Errors
404 if the invoice does not exist or does not belong to the caller.
note
The QR, together with the "factura verificable" / "VERI*FACTU" legend, is the recipient-facing proof that the invoice was reported to AEAT. The legal basis is in Spain mandate.
note
The url above resolves on prewww2.aeat.es, AEAT's pre-production host — correct for
the sandbox. In production, the QR resolves
on the live AEAT verification service instead.