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 issue your first VERI*FACTU invoice, you must have had registered at least one supplier. Make sure you read and implemented the VERI*FACTU supplier onboarding guide before continuing with this guide.Setup
Add a new workflow to your workspace for issuing invoices. You can start with the template below.- Template
- Code
- Build from scratch
Workflow ID at hand, you’ll use it later.
Issue an Invoice
Upload an Invoice
regime:ES- Add the
es-verifactu-v1addon supplier: Use the details of the supplier you’ve registered before.
B2B Standard invoice Spain
B2B Standard invoice Spain
- The customer is a registered business (has a tax identification number).
- The transaction amount is €400 VAT included or above, or the customer requires a full invoice.
- The customer needs a complete invoice with all tax details for accounting or tax purposes.
eu-en16931-v2017 addon and ensure the customer field contains valid tax identification details. The addon will automatically set the document type to 380 when the silo entry is built (which happens automatically when saving a silo entry through the API or console).supplier must be previously registered with the tax authority and the customer VAT ID must be valid.B2B zero rated goods invoice Spain
B2B zero rated goods invoice Spain
- Daily and weekly newspapers, as well as periodical publications that meet a specific criteria.
- Recyclable materials such as waste and scrap intended for recycling.
- Educational materials under specific conditions.
zero in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to Z (zero rated goods) when the silo entry is built.B2B exempt invoice Spain
B2B exempt invoice Spain
exempt in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to E when the silo entry is built. You must also state the reason for the exemption through the CET VATEX - VAT exemption reason codes.supplier must be previously registered with the tax authority and the customer tax id must be valid.B2B services invoice Spain → EU customer (Reverse Charge)
B2B services invoice Spain → EU customer (Reverse Charge)
- The customer is a registered business in another EU member state (has a valid EU VAT ID).
- The service is provided to a business customer (B2B), not a consumer.
- The service is subject to VAT but the customer accounts for the VAT in their own country.
reverse-charge in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to AE (reverse charge) when the silo entry is built.supplier and customer VAT ID must be valid and registered in the EU VIES system.B2B goods invoice Spain → EU customer (Intra-Community)
B2B goods invoice Spain → EU customer (Intra-Community)
- The customer is a registered business in another EU member state (has a valid EU VAT ID).
- Goods are physically delivered to another EU member state.
- The supply is exempt from VAT in the origin country and subject to VAT in the destination country.
intra-community in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to K (VAT exempt for EEA intra-community supply of goods and services) when the silo entry is built.supplier must be previously registered with the tax authority and the customer VAT ID must be valid and registered in the EU VIES system.B2B services invoice Spain → international customer (Outside Scope)
B2B services invoice Spain → international customer (Outside Scope)
outside-scope in your invoice lines. The eu-en16931-v2017addon will automatically set the UNTDID 5305 tax category to O (Services outside scope of tax) when the silo entry is built.B2B goods invoice Spain → international customer (Export)
B2B goods invoice Spain → international customer (Export)
export in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to G (Free export item, tax not charged) when the silo entry is built.supplier must be previously registered with the tax authority. Customer tax identification is optional but recommended for record-keeping purposes.Empty.
Empty invoice
Send the Invoice to the VERI*FACTU invoice workflow
workflow_id: use the Workflow ID of the VERI*FACTU invoice workflow we created during setupsilo_entry_id: use the Silo Entry ID of the invoice you’ve just uploaded.
Sent when the workflow completes successfully.
Sent invoice

Example VERI*FACTU invoice with QR
Issue a Credit Note (Rectificativa por Diferencias)
In Spain, one way to correct an invoice is by issuing a credit note, known as a Rectificativa por Diferencias. An alternative method is to issue a Rectificativa por Sustitución, which involves creating a new invoice with the type corrective. The difference between the two is subtle but important:- A credit note adjusts the value of the original invoice.
- A corrective invoice replaces the original invoice entirely.
- Issue a credit note for €20, or
- Issue a corrective invoice for €80.
Upload a Credit Note
regime:ES- Add the
es-verifactu-v1addon supplier: use the same supplier details as in the original invoicetype:credit-notepreceding: references the original invoice, within it, you must include:uuid: the UUID of the original invoice (optional but recommended)type: type of the original invoiceissue_date: the date of the original invoiceseries: the series of the original invoicecode: the code of the original invoice
Empty. If you’ve included the uuid of the invoice in preceding, you’ll see a link to the credit note we’ve just created in the Related tab of the invoice.
Link to the credit note
Send the Credit Note to the VERI*FACTU invoice workflow
workflow_id: use the Workflow ID of the _VERI*FACTU invoice _workflow we created during setupsilo_entry_id: use the The Silo Entry ID of the credit note you’ve just uploaded.
Sent when the workflow completes successfully.Issue a Corrective Invoice (Rectificativa por Sustitución)
Upload a Corrective Invoice
corrective. The process is very similar to uploading an invoice, use the Create an entry endpoint to upload a corrective invoice. Include an invoice object in the data, with these required fields:regime:ES- Add the
es-verifactu-v1addon supplier_id: use the same supplier details as in the original invoicetype:correctivepreceding: references the original invoice, within it, you must include:uuid: the UUID of the original invoice (optional but recommended)type: type of the original invoiceissue_date: the date of the original invoiceseries: the series of the original invoicecode: the code of the original invoicetax: the tax section of the original invoice, you can copy it from the original invoice
Empty. If you’ve included the uuid of the invoice in preceding, you’ll see a link to the corrective invoice we’ve just created in the Related tab of the invoice.
Link to the corrective invoice
Send the Corrective Invoice to the VERI*FACTU invoice workflow
workflow_id: use the Workflow ID of the VERI*FACTU invoice workflow we created during setupsilo_entry_id: use the The Silo Entry ID of the corrective invoice you’ve just uploaded.
Sent when the workflow completes successfully.Cancel an Invoice
VERI*FACTU also allows you to cancel an invoice. In general, you should only cancel an invoice if it hasn’t been handed to the customer nor accepted by the tax authority. Different from a credit note or a corrective, canceling an invoice doesn’t produce a second document, which means you don’t have a paper to hand to your customer to show the cancellation. That’s why, if the invoice has been handed to the customer, we recommend issuing a credit note instead.Add a cancel invoice workflow (only once)
- Template
- Code
- Build from scratch
Send to cancellation workflow
Void when the workflow completes successfully.🇪🇸 Invopop resources for Spain
🇪🇸 Invopop resources for Spain