Introduction
Electronic invoicing is mandatory for all businesses in Italy. The Sistema di Interscambio (SDI) serves as the Italian government’s central hub for transmitting, validating, and delivering all electronic invoices throughout the country. The SDI system operates using a standardized XML format called FatturaPA, which ensures all invoices contain the required information and comply with the strict validation rules established by the Italian tax authority (Agenzia delle Entrate). To ensure proper routing of invoices to the correct recipient, the SDI system uses a unique identifier called a Recipient Code, which is assigned to each registered SDI provider. Invopop simplifies SDI integration by allowing you to work with GOBL format instead of XML, providing synchronous validation before submission, and offering a simple API integration with automatic handling of SDI notifications and status updates. For sending invoices through SDI, see our companion guide: Italy - SDI: Sending Invoices.Setup
Connect the SDI Italy app
- Navigate to Configuration → Apps
- Locate SDI Italy in the app discovery list
- Tap Connect to activate

Set up the Customer Registration Workflow
Import Invoices Workflow
Configure the app for receiving invoices

Register with Italian tax authority
- Access the Italian tax authority’s website and log in with valid credentials for the company being registered.

- Tap on the Fatture e Corrispettivi section.
- In the box Fatturazione elettronica, tap on Registrazione delle modalità di ricezione della fattura elettronica.
- Select the Recipient Code (Codice Destinatario) option and enter the code
JKKZDGR
provided by Invopop - Tap on Conferma
- Register the Codice Destinatario
JKKZDGR
with the Italian tax authority for that company - Run the Customer Registration workflow for that company in Invopop
Receiving Invoices
Invopop uses the GOBL FatturaPA library to process conversions, automatically converting received FatturaPA XML documents into GOBL format. Detailed information about the SDI-specific extensions and validations can be found in:How the process works
Register with Italian tax authority
JKKZDGR
with the Italian tax authority for each company that needs to receive invoices, as outlined in the setup steps.Set up the Customer Registration workflow
Configure the app for import
Process received invoices
FAQ
Is electronic invoicing mandatory in Italy?
Is electronic invoicing mandatory in Italy?
What happens if a received invoice contains errors?
What happens if a received invoice contains errors?
- The import process will still attempt to convert it to GOBL format
- Any validation errors will be logged, and the rescue steps in your workflow will be triggered
- You can review the errors and decide how to handle the invoice
How quickly are invoices received after being sent by suppliers?
How quickly are invoices received after being sent by suppliers?
Can I register multiple companies to receive invoices?
Can I register multiple companies to receive invoices?
- Register the Recipient Code
JKKZDGR
with the Italian tax authority for that specific company - Have its tax ID registered using the Customer Registration workflow in Invopop
- Use the same Import Invoices workflow configured in the app settings
Can I use the same workflow for both sending and receiving invoices?
Can I use the same workflow for both sending and receiving invoices?
- For sending invoices, a workflow with the Generate FatturaPA and Send to SDI steps is needed
- For receiving invoices, two workflows are required:
- A Customer Registration workflow (run once for each company that needs to receive invoices)
- An Import Invoices workflow (configured to run automatically)
What is the difference between registering with the tax authority and registering with Invopop?
What is the difference between registering with the tax authority and registering with Invopop?