
E-Invoicing in Italy: a technical guide for POS Vendors and software houses
E-invoicing has been mandatory in Italy since 2019 for virtually all VAT-registered entities. If you develop management software, integrate POS systems, or offer tax compliance solutions to your clients, this is more than a regulatory requirement, it's an opportunity to add value to your product and differentiate yourself in the market.
This technical guide covers everything you need to know, from how the SDI works to the XML schema, from APIs to the esterometro, through to the cross-border challenges of ViDA, with a practical focus for those who need to integrate or build an e invoicing solution from within a software system.
What is e-invoicing and Why It Matters for POS and ISVs
E-invoicing is the process by which invoices are issued, transmitted, and received in a structured digital format, in compliance with the technical specifications defined by the Italian Revenue Agency (Agenzia delle Entrate). In Italy, the system is centralized: every invoice must pass through the Exchange System (SDI — Sistema di Interscambio), managed by the AdE.
The obligation has applied since January 1, 2019 for B2B and B2C transactions between VAT-registered entities resident or established in Italy (Legislative Decree 127/2015, as amended by the 2018 Budget Law). The gradual extension has over time included flat-rate taxpayers, advantageous-regime taxpayers, and entities under special tax regimes.
Why it matters for POS vendors and software houses
For a POS vendor or software house, e-invoicing is not an issue for the accounting department, it's a requirement that must live inside the product. Your clients, shops, restaurants, distributors, companies, expect their management software or point-of-sale system to generate, transmit, and store invoices automatically and in compliance with the law.
In practical terms, integrating e-invoicing into your product means:
- Generating the XML file in the correct FatturaPA format
- Transmitting the document to the SDI and handling response notifications
- Managing different flows (B2B, B2C, B2G/PA)
- Ensuring substitute preservation for 10 years
- Handling cross-border scenarios (esterometro, ViDA)
Ignoring these requirements means exposing your clients to penalties and losing competitiveness in a market where fiscal compliance is increasingly a purchasing criterion.
The exchange system (SDI): how it really works
The Exchange System is the public infrastructure managed by the Agenzia delle Entrate through which all Italian e-invoices pass. It is not a simple repository, it is a hub for validation, routing, and notification.
Step-by-step flow
- Issuance: The seller/service provider (or an intermediary) generates the FatturaPA XML file and digitally signs it (optional for B2B, mandatory in some PA cases).
- Transmission to the SDI: The file is sent via one of the official channels — SOAP web service, FTP, PEC (certified email), or the AdE web portal.
- Validation: The SDI formally verifies the file (XML structure, mandatory data, recipient code). If the file fails validation, it is rejected with a "rejection receipt" within 5 days.
- Delivery: If the file is valid, the SDI delivers it to the recipient via the indicated channel and sends a "delivery receipt" to the transmitter.
- Failed delivery: If the recipient is unreachable, the SDI makes the invoice available in the AdE restricted area and sends a "failed delivery notification." The invoice is nonetheless considered issued.
Recipient code and unique code
Recipient Code (7 characters)
The recipient code is a 7-character alphanumeric identifier assigned to entities that have registered a reception channel with the SDI. By including this code in the XML file, direct delivery to the recipient's technical channel is guaranteed. It is the preferred solution for B2B integrations: stable, reliable, and not subject to issues such as a full PEC inbox.
Unique Code (6 characters — PA only)
The 6-character SDI unique code is reserved exclusively for Public Administrations and identifies the recipient office in the Public Administration Index (IPA). It is mandatory for invoices addressed to the PA.
Recipient Code "0000000"
When the recipient has not communicated a recipient code, the convention requires the use of 0000000 (seven zeros): the invoice is made available in the recipient's AdE restricted area. Technically valid, but not ideal.
Implications for Integrations
Your system must allow configuring and storing the recipient code for each client/supplier, with correct fallback logic. Validation should reject PA invoices without a unique code and B2B invoices with malformed codes before even transmitting them to the SDI.
APIs and integration: build vs buy for software houses
Building the SDI integration directly requires implementing XML schema generation, digital signing, the transmission channel (SOAP, FTP, or PEC), a system for receiving and parsing notifications, and substitute preservation. Estimated effort: 6–12 months of development for a robust implementation, plus ongoing maintenance as AdE specifications change.
E-invoicing APIs from specialized providers expose a simple REST interface to your product.
The "buy" approach reduces time-to-market from months to days, eliminates the need to manage an accredited intermediary, and ensures automatic updates as specifications change.
For most software houses, integrating e-invoicing via API is the most rational choice. The core business is management software, not fiscal compliance. Maintaining a certified in-house transmission infrastructure generates no competitive advantage — it consumes it.
Esterometro and cross-border ViDA
The esterometro is the compliance obligation by which Italian VAT-registered entities report to the AdE transactions with foreign counterparts not established in Italy. Since July 1, 2022, it is no longer a quarterly periodic report: it is fulfilled through the transmission of self-invoices or XML integrations directly to the SDI, within the following deadlines:
Active transactions: by the 15th day of the month following the transaction
Passive transactions: by the 15th day of the month following receipt of the document
Penalty for omission: €2 per document (min. €500, max. €1,000 per quarter, reduced by 50% if transmission occurs within 15 days of the deadline).
ViDA: the European e-invoicing reform
ViDA (VAT in the Digital Age) is the European reform package that will reshape European e-invoicing in the coming years. Its three pillars are:
- Digital Reporting Requirements (DRR): mandatory e-invoicing and real-time reporting for intra-EU B2B transactions by 2030
- Single VAT Platform: a one-stop shop for VAT registration across all Member States
- Digital Platform Treatment: new rules for marketplaces and the sharing economy
For Italy, already advanced in terms of fiscal digitalization, ViDA is a natural evolution. Convergence toward Peppol/EN16931 standards will open new opportunities for Italian software houses looking to serve multi-country clients.
Substitute preservation
Issuing or receiving an e-invoice does not exhaust the obligation. Electronic invoice preservation is a separate compliance requirement, governed by Legislative Decree 82/2005 (CAD) and the Ministerial Decree of June 17, 2014.
What Is Substitute Preservation?
Substitute preservation guarantees the authenticity, integrity, readability, and retrievability over time of digital documents with fiscal relevance. It requires the application of a time stamp and a qualified digital signature by the Preservation Manager within specific deadlines.
Preservation Periods and Obligations
E-invoices must be preserved for 10 years. Throughout this period they must be:
- Intact and unmodified
- Authentic (traceable to the entity that issued/received them)
- Readable with standard tools
- Retrievable by date, number, and issuer
The preservation process must be initiated within 3 months of the deadline for filing the income tax return for the relevant year.
Implications for Software Houses and POS Vendors
Relying on the AdE restricted area is not sufficient: the AdE preserves invoices for only 5 years for tax audit purposes. Practical options for those integrating:
AdE "Preservation" Portal: free, limited functionality, suitable for low volumes
AgID-accredited providers: guaranteed SLAs, advanced search, API-integrable
Embedded solution in the software: the provider exposes archiving deposit APIs; your system automatically submits archiving packages
fiskaly E-INVOICE: one API for e-Invoicing and fiscalization
fiskaly's E-INVOICE solution covers the complete lifecycle of B2B e-invoices:
- SDI generation and transmission — XML FatturaPA, signing, and channel managed by the system
- Notification management — automatic reception, parsing, and archiving of all SDI notifications
- Peppol support — access to the Peppol network for cross-border operations, ViDA-ready
- Format conversion — all European standards, automatic conversion between formats
- 2-in-1 API — integrable with fiskaly's POS fiscalization solutions in a single contract
Why pur partner choose fiskaly
- Time-to-market in days, not months. Sandbox available immediately, no initial integration costs
- Zero regulatory maintenance. Updates to AdE specifications are absorbed by the API layer
- Pan-European coverage. One solution combining POS fiscalization and e-invoicing on the same API across Europe
- API-first. Cloud-native architecture
- Free API testing. Test the full integration before signing any contract
