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.

https://assets.invopop.com/apps/facturae/icon.svg

Facturae Spain

View implementation guide ›
DeveloperInvopop
CategoryGovernment
ScopeB2G
CountrySpain
Invopop’s Facturae app is designed to support fully compliant conversion from GOBL to Facturae 3.2.2 XML format. The generated XML invoice must be sent through the FACe platform or SII. Each public body registers its DIR3 codes identifying the accounting office, processing unit, and recipient office.Facturae is Spain’s official electronic invoicing format, defined and maintained by the Ministerio de Asuntos Económicos y Transformación Digital. It is an XML-based standard designed to ensure legally valid, structured e-invoices for business-to-government (B2G).Key Features
  1. Generate Facturae invoices: according to the Facturae 3.2.2 XML format.
  2. Adds required XAdES signature: Facturae invoices must be digitally signed using an XAdES XML signature

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.
Invopop is working on direct FACe connection as part of the 2027 Crea y Crece mandate
You submit the XML directly to the FACe portal, Invopop does not submit it for you. FACe is the centralised entry point for all Spanish public administrations, and submission is the supplier’s responsibility. You’ll need:
  • A valid digital certificate (FNMT or DNIe).
  • The XML file Invopop generated (download it from the workflow output).
  • The three DIR3 administrative centres correctly embedded in the invoice — Oficina Contable (01), Órgano Gestor (02), Unidad Tramitadora (03). If these are wrong, FACe will reject the invoice. The receiving public body publishes their codes in the DIR3 directory.
Submission options:
  • FACe web portal: manual upload, fine for low volumes.
  • A registered FACe-compatible third party (gestoría, ERP plugin, etc.).
The generated XML will be added to your silo entry as an attachment under the “files” tab with the file name facturae.xml. Upload this file to FACe’s online validator to verify its validity.
No, our Facturae app converts from GOBL to the Facturae format. You must report it to the AEAT through your ERP or through the FACe platform.
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.
Facturae itself has no central registration — the supplier just needs to enrol on FACe (or the relevant regional portal) using their digital certificate. Invopop signs the XML; submission to FACe is currently manual via the supplier’s account.
Facturae requires an XAdES signature on the XML using a qualified certificate (FNMT persona jurídica, Cl@ve, ACCV, etc.). Invopop signs with its own certificate by default; bring-your-own is supported on request.
More Spain FAQs available in our Spain FAQ section

Participate in our community

Ask and answer questions about Facturae Spain App →