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

1

Connect the SDI Italy app

  1. Navigate to ConfigurationApps
  2. Locate SDI Italy in the app discovery list
  3. Tap Connect to activate

Unlike sending, receiving invoices requires additional configuration after the initial connection.

2

Configure receiving workflows

For receiving invoices, two workflows must be set up:

  1. Customer Registration Workflow with Register SDI Customer (Italy) step. This workflow will register a company’s tax ID to receive invoices through SDI.
  1. Import Invoices Workflow with Import from SDI (Italy) step. This workflow will convert received FatturaPA documents into our open source GOBL format.
3

Configure the app for receiving invoices

To start processing incoming invoices navigate to ConfigurationApps, find the SDI Italy app and tap Configure and select the appropriate Import Invoices workflow

This workflow will automatically trigger whenever a new invoice is received through SDI. Any errors in the import process will trigger the rescue steps in the workflow, allowing identification and resolution of issues.

4

Register with Italian tax authority

You must register the Recipient Code (Codice Destinatario) for each company you want to receive invoices.

  1. Access the Italian tax authority’s website (https://ivaservizi.agenziaentrate.gov.it/portale/) and log in with valid credentials for the company being registered.
  1. Tap on the Fatture e Corrispettivi section.
  2. In the box Fatturazione elettronica, tap on Registrazione delle modalità di ricezione della fattura elettronica.
  3. Select the Recipient Code (Codice Destinatario) option and enter the code JKKZDGR provided by Invopop
  4. Tap on Conferma

After completing this registration with the tax authority, execute the Customer Registration workflow in Invopop to complete the setup for that company.

Both steps must be completed for each company

  1. Register the Codice Destinatario JKKZDGR with the Italian tax authority for that company
  2. Run the Customer Registration workflow for that company in Invopop

Registration is only required for receiving invoices, not for sending them.

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

1

Register with Italian tax authority

Register the Recipient Code JKKZDGR with the Italian tax authority for each company that needs to receive invoices, as outlined in the setup steps.

2

Set up the Customer Registration workflow

Run this workflow for each company that needs to receive invoices. This registers the company’s tax ID with our SDI integration partner to subscribe to invoice events for that organization.

3

Configure the app for import

Select the Import Invoices workflow in the SDI Italy app configuration to automatically process incoming invoices.

4

Process received invoices

Once registered, any invoices addressed to the registered companies with the Recipient Code will be automatically received and processed through the Import Invoices workflow configured in the app settings.

The import process uses the open-source library gobl.fatturapa to convert FatturaPA documents into GOBL format, making them accessible within the Invopop workspace like any other document.

If errors occur during the import process, they will trigger the rescue steps in the workflow, allowing users to check what went wrong and take appropriate action.

FAQ