Over 25 Verifactu invoice examples: complete guide for developers

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

screenshot
Verifacti

Verifacti

Apr 10, 2025

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.

Why so many Verifactu invoice examples?

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.

Simplified and standard invoices

These are the two most common invoice types and the starting point for any integration.

Simplified invoice (F2)

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.

Standard invoice (F1)

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.

Invoices with multiple VAT rates

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.

Intra-Community invoices (B2B and B2C)

Operations with other EU countries are one of the most complex aspects of Verifactu invoicing. The examples cover four distinct scenarios:

B2B intra-Community: sale of goods

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.

B2B intra-Community: provision of services

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.

B2C intra-Community: below threshold

Sales to final consumers in the EU when the annual volume does not exceed €10,000. Spanish VAT is applied.

B2C intra-Community: above threshold (OSS regime)

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.

Extra-Community invoices and exports

Sales outside the EU also have their own specificities in Verifactu:

Export of goods

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.

Extra-Community provision of services

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.

Exempt invoices, IGIC, and IPSI

Not all operations are taxed at the general VAT rate. The examples include three additional variants:

VAT-exempt invoice

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.

Invoice with IGIC

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.

Invoice with IPSI

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.

Corrective, exchange, and credit note invoices

Invoice correction is one of the most complex aspects of Verifactu. We publish detailed examples of each method:

Corrective by substitution

Completely replaces the original invoice. Uses type R1 and includes references to the invoices being corrected. The new invoice reflects the full correct amounts.

Corrective by differences

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.

Exchange invoice

Converts a simplified invoice into a standard one. Common when a customer requests a full invoice after having received a receipt.

Credit note

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.

Special cases: reimbursements, equivalence surcharge, reverse charge, and more

Beyond the most common types, the examples cover scenarios that many ERPs need to handle:

Reimbursements and withholding

Invoices that include payments on behalf of the client (reimbursements) and income tax withholdings, common among self-employed professionals.

Equivalence surcharge

Mandatory for certain retail traders. The invoice includes an additional surcharge on top of the VAT amount.

Reverse charge

In certain operations, it is the recipient who must declare and pay the VAT. Marked with the regime code S2.

Invoice issued by third parties or by the recipient

For cases where the invoice is not issued by the supplier directly, but by an authorised third party or the recipient themselves (self-billing).

Second-hand goods regime (REBU)

Applies to operations with second-hand goods where tax is only levied on the profit margin, not on the total price.

Non-subject operation

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.

Invoice cancellation and amendment

Finally, the examples section includes the two post-issuance management mechanisms:

Cancellation

Allows invalidating a previously registered invoice in Verifactu. A cancellation record linked to the original invoice is sent.

Amendment

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.

How to use these examples in your integration

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:

  1. Identify the invoice type you need to generate.
  2. Copy the corresponding example from our documentation.
  3. Adapt the data (series, number, date, amounts, recipient) to your real case.
  4. Send the request to the Verifacti API. The API automatically validates the fields, the NIF against the AEAT census, and the applicable fiscal rules.

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.