Skip to main content

Introduction

SII (Suministro Inmediato de Informaciรณn) is a fiscal initiative by the Spanish Tax Agency (AEAT) that requires large businesses to report invoices through certified software. The system submits invoices in the SII format to the tax authorities.
SII is mandatory for companies that meet certain requirements. Companies reporting with VERI*FACTU or TicketBAI are exempt from reporting with SII.

Prerequisites

To issue your first SII invoice, you must have had registered at least one supplier. Make sure you read and implemented the SII 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.
Keep the Workflow ID at hand, youโ€™ll use it later.
SII allows for document modifications after submission. If a document is rejected or contains errors, update the GOBL details and resubmit to the same workflow.

Issue an Invoice

1

Upload an Invoice

Use the Create an entry endpoint to upload the invoice details. Include an invoice object in the data field with these required fields:
  • Add the es-sii-v1 addon
  • supplier: Use the details of the supplier youโ€™ve registered before.
You can copy one of the example invoices below as a reference.
Simplified invoices are used for B2C transactions when the customer is not a business. The transaction amount should be under โ‚ฌ400 (VAT included) with some exceptions in which this threshold is increased to โ‚ฌ3,000.To create a simplified SII invoice, include the simplified tag in your GOBL document with the es-sii-v1 addon. The addon will automatically set the document type to F2 (Simplified invoice) when the silo entry is built.
SII B2C Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "$tags": [
    "simplified"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "rate": "general"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a standard tax"
    }
  ]
}
Regular invoices are used for B2B transactions. Regular invoices must be issued when:
  • 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.
To create a regular SII invoice, include the es-sii-v1 addon and ensure the customer field contains valid tax identification details. The addon will automatically set the document type to F1 when the silo entry is built (which happens automatically when saving a silo entry through the API or console).
The supplier must be previsouly registered with the tax authority and the customer NIF or VAT ID must be valid.
SII B2B Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "ES",
      "code": "B63272603"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "rate": "general"
        }
      ]
    }
  ]
}
Reverse charge invoices are used for B2B services provided to customers in other EU member states. Reverse charge must be applied when:
  • 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.
To create a reverse charge SII invoice, use the tax key reverse-charge in your invoice lines. This will automatically set the operation type to S2 (Subject and Not Exempt - With reverse charge) when reporting the document to SII.You also need to set the items key to services. This will generate a breakdown by operation type which is required for this type of invoices.
With reverse charge, no VAT is charged by the supplier. The customer accounts for VAT in their own country. The supplier must be previously registered with the tax authority and the customer VAT ID must be valid and registered in the EU VIES system.
SII B2B Invoice Services (EU)
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "DE",
      "code": "111111125"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "key": "services",
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "key": "reverse-charge"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with reverse charge"
    }
  ]
}
Intra-community supply invoices are used for B2B goods delivered to customers in other EU member states. Intra-community supplies must be applied when:
  • 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 (Spain) and subject to VAT in the destination country.
To create an intra-community supply SII invoice, use the tax key intra-community in your invoice lines. The es-sii-v1 addon will automatically set the exemption reason to E5 (Artรญculo 25 Ley de IVA) and the special regime code to 02 (Export) when the silo entry is built.You also need to set the items key to goods. This will report to SII a breakdown by operation type which is required for this type of invoices.
With intra-community supplies, no VAT is charged in Spain. The customer accounts for VAT in their destination country. The supplier must be previously registered with the tax authority and the customer VAT ID must be valid and registered in the EU VIES system.
SII B2B Invoice Goods (EU)
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "DE",
      "code": "111111125"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "key": "goods",
        "name": "Goods",
        "price": "90.00"
      },
      "taxes": [
        {
          "cat": "VAT",
          "key": "intra-community",
          "ext": {
            "es-sii-regime": "02"
          }
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a intra-community"
    }
  ]
}

Outside scope invoices are used for B2B services provided to customers outside the EU.To create an outside scope SII invoice, use the tax key outside-scope in your invoice lines. The es-sii-v1 addon will automatically set the type of operation outside scope to location when the silo entry is built.
Services provided to non-EU customers are generally outside the scope of Spanish VAT. The supplier must be previously registered with the tax authority. Customer tax identification is optional but recommended for record-keeping purposes.
Built example
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "SG",
      "code": "201312345A"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "key": "services",
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "key": "outside-scope"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a outside-scope tax"
    }
  ]
}
Export invoices are used for B2B goods delivered to customers outside the EU.To create an export SII invoice, use the tax key export in your invoice lines. The es-sii-v1 addon will automatically set the exemption reason to E2 (Artรญculo 21 Ley de IVA) and the special regime code to 02 (Export) when the silo entry is built.
Exported goods are exempt from Spanish VAT. The supplier must be previously registered with the tax authority. Customer tax identification is optional but recommended for record-keeping purposes.
SII B2B Invoice Goods (No EU)
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "SG",
      "code": "201312345A"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "key": "goods",
        "name": "Goods",
        "price": "90.00"
      },
      "taxes": [
        {
          "cat": "VAT",
          "key": "export"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with an export"
    }
  ]
}
Exempt E1 invoices are used for B2B transactions that are exempt from VAT pursuant (Artรญculo 20 Ley de IVA), which covers exemptions in internal operations.To create an exempt E1 SII invoice, use the tax key exempt in your invoice lines. The es-sii-v1 addon will automatically set the exemption code to E1 when the silo entry is built.
Exempt operations are not subject to VAT but must still be reported. The supplier must be previously registered with the tax authority and the customer NIF must be valid.
SII B2B Exempt E1 Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "ES",
      "code": "B63272603"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "key": "exempt"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a exempt tax"
    }
  ]
}
One-Stop-Shop (OSS) invoices are used for B2C distance sales of goods and services to consumers in other EU member states when the supplier is registered under the OSS scheme.To create an OSS SII invoice, include the simplified tag in your GOBL document with the es-sii-v1 addon. The invoice will be treated as a simplified invoice (document type F2) and VAT is accounted for through the OSS scheme in the destination country.
OSS allows suppliers to register for VAT in one EU member state and account for VAT on all EU distance sales through that single registration. The supplier must be previously registered with the tax authority and enrolled in the OSS scheme.
SII B2C One Stop Shop Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "$tags": [
    "simplified"
  ],
  "series": "SAMPLE",
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "rate": "general"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a standard tax"
    }
  ]
}
After uploading youโ€™ll see the document in the Invoices section with status Empty.
Empty invoice

Empty invoice

2

Send the Invoice to the SII invoice workflow

Send the invoice to the SII workflow using the Create a job endpoint. Use:
  • workflow_id: use the Workflow ID of the SII invoice workflow created on setup.
  • silo_entry_id: use the Silo Entry ID of the invoice youโ€™ve just uploaded.
The invoiceโ€™s status will change to Sent when the workflow completes successfully.
Sent invoice

Sent invoice

You can verify that the PDF was generated by clicking on the invoice and selecting the PDF from the โ€œFilesโ€ tab.

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.
For example, if you issued an invoice for โ‚ฌ100 but later realized it should have been โ‚ฌ80, you can either:
  • Issue a credit note for โ‚ฌ20, or
  • Issue a corrective invoice for โ‚ฌ80.
Unless you have a specific requirement to use a corrective invoice we recommend only using credit notes. Theyโ€™re more widely supported across countries, while corrective invoices are specific to a few jurisdictions like Spain. Examples where you would need to issue a corrective invoice (Rectificativa por Sustituciรณn) are incorrect supplier or client data, which canโ€™t be corrected through credit or debit notes.
1

Upload a Credit Note

A credit note in Invopop is an invoice of the type credit note. The process is very similar to uploading an invoice, use the Create an entry endpoint to upload a credit note. Include an invoice object in the data, with these required fields:
  • Add the es-sii-v1 addon
  • supplier: use the same supplier details as in the original invoice
  • type: credit-note
  • preceding: references the original invoice, within it, you must include:
    • uuid: the UUID of the original invoice (optional but recommended)
    • type: type of the original invoice
    • issue_date: the date of the original invoice
    • series: the series of the original invoice
    • code: the code of the original invoice
You can copy the example credit note below as a reference.
SII Credit Note
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "type": "credit-note",
  "series": "CN",
  "preceding": [
    {
      "type": "standard",
      "issue_date": "2025-11-13",
      "series": "SAMPLE",
      "code": "004"
    }
  ],
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "ES",
      "code": "B63272603"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "rate": "general"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a standard tax"
    }
  ]
}
After successful upload, youโ€™ll see the credit note in the Invoices section with status 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.
2

Send the Credit Note to the SII invoice workflow

Send the credit note to the SII workflow using the Create a job endpoint. Use:
  • workflow_id: use the Workflow ID of the _SII invoice _workflow we created during setup
  • silo_entry_id: use the The Silo Entry ID of the credit note youโ€™ve just uploaded.
The credit noteโ€™s status will change to Sent when the workflow completes successfully.

Issue a Corrective Invoice (Rectificativa por Sustituciรณn)

1

Upload a Corrective Invoice

A corrective invoice in Invopop is an invoice of the type 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-sii-v1 addon
  • supplier_id: use the same supplier details as in the original invoice
  • type: corrective
  • preceding: references the original invoice, within it, you must include:
    • uuid: the UUID of the original invoice (optional but recommended)
    • type: type of the original invoice
    • issue_date: the date of the original invoice
    • series: the series of the original invoice
    • code: the code of the original invoice
    • tax: the tax section of the original invoice, you can copy it from the original invoice
You can copy the example corrective invoice below as a reference.
SII Corrective Invoice
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "$addons": [
    "es-sii-v1"
  ],
  "type": "corrective",
  "series": "CO",
  "preceding": [
    {
      "type": "standard",
      "issue_date": "2024-11-13",
      "series": "SAMPLE",
      "code": "004",
      "tax": {
        "categories": [
          {
            "code": "VAT",
            "rates": [
              {
                "key": "standard",
                "ext": {
                  "es-sii-regime": "01"
                },
                "base": "1800.00",
                "percent": "21.0%"
              }
            ]
          }
        ]
      }
    }
  ],
  "supplier": {
    "name": "Invopop S.L.",
    "tax_id": {
      "country": "ES",
      "code": "B85905495"
    },
    "addresses": [
      {
        "num": "42",
        "street": "Calle Pradillo",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ],
    "emails": [
      {
        "addr": "[email protected]"
      }
    ]
  },
  "customer": {
    "name": "Sample Consumer",
    "tax_id": {
      "country": "ES",
      "code": "B63272603"
    }
  },
  "lines": [
    {
      "quantity": "20",
      "item": {
        "name": "Development services",
        "price": "90.00",
        "unit": "h"
      },
      "taxes": [
        {
          "cat": "VAT",
          "rate": "general"
        }
      ]
    }
  ],
  "notes": [
    {
      "key": "general",
      "text": "This is a sample invoice with a standard tax"
    }
  ]
}
After successful upload, youโ€™ll see the corrective invoice in the Invoices section with status 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.
2

Send the Corrective Invoice to the SII invoice workflow

Send the corrective invoice to the SII workflow using the Create a job endpoint. Use:
  • workflow_id: use the Workflow ID of the SII invoice workflow we created during setup
  • silo_entry_id: use the The Silo Entry ID of the corrective invoice youโ€™ve just uploaded.
The corrective invoiceโ€™s status will change to Sent when the workflow completes successfully.

Spain FAQ

Find answers to frequently asked questions about invoicing in Spain โ†’

Participate in our community

Ask and answer questions about invoicing in Spain โ†’