Factuza launches on 15 September 2026. If you want to integrate before then, let us talk. Let us talk first
VERI*FACTU becomes mandatory on 1 January 2027 (companies) and 1 July 2027 (the self-employed).
For software vendors

Your software issues invoices. That does not mean it has to be a certified invoicing system.

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.

€0the sandbox, never expires
€3.99per taxpayer on the 100 bundle
OBTsigns the responsible declaration
0lock-in: leave whenever you like

The hard part is not issuing the invoice. It is everything that comes after 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.

What you stop maintaining

  • The hash chain per issuer, and its strict ordering under concurrency.
  • The record XML, byte by byte, because the hash is calculated over exactly that text.
  • The representation certificate, its renewal and its safekeeping.
  • The verification QR code with its URL and its parameters.
  • The filing, its retries and the AEAT error codes.
  • The responsible declaration for every version.
  • And whatever the AEAT changes from tomorrow onwards.

Your first invoice, in an afternoon.

Five REST calls. No mandatory SDK, no SOAP, no certificates on your server. The full guide is in the documentation.

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.

2 · You issue

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.

3 · We tell you

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.

What else you get

  • A free sandbox that never expires, with throwaway data. Nothing counts and nothing is filed.
  • The PDF with its QR code already in place, or just the QR data if you would rather render it yourself.
  • Real idempotency: an Idempotency-Key header, and a retry on your side does not issue two invoices.
  • Voiding and correcting as two distinct operations, both leaving a trail.
  • The article 10 legal export, which is what you have to hand over in an audit.
  • Regulatory maintenance included. When the AEAT changes something, we are the ones who change.

You pay per taxpayer, not per invoice.

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.

TaxpayersCost per monthPer taxpayer
10129 €12,90 €
25189 €7,56 €
50269 €5,38 €
100399 €3,99 €
More than 100Let 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.

€3.99 per taxpayer

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.

Who is answerable for what, in writing.

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.

Two things we do not do

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.

Your corporate clients have a date: 1 January 2027.

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.

The ones that always come up.

Are you taking my client off me?

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.

And what if you go down?

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.

What if I stop working with you?

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.

Can I try it before paying?

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.

I issue for the Basque Country or Navarre

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.

Do you use AI to calculate tax?

No. The tax calculation is done by written, auditable rules. AI does not decide a VAT rate at any point in the engine.

An afternoon and a test key.

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.