1 · You register the taxpayer
POST /emisores with your client's tax number and name. If your program onboards clients on its own, your key can do it unattended; if not, they are registered from the dashboard.
Your program calls our API. The numbering, the chained hash, the QR code, the filing with the AEAT and the responsible declaration are on us.
No lock-in · the sandbox is free and never expires
$ curl -X POST https://api.factuza.com/facturas \ -H "X-Api-Key: $FACTUZA_CLAVE" \ -H "Idempotency-Key: pedido-8842" \ -d '{ "nifEmisor": "B12345674", "destinatario": { "nif": "12345678Z", "nombre": "Ana Ruiz" }, "base": 1250.00, "tipoIva": 21 }' 201 Created { "numSerieFactura": "FA2026-0118", "huella": "9F2C…A31D", "qr": "https://prewww2.aeat.es/wlpl/TIKE-CONT/…", "pdf": "/facturas/4821/pdf" }
One call. The hash chain, the QR code and the filing all happen behind it.
You solved making a PDF with a sequential number ten years ago. What VeriFactu changes is everything else: each invoice generates an invoicing record chained by SHA-256 to the previous one from that same issuer, with its verification QR code, which has to be filed with the tax office and kept without any possibility of altering it.
And on top of that you have to declare it. Article 13 of Royal Decree 1007/2023 requires the producer of the system to sign a responsible declaration for every version it releases. Which means that every time you deploy, somebody at your company is signing to say that code complies.
With this, that somebody is us.
Five REST calls. No mandatory SDK, no SOAP, no certificates on your server. The full guide is in the documentation.
POST /emisores with your client's tax number and name. If your program onboards clients on its own, your key can do it unattended; if not, they are registered from the dashboard.
POST /facturas. We answer in milliseconds with the series number, the hash and the QR data. Your user does not wait for the AEAT to get their invoice.
When the AEAT answers, you get a signed webhook with the outcome. You do not have to poll invoice by invoice, which is how rejections get discovered too late.
Idempotency-Key header, and a retry on your side does not issue two invoices.You pick the bundle that fits you. Inside it, each taxpayer gets 3,000 records a month included, which is far more than an ordinary business issues. The bundle is both the price and the allowance: no surprises at the end of the month.
| Taxpayers | Cost per month | Per taxpayer |
|---|---|---|
| 10 | 129 € | 12,90 € |
| 25 | 189 € | 7,56 € |
| 50 | 269 € | 5,38 € |
| 100 | 399 € | 3,99 € |
| More than 100 | Let us talk | — |
You choose your taxpayer bundle when you sign up.
Prices exclude VAT. When you fill a bundle you move up to the next one. On the bundle of 10 the cost per taxpayer works out above the €12 Autónomo plan: there you are not buying cheap volume, you are buying not having to get certified yourself. From 25 onwards the arithmetic turns round on its own.
Example with 100 clients: it costs you €399 a month. What you charge them for the invoicing part of your program is your decision: we set no resale price and we do not ask for our brand to appear in your product.
What if a taxpayer goes over 3,000 records in a month? Nothing is cut off: the excess is billed at €2 per 1,000. The one thing that does cut off is the limit of 600 requests a minute, which is there so that one integration's runaway loop does not affect everyone else.
It is the question everybody asks in the second meeting, so it goes here and not in the small print.
We are the invoicing software system. OBTechnologies signs the article 13 responsible declaration of Royal Decree 1007/2023 for every version of the engine, and that declaration is published and downloadable with its SHA-256 hash at factuza.com/legal. We are answerable for the record being generated correctly, chained correctly, filed, and impossible to alter.
You are answerable for your program: for the data you send us being what your user entered, and for what your software does with our answer.
Your client is still the taxpayer. No contract changes that: the invoice is theirs and so is the tax liability.
We do not talk to your clients. First-line support comes from you, because you are the one who knows your product. We support you, and that is why this costs what it costs.
Your product is yours; the PDF footer carries our name. You integrate Factuza however you like and your user always works inside your program. The only thing that appears is one line in the document footer —“Document generated with Factuza. www.factuza.com”— alongside whatever the rules require on the invoice and in the QR code. If that is a problem in your case, tell us before you integrate and we will discuss it.
And the self-employed on 1 July 2027. If your program issues invoices and by that date it does not comply, your clients will go and find one that does. Getting certified on your own is a project of months; this is an afternoon's integration and a bundle a month.
No. A taxpayer you register through the API has no Factuza account and never sees one. If one day they want one, they buy it separately and remain your client for the program you sold them.
Issuing does not wait for the AEAT: we answer in milliseconds and file in the background. And if the AEAT is unavailable, it retries by itself. The records are in Azure, Spain Central region, with backups.
There is no lock-in. You take your taxpayers' invoicing records away in the standardised article 10 format, which is exactly what you would need to carry on somewhere else.
Yes. The sandbox is free, never expires and neither counts nor files anything. You pay when you go live. Write to us and we will give you access.
VeriFactu does not apply there; TicketBAI does —one per provincial authority— along with the Navarrese system. The engine is built for that split, but today we only file with the AEAT: tell us and we will explain where it stands.
No. The tax calculation is done by written, auditable rules. AI does not decide a VAT rate at any point in the engine.
Write to us with two lines about your product and how many clients invoice with it. We will give you sandbox access the same day and tell you, without beating about the bush, whether this fits you or not.