Custom VERI*FACTU invoicing: we adapt your ERP or build the module
If your company invoices with custom-built software, that software has to comply with VERI*FACTU, Spain’s invoicing software rules: one record per invoice chained to the previous one with a hash, a QR code on the invoice, nothing that can change without a trace, and a compliance statement signed by whoever programmed it. We adapt your ERP’s invoicing module or build a separate one that connects to it. We know how because we have done it: Optimio issues its own invoices with a VERI*FACTU system we built, in production since 17 October 2026, with the first invoice accepted by the Spanish Tax Agency (AEAT).
Dates as of 18 October 2026: the Official State Gazette (BOE) requires companies to comply from 1 January 2027 and everyone else, sole traders included, from 1 July 2027 (Royal Decree 1007/2023). The Ministry of Finance has announced it expects to postpone this to October 2028, to coincide with mandatory B2B e-invoicing, but no regulation has been published to make it effective (Ministry note). What the software has to do does not change.
Free, by video call. Bring the name of the program you invoice with; that is enough.
Our issuer, today
$ facturas estado
mode
VERI*FACTU: each invoice is sent to the AEAT when issued
in production
since 17/10/2026
first invoice
accepted by the AEAT («Correcto»)
records
append-only: the database rejects changes and deletions
hash
chained SHA-256, tested against the AEAT’s official examples
xml
validated against the official schemas before each submission
offline
the invoice is issued; submission waits in a queue and retries
every morning
checked against what the AEAT has on record
Real data from our own system. It is ours, not a client’s.
Who it is for
›Companies that invoice with an ERP or program built to measure, written by their own staff or commissioned from someone else.
›Companies with an old program whose vendor no longer maintains it or will not say what happens with VERI*FACTU.
›Anyone invoicing from a spreadsheet or a small database that also keeps the record books: according to the AEAT, that may already count as an invoicing system (AEAT FAQ).
›Companies that want to keep their ERP and move invoicing into a separate module that complies.
It is not for you if you invoice with commercial software that its maker already adapts and certifies. Then the job is to update it, and we will tell you so in the consultation.
What problem it removes
TodayWith the system
Your program lets you edit or delete an invoice already issued.
→Issued invoices are never touched. Anything to fix goes into a corrective invoice or a cancellation record, both of which also join the chain.
Nobody knows who signs the compliance statement.
→If we build or modify the invoicing module, we are the producer of that part and sign its statement, visible inside the program.
You do not know whether to send each invoice to the AEAT or store it signed.
→We decide it with you before designing, because it changes the work: submitting needs the connection and retries; not submitting needs a signature on every record and an event log.
If the internet goes down, you do not know what happens to the invoice.
→The invoice is issued anyway. The record waits in a queue and goes out as soon as the connection is back.
Changing vendor would leave you without the records.
→Records can be exported in readable form for the whole retention period, and the code is yours.
Three ways to get to VERI*FACTU
You do not always have to touch the ERP. We choose the route in the first meeting, with the code in front of us if there is any.
Adapt your ERP’s invoicing module
When the ERP is yours, you have the code and the rest works well. It usually means changing the data model: if there is an “edit invoice” button today, adding a QR code to the PDF is not enough.
A separate invoicing module, connected to the ERP
The ERP prepares the data and the module issues, records, keeps the chain and submits to the AEAT. It fits when you do not want to touch the ERP or do not have all its code. It is what we built for ourselves.
Certified commercial software, with your ERP connected to it
If your invoicing is standard, this is often the most sensible option: the invoice is issued by a program that already complies and the ERP just passes it the data. If that is your case, we will say so even if it means a smaller job.
What the rules require from the software
The invoicing systems regulation requires that, when each invoice is issued, the program creates an issuance record with the invoice data, the system identification, the date and time and a reference to the previous record (Royal Decree 1007/2023, arts. 9 and 10). If an invoice was issued by mistake, it is not deleted: a cancellation record is created.
Each record’s hash is calculated with SHA-256 and includes the previous one, so the records form a chain: if someone changes one, the ones after it stop matching. The invoice carries a QR code the customer can scan to check it on the AEAT website (Order HAC/1177/2024).
invoicing recordssha-256
F-2027-0001amount: €1,210.00
previous— first record
hashC332AB0F2BA52B7FF3C7…
✓ sent to the AEAT
F-2027-0002amount: €363.00
previousC332AB0F2BA52B7FF3C7…
hash94F230489B85A8CD5BBD…
✓ sent to the AEAT
F-2027-0003amount: €96.80
previous94F230489B85A8CD5BBD…
hash343478FAAD935844B7DC…
✓ sent to the AEAT
OKChain intact: every hash includes the previous record’s.
Example with made-up invoices. The hashes are real: SHA-256 calculated as the AEAT specifies.
There are two modes. In VERI*FACTU mode, the program sends every record to the AEAT and the hash is enough. In non-submission mode, every record is signed with a qualified electronic certificate and the system keeps an event log (Order HAC/1177/2024). Our issuer runs in VERI*FACTU mode.
And the part most often overlooked: if the program is custom, whoever programmed it is the producer and has to sign a compliance statement visible in the program itself. If your own staff wrote it, the producer is your company; if you commissioned it, whoever built it (AEAT FAQ). Using a system that does not comply is fined 50,000 euros per financial year; producing it, 150,000 euros per financial year and per type of system (General Tax Act, art. 201 bis).
Why do it calmly rather than the night before. The date may move; what the software has to do will not: the Ministry says the integrity, traceability and inalterability requirements will be kept in substantially equivalent terms (Ministry note). And if the postponement goes ahead, it will coincide with mandatory B2B e-invoicing, which touches the same software. It makes sense to design both at once and without rushing, rather than adapting the software twice.
We explain it in more detail, with the questions worth asking your vendor, in Verifactu and a custom ERP.
How we work
1
30-minute consultation
Free. You tell us what you invoice with, who programmed it and who maintains it. If you do not need anything custom, we tell you there and then.
2
Review of the current program
We look at the invoicing module: whether it lets you edit what was issued, how it numbers and what code there is. Your accountant confirms the tax side of your case.
3
Written proposal
With the chosen route, the mode (with or without submission), the phases and the price.
4
Build and test
First against the AEAT’s test environment, with your typical invoices. Production only once the tests come back «Correcto».
5
Handover
Code, access credentials, documentation and the compliance statement for the part we built.
We did it for ourselves
Optimio, in-house
In production since 17/10/2026
We invoice with our own VERI*FACTU system
We built it to issue our invoices in VERI*FACTU mode now, without waiting for the mandatory date. Invoices are issued with one button from our CRM: the system records the invoice, calculates the hash, generates the PDF with its QR code and sends it to the AEAT at the same moment.
The first invoice came back accepted, with status «Correcto», and checking its QR code on the AEAT website finds it. Corrections go through corrective invoices: no issued invoice is ever edited. Because we programmed it and use it, we are both producer and user, with its compliance statement.
It is ours, not a client’s: we have not installed it at another company yet. What we can show you in the consultation is how it works inside.
Frequently asked questions about custom VERI*FACTU
How long do I have to adapt my program?+
According to the BOE, companies must have their system adapted before 1 January 2027 and everyone else, sole traders included, before 1 July 2027. On 5 October 2026 the Ministry of Finance announced it expects to postpone this to October 2028, but until the regulation is published the 2027 dates apply. The technical requirements do not change with the postponement.
If my ERP is custom, who signs the compliance statement?+
Whoever produces it. If your own staff programmed it, your company; if you commissioned it from a third party, that third party. If a vendor modifies the invoicing module of a program certified by someone else, the original certification no longer covers the modified part. If we build or adapt that module, we sign its statement.
VERI*FACTU mode or non-submission mode?+
In VERI*FACTU mode every record is sent to the AEAT when the invoice is issued and the chained hash is enough. Without submission, every record has to be signed with a qualified certificate and the program keeps an event log. For most companies submission is simpler to maintain; it is the mode we use ourselves. We decide it with you before designing.
Do I have to change ERP?+
Not necessarily. Its invoicing module can be adapted, invoicing can move into a separate module connected to the ERP, or the ERP can be connected to commercial invoicing software that already complies. We choose the route in the consultation.
What happens if the connection to the AEAT fails?+
The invoice is issued anyway. The record is kept in a queue and the system sends it as soon as the connection is back, respecting the waiting times set by the AEAT.
Does invoicing with Excel or Word bring me under VERI*FACTU?+
It depends on what the program does. According to the AEAT, a spreadsheet becomes an invoicing system if, besides issuing invoices, it generates record books or other outputs. Where the line falls in your case is a question for your accountant.
How much does it cost?+
It depends on the route and on the current state of your program, which is why we do not publish rates. After the consultation we send you a written proposal with the scope, the phases and the price.
Does this replace my accountant?+
No. We take care of the software: that it records, chains, submits and lets nothing be altered. The tax treatment of your invoices is still your accountant’s job, and it helps to have them in the conversation.
In 30 minutes we look at what you invoice with, what it is missing and which of the three routes suits you. You leave with the answer, whether you hire us or not.