Skip to main content

Documentation Index

Fetch the complete documentation index at: https://invopop-mintlify-changelog-week-1778411791.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

We’re progressively moving towards a country-based approach to our apps, which is why you will find these steps under the “Spain” app. You can expect our current VERI*FACTU functionality to be grouped under this app in the future. We will ensure no changes will be required for your existing workflows.
https://assets.invopop.com/apps/ticketbai/icon.svg

TicketBAI Invoicing

View guide ›
https://assets.invopop.com/apps/sii/icon.svg

SII Invoicing

View guide ›
https://assets.invopop.com/apps/verifactu/icon.svg

NO VERI*FACTU Invoicing Guide

View guide ›
https://assets.invopop.com/apps/facturae/icon.svg

Facturae

View guide ›
https://assets.invopop.com/apps/ticketbai/icon.svg

TicketBAI Suppliers

View guide ›
https://assets.invopop.com/apps/sii/icon.svg

SII Suppliers

View guide ›
https://assets.invopop.com/apps/gov-es/icon.svg

Tax ID Lookup

View guide ›
https://assets.invopop.com/apps/verifactu/icon.svg

NO VERI*FACTU Suppliers

View guide ›
DeveloperInvopop
CategoryGovernment
ScopeB2B
CountrySpain
Invopop’s Spain app provides comprehensive integration with Spanish tax agencies, centralizing all compliance requirements for electronic invoicing and tax reporting in Spain.
FeatureTicketBAISII
ScopeBasque Country (Álava, Gipuzkoa, Bizkaia)Rest of Spain (AEAT)
Workflow automationIssue invoices and onboard suppliersReport invoices and onboard suppliers
Compliant documentsXML generation and PDF with QR codesInvoice reporting to AEAT via SII API (with limitations)
Supplier registrationRegistration wizard and agreement signingRegistration wizard and agreement signing
White-labelIssue on behalf of clients or directlyReport on behalf of clients or directly
Tax ID verificationVia AEAT LookupVia AEAT Lookup
Check out the guides below to get started:

FAQ

Invoicing questions
You should send the credit note with the same sign as the original invoice.In Spain, unlike other countries, credit notes must be submitted to Hacienda with inverse values. Invopop handles this conversion automatically before transforming the credit note into a “factura rectificativa” (corrective invoice).This means you only need to send the credit note following international standards (with same sign as the invoice). Invopop will automatically adapt it when submitting to Hacienda.For reference, see the GOBL Invoice documentation with type set to credit-note.
See the Spain tax regime in GOBL for tax categories, NIF rules, and Spanish-specific extensions. Subsystem-specific addons live alongside: es-verifactu-v1, es-tbai-v1, es-facturae-v3.
Issued invoices must be reported within 4 calendar days from the date of issuance — and always before the 16th day of the month following the one in which the VAT liability arises. Saturdays, Sundays, and national holidays are excluded from the count. Received invoices follow the same 4-day rule but starting from the date the invoice is recorded in the books.
SII corrections are submitted as modification records (A1) referencing the original entry, rather than by deleting and re-sending. In practice, after fixing the underlying GOBL document, run the SII workflow again — Invopop detects that a previous submission exists for the same invoice and emits the modification record automatically.
Build a GOBL invoice with the es-tbai-v1 addon, send it through the TicketBAI Issue Invoice workflow. Invopop signs with its sello de empresa certificate, generates the chained XML, and submits to the relevant Diputación Foral (Bizkaia, Gipuzkoa, or Álava).
This is expected. QR codes generated in the TicketBAI sandbox environment are intentionally non-functional to prevent sandbox invoices from being mistaken for real ones.To verify that a sandbox QR code is correct, upload the PDF or a QR image to the foral tax authority’s test verification page: pruebatuz.bizkaia.eus.
Registering supplier questions
We reject agreements when:
  • The uploaded document is not signed (they upload the unsigned template).
  • Users upload a handwritten signature without and ID.
  • The electronic signature is made with an FNMT certificate.
  • The agreement is missing a date or location.
  • The name is entered as an email address.
The job will state the reason for rejection.
A KO will be triggered and the supplier will be labelled with the Error state. We currently recommend sending a reminder to the supplier through a webhook.The registration link will not expire and the entity will still be able to upload their registration documents which will be validated. Should you choose to run this workflow again using this supplier, the supplier will be accepted or rejected immediately because the required documentation has already been provided and validated.
If the uploaded agreement documents were rejected, a KO will be triggered and the supplier will be labelled with the Error state. We currently recommend sending a notification to the supplier through a webhook within the Error Handling section.Afterwards, if you wish to re-register the supplier with new documents, you must:
  1. Unregister the supplier using the Unregister Supplier workflow.
  2. Re-run the Register supplier workflow.
This will restart the entire registration process. When uploading documents, the previously submitted agreement will appear selected by default. Simply choose a new file and click Continue to override the old one. See the image below for reference:
Overriding the previously submitted agreement
In order to complete the representation agreement you will need to provide the following information:Company
  1. Name
  2. NIF
  3. Address
Legal representative
  1. Full name
  2. Government ID type and number
  3. Address
Spain supplier example
{
  "$schema": "https://gobl.org/draft-0/org/party",
  "name": "Invopop S.L.",
  "tax_id": {
    "country": "ES",
    "code": "B85905495"
  },
    "people": [
        {
            "name": {
                "given": "Juan",
                "surname": "Pérez González"
            },
            "identities": [
                {
                    "key": "national",
                    "code": "123456789A"
                }
            ],
            "addresses": [
                {
                    "num": "10",
                    "street": "Calle Ejemplo",
                    "locality": "Madrid",
                    "region": "Madrid",
                    "code": "28020",
                    "country": "ES"
                }
            ]
        }
    ],
  "addresses": [
    {
      "num": "42",
      "street": "Calle Pradillo",
      "locality": "Madrid",
      "region": "Madrid",
      "code": "28002",
      "country": "ES"
    }
  ],
  "emails": [
    {
      "addr": "billing@example.com"
    }
  ]
}
If the entity is an self-employed individual (autónomo), only the information requested in in the Legal representative section is required.
Spain autónomo supplier example
{
  "$schema": "https://gobl.org/draft-0/org/party",
  "name": "Juan Pérez González",
  "tax_id": {
    "country": "ES",
    "code": "B85905495"
  },
  "addresses": [
    {
      "num": "42",
      "street": "Calle Pradillo",
      "locality": "Madrid",
      "region": "Madrid",
      "code": "28002",
      "country": "ES"
    }
  ],
  "emails": [
    {
      "addr": "autonomo@example.com"
    }
  ]
}
The supplier can add their electronic signature to the PDF document (instructions), or sign with a handwritten signature (we recommend using Adobe’s online service.
Individual documents are limited to a maximum size of 10MB. Uploads exceeding this size will result in an error.
Run the SII Register Supplier workflow. The supplier signs the representation agreement and Invopop registers as their colaborador social with AEAT. Invopop’s own certificate is then used for SII submissions on their behalf.
SII web services accept any AEAT-recognized certificate. Invopop signs submissions with its certificado de representante de persona jurídica, acting under the colaborador social arrangement — suppliers do not upload their own certificates.
Run the TicketBAI Register Supplier workflow. The legal representative signs the agreement (electronic or handwritten + ID); the supplier’s foral territory determines which Diputación Foral endpoint Invopop will submit to.
None — Invopop uses its own certificado sello de empresa (one of the three TicketBAI-permitted types). Suppliers do not need to register with the foral tax authority or upload any certificate.
Reporting questions
Continuously, every issued or received invoice must be reported within 4 calendar days (excluding weekends and holidays), and always before the 16th of the following month. There is no daily cadence; submissions happen as documents are processed.
SOAP web services with XML payloads — distinct schemas for issued (SuministroFactEmitidas), received (SuministroFactRecibidas), investment goods, and intra-EU operations. Each call carries up to 10,000 records signed with the issuer’s (or representative’s) certificate.
More answers in our Spain FAQ section

Participate in our community

Ask and answer questions about the Spain App →