Spain · VERI*FACTU Guide
🇪🇸 Issue invoices in Spain with VERI*FACTU.
Introduction
VERI*FACTU 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 VERI*FACTU invoicing:
Connect the VERI*FACTU app
- Navigate to Configuration → Apps.
- Locate VERI*FACTU in the app discovery list.
- Click Connect to activate.
No additional configuration is needed.
Configure the supplier registration workflow
Copy and paste into a new Empty Party workflow code view.
Before starting, review the workflows guide to understand the general setup process.
In Console, create a new workflow and choose Empty Party workflow as the base. Then name the workflow with a descriptive label such as “VERI*\FACTU Supplier Registration”.
The new workflow will need to perform a single step:
- Register for VERI\FACTU* - Prepares the system so that provided supplier can send invoices.
Finally, in the Error Handling area, add the Set State action and select Error
.
Add any additional steps you may need, and save the new workflow.
Configure invoice workflow
Copy and paste into a new Empty Invoice workflow code view.
In Console create a new workflow and select Empty Invoice workflow in the template selector, then add the following steps:
- Sign Envelope - Signs the VERI*FACTU document. Can be substituted with
Add Sequential Code
with theSign Document
option enabled. - Generate VERI*FACTU (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 VERI*FACTU (Spain) - Submits the generated XML to AEAT gateway and returns a response.
- Generate PDF - Generates the PDF invoice with the required QR code.
Finally, in the Error Handling area, add the Set State action and select “Error” in the State dropdown.
VERI*FACTU allows for document modifications after submission. If a document is rejected or contains invalid information, make the modifications to the GOBL details and send again to the same workflow.
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.