Complete collection of Verifactu invoice examples: simplified, standard, corrective, intra-Community, export, IGIC, IPSI, cancellation, and more. Ready-to-copy JSON.

One of the biggest challenges when integrating Verifactu into invoicing software is understanding how each invoice type is structured according to the regulation. Each case — simplified, standard, corrective, intra-Community, with IGIC, with reverse charge… — has its own mandatory fields, regime codes, and validation rules.
That's why at Verifacti we have published a complete collection of over 25 API request examples covering virtually every invoicing scenario contemplated by the Verifactu Regulation (RD 1007/2023). Each example includes the actual JSON sent to our API, ready to copy, adapt, and test.
In this article, we review the main invoice types included in the Verifactu API examples section and briefly explain when each one is used.
The Verifactu regulation is not limited to a single invoice format. Depending on the type of operation, the recipient's tax residence, the applicable tax regime, or whether the invoice corrects a previous one, the mandatory fields and codes change significantly.
For a developer integrating Verifactu for the first time, this means spending hours reading the Spanish Tax Agency's technical documentation, interpreting XML fields, and often discovering errors only after submitting the invoice.
The Verifacti examples eliminate that friction. Each example is a real JSON request to the /verifactu/create endpoint, with all fields correctly filled in. You just need to adapt them to your data and send the request.
These are the two most common invoice types and the starting point for any integration.
Used when the recipient does not need to be identified, typically for retail sales with amounts under €3,000. In fiscal terms, purchase receipts are simplified invoices. Only the tax lines and total amount are required.
Verifacti's API automatically validates that the amount does not exceed the legal limit and rejects the invoice if it does.
Mandatory when the recipient's fiscal data must be identified. Requires the nif and nombre fields for the recipient. Our API validates the NIF against the AEAT census, preventing the generation of records that the Tax Agency will reject.
Check the simplified invoice and standard invoice examples in our documentation.
It is common for a single invoice to include products or services with different tax rates (21%, 10%, 4%). In Verifacti's API, the lineas field accepts an array with as many tax rates as needed.
This case is especially relevant for sectors like hospitality, where a single invoice may combine food at the reduced rate with alcoholic beverages at the general rate.
See the multiple VAT rates example.
Operations with other EU countries are one of the most complex aspects of Verifactu invoicing. The examples cover four distinct scenarios:
When both parties are registered in the ROI (VIES), the invoice does not include VAT. The operation is marked as exempt under Article 25 of the VAT Law with the code E5. The id_otro field is used with document type 02 (Intra-community VAT-VIES). The API automatically validates that the VAT-VIES number is correctly registered.
Similar to the previous case, but the exemption is based on the service localisation rules (Article 69 of the VAT Law). It is marked as a non-subject operation with the code N2.
Sales to final consumers in the EU when the annual volume does not exceed €10,000. Spanish VAT is applied.
When the €10,000 threshold is exceeded, the consumer's country VAT is applied under the One-Stop Shop (OSS) regime. The regime code 17 is used.
Check all intra-Community invoice examples.
Sales outside the EU also have their own specificities in Verifactu:
Exports are VAT exempt under Article 21 of the VAT Law. The exemption code E2 is used, and the recipient is identified with their passport number or other official document from the corresponding country.
When the recipient is a company outside the EU, the service is considered non-subject due to localisation rules (Article 69 of the VAT Law), using the code N2.
See the extra-Community invoice examples.
Not all operations are taxed at the general VAT rate. The examples include three additional variants:
Applies to operations exempt by law, such as certain healthcare, educational, or financial services. It is marked with the corresponding exemption code without including any output tax.
For companies with tax domicile in the Canary Islands. The Canary Islands General Indirect Tax replaces VAT and is declared with its own tax rates.
For companies in Ceuta and Melilla. The Tax on Production, Services and Imports has its own rules.
Check the exempt invoice, IGIC, and IPSI examples.
Invoice correction is one of the most complex aspects of Verifactu. We publish detailed examples of each method:
Completely replaces the original invoice. Uses type R1 and includes references to the invoices being corrected. The new invoice reflects the full correct amounts.
Only reflects the difference between the original invoice and the correction. Useful when the error is partial and you don't want to reissue the complete invoice.
Converts a simplified invoice into a standard one. Common when a customer requests a full invoice after having received a receipt.
For total or partial returns. It is linked to the original invoice and reflects negative amounts.
See the corrective invoice, exchange, and credit note examples.
Beyond the most common types, the examples cover scenarios that many ERPs need to handle:
Invoices that include payments on behalf of the client (reimbursements) and income tax withholdings, common among self-employed professionals.
Mandatory for certain retail traders. The invoice includes an additional surcharge on top of the VAT amount.
In certain operations, it is the recipient who must declare and pay the VAT. Marked with the regime code S2.
For cases where the invoice is not issued by the supplier directly, but by an authorised third party or the recipient themselves (self-billing).
Applies to operations with second-hand goods where tax is only levied on the profit margin, not on the total price.
For operations that fall outside the scope of VAT due to localisation rules or other circumstances.
Check all these special case examples in the documentation.
Finally, the examples section includes the two post-issuance management mechanisms:
Allows invalidating a previously registered invoice in Verifactu. A cancellation record linked to the original invoice is sent.
Allows correcting errors in already submitted invoices without needing to cancel them completely. Useful for minor corrections that do not affect the amounts.
See the cancellation and amendment examples.
All examples are available in the Verifacti API examples section. Each one includes the complete JSON sent to the /verifactu/create endpoint, ready to copy.
The recommended workflow is straightforward:
If your invoicing software or ERP needs to comply with Verifactu, integrating the Verifacti API is the fastest and simplest way. With over 25 real examples, the learning curve is reduced to days, not months.