Spain - VeriFactu
Issue invoices in Spain with VeriFactu.
Introduction
VeriFactu is a fiscal initiative by the Spanish Tax Agency (AEAT) that requires businesses to report invoices through certified software. The system generates unique identifiers for each invoice and creates digitally signed XML files that are submitted to the tax authorities.
Prerequisites
To register a supplier and issue invoices, you need:
- Supplier details:
- Company name
- Spanish tax ID (NIF)
- For B2B sales, customer details including:
- Tax ID (for Spanish/EU entities)
- Invoice line items with
- Price
- VAT rates
Setup
Follow these steps to configure your Invopop Workspace for VeriFactu invoicing:
Connect the VeriFactu app
- Navigate to Configuration > Apps.
- Locate VeriFactu in the app discovery list.
- Click Connect to activate.
No additional configuration is needed.
Configure invoice workflow
First, review our workflows guide to understand the basics.
Create an Invoices workflow with these essential steps:
- Sign Envelope - Signs the VeriFactu document. Can be substituted with
Add Sequential Code
with theSign Document
option enabled. - Generate VeriFactu (Spain) - Creates the required XML document, adding it to the chain and fingerprinting it. It can be seen in the
Files
section of the console. - Send VeriFactu (Spain) - Submits the generated XML to AEAT gateway and returns a response.
- Generate PDF - Generates the PDF invoice with the required QR code.
VeriFactu does not allow document modifications after submission. If a document is rejected, you must create a new document with corrections and submit again.
Running
Invopop uses the GOBL library to process conversions. Some example invoices are provided below, along with an example workflow to send the invoices to. We also recommend using the GOBL Builder to create your own invoices.
Be sure to set the regime
field to ES
in your invoices and add the es-verifactu-v1
addon. This will add some extra validations and normalizations to ensure the document is compliant, and automatically add the necessary extensions, details of which can be found here.