Supported Countries

Vatify supports VAT compliance and e-invoicing across 63+ countries and special tax regions. This page covers the primary EU markets with active e-invoicing obligations.


E-Invoicing Coverage Matrix

CountryE-InvoicingE-ReportingTax AuthorityStatus
🇪🇸 SpainAEAT✅ Live
🇮🇹 ItalySDI (Agenzia Entrate)✅ Live
🇩🇪 Germany✅ Live
🇵🇱 PolandKSeF (MF)✅ Live
🇷🇴 RomaniaANAF✅ Live
🇵🇹 PortugalAT✅ Live
🇧🇪 BelgiumPeppol network✅ Live
🇭🇺 HungaryNAV✅ Live
🇫🇷 France🔄 In progress🔄 In progressDGFiP🔄 Rollout

Country Deep Dives

🇪🇸 Spain

Spain has the most complex e-invoicing requirements in Europe due to running two parallel systems.

SII (Suministro Inmediato de Información)

  • Real-time reporting of invoice data to AEAT within 4 days of issuance
  • Applies to large companies (turnover > €6M) and voluntary registrants
  • purpose: EINVOICING, flow: ISSUED or RECEIVED
  • Requires Spanish digital certificate for direct submission

Veri*Factu

  • New real-time invoice chain for all B2B and B2C transactions (rollout 2025–2026)
  • Replaces older systems for companies not on SII
  • purpose: RTR

Key parameters:

{
  "countryIso": "ES",
  "vatNumber": "ES12345678Z",
  "purpose": "EINVOICING",
  "flow": "ISSUED"
}

Certificates: Spanish companies need a valid FNMT digital certificate uploaded via POST /v1/es/certificate.


🇮🇹 Italy

Italy operates a clearance model — every invoice must be sent through SDI (Sistema di Interscambio) before it has legal validity.

  • Format: FatturaPA (XML-based national standard)
  • All B2B and B2C invoices must go through SDI
  • SDI assigns a unique progressivoInvio (submission reference) to each invoice
  • Invoices not submitted through SDI are not legally valid

Key parameters:

{
  "countryIso": "IT",
  "vatNumber": "IT12345678901",
  "purpose": "EINVOICING",
  "flow": "ISSUED"
}

🇩🇪 Germany

Germany mandates XRechnung format for B2G (business-to-government) invoices. B2B e-invoicing is being phased in from 2025.

  • Format: XRechnung (UBL or CII profile)
  • B2G: Mandatory since 2020 (federal), 2022 (state level)
  • B2B: Mandatory from January 2025 (receiving), July 2025 (issuing)
  • Routed via Peppol network

Key parameters:

{
  "countryIso": "DE",
  "vatNumber": "DE123456789",
  "purpose": "EINVOICING",
  "flow": "ISSUED"
}

🇵🇱 Poland

Poland uses KSeF (Krajowy System e-Faktur), a national clearance platform operated by the Ministry of Finance.

  • Format: KSeF XML (FA(2) schema)
  • Mandatory B2B e-invoicing: February 2026 (postponed from 2024)
  • All invoices must be submitted to KSeF before sending to the customer
  • KSeF assigns a unique KSeF number to each accepted invoice

Key parameters:

{
  "countryIso": "PL",
  "vatNumber": "PL1234567890",
  "purpose": "EINVOICING",
  "flow": "ISSUED"
}

🇷🇴 Romania

Romania's e-Factura system (operated by ANAF) requires all B2B invoices to be submitted before delivery.

  • Format: UBL 2.1 (Romanian profile)
  • Mandatory for all B2B transactions since January 2024
  • ANAF validates and assigns a unique ID to each invoice

Key parameters:

{
  "countryIso": "RO",
  "vatNumber": "RO12345678",
  "purpose": "EINVOICING",
  "flow": "ISSUED"
}

🇫🇷 France

France is rolling out mandatory B2B e-invoicing in phases via the Chorus Pro platform and accredited PDPs (Plateformes de Dématérialisation Partenaires).

  • Format: Factur-X, UBL, or CII
  • Large companies: September 2026
  • Mid-size companies: September 2026
  • Small companies: September 2027
  • Vatify is an accredited PDP partner

Submission Models Explained

ModelDescriptionCountries
ClearanceInvoice must be submitted and approved by tax authority before it's legally validItaly, Poland, Romania, France (2026)
Real-time ReportingInvoice data reported to authority within hours/days of issuanceSpain (SII), Hungary
Post-auditInvoices exchanged directly; authority audits periodicallyGermany, Belgium
ReportingPeriodic summaries submitted (not per-invoice)Portugal

Using Multiple Countries

One Vatify API integration handles all countries. Specify countryIso and vatNumber per request:

# Spain invoice
curl -X POST https://gw.mvsandbox.com/api/invoicing/v1.1/document \
  ?countryIso=ES&vatNumber=ES12345678Z&purpose=EINVOICING&flow=ISSUED \
  -H "Authorization: Bearer {token}" \
  -d '{...invoice payload...}'

# Italy invoice — same endpoint, different params
curl -X POST https://gw.mvsandbox.com/api/invoicing/v1.1/document \
  ?countryIso=IT&vatNumber=IT12345678901&purpose=EINVOICING&flow=ISSUED \
  -H "Authorization: Bearer {token}" \
  -d '{...invoice payload...}'