VERIFACTU PROEspañol · English

User guide

How Verifactu Pro works and how to set it upLast updated: 12 June 2026

1. What it is and how it works

Verifactu Pro automatically issues an electronic invoice compliant with Spain's Verifactu regulation (Royal Decree 1007/2023) for every order paid in your Shopify store. You don't have to do anything manually: as soon as an order is marked as paid, the app generates the invoice.

Each invoice automatically includes:

  • Sequential, immutable numbering per series and tax year (no gaps).
  • SHA-256 hash chained to the previous invoice (any tampering is detectable).
  • "VERI*FACTU" QR code so the tax authority (AEAT) and the buyer can verify the invoice.
  • PDF emailed to the buyer, in their language.

Two operating modes

  • Verifactu active (recommended): each invoice is sent to the AEAT in real time through the official web service, using your digital certificate. The AEAT accepts the record and returns a secure code (CSV). In this mode the tax authority keeps custody of the records.
  • Disabled: the app generates the invoice with its hash and QR, but does not submit it to the AEAT. You keep the records yourself.

2. Getting started (initial setup)

Before issuing your first invoice, complete these steps from the app menu:

  1. Tax settings → Issuer details: enter your tax ID (CIF/NIF), business name and address. They appear on every invoice. Until you fill in the tax ID and business name, orders are not invoiced (you'll see a notice on the dashboard).
  2. FNMT certificate (active mode only): upload your digital certificate (.p12/.pfx) and its password. It is stored encrypted and only used to sign the submission to the AEAT.
  3. Verifactu mode: choose Active or Disabled. In active mode, pick the environment: "Testing" (to validate with no tax effect) or "Production" (real submissions).
  4. Turn off Shopify's native VAT invoices: in Settings → Taxes and duties → VAT invoices, disable Shopify's automatic generation. Otherwise you'd have two parallel invoice numberings. The app detects this conflict and warns you.
Tip: start in Testing mode, place a test order and confirm the invoice is issued and (in active mode) accepted by the AEAT. Then switch to Production.

3. The buyer's tax ID (NIF): where to enter it

The buyer's tax ID determines the invoice type:

  • With tax IDfull invoice (F1), including the customer's tax details.
  • Without tax IDsimplified invoice (F2), valid for small amounts.

So customers can provide their tax ID, Verifactu Pro offers four capture points. Enable whichever you like; the value is reused across them.

a) On the cart

The "Verifactu · NIF on the cart" extension. Enable it from your theme editor (Customize → Cart page → Add block → apps → NIF). It adds a "Tax ID" field to the cart. What the customer types travels with the order and the app picks it up when invoicing.

b) At checkout (Shopify Plus only)

The "Tax ID at checkout" extension. It appears on the payment screen, right below the contact details, and is enabled from the Checkout editor (Settings → Checkout → Customize). This is the most natural moment for a customer who needs an invoice to provide their tax ID. Note: Shopify only lets you add custom fields to the checkout page on Shopify Plus plans. If your store isn't Plus, use the other options (cart and customer account), which work on any plan.

c) In the customer account

The "Verifactu · NIF in the account" extension. It shows a tax ID field in the customer's account profile and on the order-status page. The tax ID is saved on the customer record (metafield) and automatically reused on their future purchases: the cart and checkout fields will be pre-filled.

d) In the admin (after the fact)

If an issued invoice has no tax ID, or it needs correcting, open it in Invoices → (the invoice) → Edit customer details and add the tax ID. Depending on its status:

  • If the invoice is not yet accepted by the AEAT (or you're in disabled mode), it's updated in place.
  • If it's already accepted, the app automatically issues a corrective invoice by substitution with the fixed details (the original is never altered, as the law requires).
When you save a tax ID on an invoice from the admin, the app remembers it for that customer, so their future orders come pre-filled.

4. Held invoices (over €3,000 without a tax ID)

Spanish law (art. 4 of RD 1619/2012) does not allow a simplified invoice when the amount exceeds €3,000 (VAT included). Above that threshold the buyer must be identified by their tax ID.

What the app does automatically

If an order over €3,000 arrives without the buyer's tax ID, Verifactu Pro holds the invoice:

  • It marks it as "Held (missing tax ID)".
  • It does not send it to the AEAT (a non-compliant invoice cannot be recorded).
  • It warns you on the dashboard and you can filter it in the invoice list ("Invoices without tax ID").

How to resolve it

  1. Contact the customer and obtain their tax ID (or ask them to add it in their account).
  2. Open the held invoice and use "Edit customer details" to add the tax ID (and name/tax address if needed).
  3. The app turns it into a full invoice (F1) and, in active mode, sends it to the AEAT.
This avoids having to issue a correction: the invoice is issued correctly as a full invoice from the start. If, exceptionally, such an invoice had been recorded without a tax ID, the app offers to fix it with a corrective invoice by substitution.

5. Invoice types, refunds and corrections

The app handles the full invoice lifecycle in line with the regulation:

  • F1: full invoice (with the customer's tax ID). F2: simplified invoice (no tax ID, small amounts).
  • Refunds: when you create a refund in Shopify, a corrective invoice (R4/R5) with negative amounts is issued automatically, referencing the original.
  • Cancellation: from the invoice detail, the "Cancel" button issues a corrective invoice by substitution (R1/R5).
  • Editing an already-invoiced order: the app issues the matching correction.

You can use dedicated series (for example an "R" series for corrections, or a series per sales channel) from the Series section. Numbering is independent per series, but the hash chain is unique to your business.

6. Customizing your invoices

  • Invoice designer: a visual drag-and-drop editor to place your logo, colour, details and blocks. The app validates that the invoice stays legally compliant before saving.
  • Series: create and manage multiple series, set the default, assign series per sales channel or a specific series for subscriptions/corrections.
  • Income-tax withholding (IRPF): if you're a freelancer with withholding, enable it in Settings; the withholding line and "amount to collect" appear on the PDF.
  • Multi-language invoice footer: in the designer you can write a footer text for each language your store publishes.
  • Buyer's language: the PDF and email are produced in the customer's language (Spanish, English, French, Italian, German or Portuguese; other languages are served in English).

7. Backups and retention (custody)

As the taxpayer, you must keep your invoices for the legal period (6 years under the Commercial Code; 4 years tax limitation). Verifactu Pro makes it easy with automatic custody backups (Pro plan), configured once in Export & retention:

  • Scheduled email backup: you receive a ZIP with your invoices (PDF + XML + index) at the frequency you choose (daily, weekly or monthly). If it's over 10 MB, you get a secure download link.
  • Real-time copy to SFTP: each invoice is copied to your server as soon as it's issued.
  • Copy to your Dropbox: using your own Dropbox app (your credentials, encrypted). Files stay only in your account.
  • Copy to your Google Drive: using your own Google account; the app creates a "Verifactu" folder and copies each invoice there.

In the invoice list you'll see an indicator per destination (SFTP, Dropbox, Drive) showing where each invoice landed, plus a button to retry any that are missing or failed.

Important: before uninstalling the app, export all your invoices from the Export section. After uninstalling we keep your data for a while, but the custody copy is your responsibility.

8. Reports and invoice ledger

The Reports section (Pro plan) gives you a summary of output VAT per quarter and an annual breakdown by VAT rate, handy for your accountant and the 303/390 forms. You can download the issued-invoices ledger as CSV (Excel-compatible), filtered by year or quarter.

9. Invoice portal for your customers

Your customers can view and download their own invoices (Pro plan):

  • An "Invoices" entry appears in the customer's account menu, next to Orders and Profile.
  • Each customer only sees their invoices and can download the PDF.

This cuts down "please send me my invoice" requests to your support.

10. Compliance and responsible declaration

The Compliance tab inside the app contains a technical conformity report (requirement by requirement of RD 1007/2023 and Order HAC/1177/2024) and the system manufacturer's responsible declaration, which you can print or save as PDF for your records.

11. Facturae for public administrations (B2G)

If you sell to a public administration, you can generate the signed Facturae 3.2.2 file (.xsig) from the invoice detail, entering the body's details and its DIR3 codes. Enable it in Settings.

12. Support

Questions or issues? Email us at info@idnovate.com. For specific tax matters (VAT forms, withholding, edge cases) always consult your tax advisor.

Verifactu Pro · Verifactu-compliant e-invoicing (RD 1007/2023). This guide is informational; for your specific tax situation consult your advisor.