Skip to main content

Compliance questions

Italy
1 January 2019 for all B2B and B2C transactions between resident parties (B2G has been mandatory since 2014). 1 July 2022 extended the mandate to flat-rate scheme contributors. Cross-border B2B is reported via SDI (the esterometro was retired in 2022).
Any entity with an Italian Partita IVA (VAT number) — companies, professionals, and flat-rate scheme contributors. Codice Fiscale alone is not sufficient for invoicing through SDI.
Quarterly VAT (LIPE), annual VAT return (Modello IVA), Esterometro (cross-border B2B summary, replaced by SDI direct submission since 2022), and Modello 730/Redditi for personal returns. SDI clearance handles the per-invoice reporting layer.
SDI
Yes, electronic invoicing through SDI is mandatory in Italy for B2G, B2B, and B2C transactions.All invoices must be issued in FatturaPA format and transmitted through the SDI (Sistema di Interscambio) platform.
There are two main ways to correct an invoice in the Italian SDI system:
  1. Issue a credit note (Nota di Credito - TD04) to fully or partially cancel the original invoice.
  2. Issue a debit note (Nota di Debito - TD05) to integrate/correct the original invoice with additional charges.
The corrective document must reference the original invoice number and date.An invoice rejected by SDI is different: it has no legal existence, so correct it and send a fresh one rather than issuing a credit note.
The supplier must have an active Partita IVA registered with the Agenzia delle Entrate. Invopop transmits on the supplier’s behalf over its own accredited channel — no individual supplier certificate is required.
No. Italian law requires long-term preservation through a certified process (conservazione a norma), which has to follow the rules set by the authorities — in practice, an accredited provider. Invopop preserves the exact XML exchanged with SDI and attaches the preservation receipt to the invoice; see the archiving guide.
Smart Receipts
For B2C transactions where the customer’s Codice Fiscale or Partita IVA is unknown — typical retail or online checkouts. AdE CF generates a Documento Commerciale (commercial receipt) instead of a FatturaPA. Once the customer’s tax ID is known, regular SDI invoicing must be used.
The supplier must have a Partita IVA and operate in a sector that issues commercial receipts (retail, hospitality, etc.). They need to register with Agenzia delle Entrate as an AdE CF issuer before going live.
Each documento commerciale is transmitted in real time through the AdE CF service; the Agenzia delle Entrate derives daily corrispettivi totals automatically, replacing the historical registratore di cassa daily total.

Invoicing questions

Italy
Install the Italy app for structured invoicing through SDI, or the Smart Receipts app for B2C-only AdE CF receipts. Run invoices through a workflow with the Send invoice to SDI step — see the issuing guide.
Retail receipts (documento commerciale, commonly called scontrino) are not SDI invoices — they are reported to the tax authority as corrispettivi through a separate channel. Use the Smart Receipts Italy app for those, and see the Smart Receipts issuing guide.
See the Italy tax regime in GOBL for tax categories, codice fiscale rules, and SDI-specific extensions. The it-sdi-v1 addon documents required FatturaPA fields.
SDI
The Send invoice to SDI step completes as soon as SDI accepts the file — it doesn’t wait for SDI’s verdict. What takes time is SDI’s own processing: a rejection usually arrives within minutes, but delivery confirmations can take up to 5 days. Each verdict is recorded against the invoice as a status entry, so nothing is stuck while you wait. See the status guide for the full lifecycle.
SDI confirms delivery with an RC (ricevuta di consegna) notification, recorded on the invoice as a status entry with the GOBL status acknowledged. A rejection arrives as NS with status error. Every notification and what it means is covered in the status guide.
Set a reserved codice destinatario on the customer — for example SIMNS00 to simulate a rejection. The sandbox simulates SDI end to end and feeds back the notifications a real exchange would produce; any ordinary code resolves to a successful delivery. The full list of reserved codes is in the issuing guide.
Invopop handles both Italian tax identification numbers in the supplier and customer sections of invoices:
  • Partita IVA (VAT number): Automatically extracted from the tax_id/code field.
  • Codice Fiscale (fiscal code): Must be specified as an identity with the key it-fiscal-code.
Here’s an example showing both identifiers in a supplier object:
Supplier with Partita IVA and Codice Fiscale
Smart Receipts
You cannot modify an AdE CF invoice after issuing it. Instead you must:
  1. Void the incorrect invoice using the “Void AdE CF Invoices” workflow
  2. Issue a new invoice with the correct information
We recommend adding a series and code to the invoice so that you can keep track internally even though the AdE will generate a document number.
AdE CF is not a substitute for SDI. SDI is the main channel for issuing electronic invoices in Italy; Invopop issues FatturaPA documents through it. AdE CF should only be used when customer information is not available, like in online B2C scenarios.
Use the standard GOBL invoice with the simplified tag. No customer tax ID is required. The it-ticket-v1 addon handles the AdE CF-specific fields. Each receipt gets a unique Lottery Code if the lottery functionality is enabled.

Registering supplier questions

Italy
Provide the supplier’s Partita IVA and Codice Fiscale (where different) in their party configuration. No certificate upload is needed — Invopop transmits to SDI over its own accredited channel.
No supplier certificates are required. Invopop exchanges documents with SDI over its own accredited channel; only the Partita IVA and routing metadata are stored.
SDI
You don’t need to. SDI has no supplier registration for sending: set the supplier’s Partita IVA on the party and send. Registration is only needed for receiving — see the receiving invoices guide.
None — Invopop exchanges documents with SDI over its own accredited channel, so suppliers don’t manage any certificates. The one exception is invoices to public administrations (FPA12), which require a qualified electronic signature and are not yet supported.
Smart Receipts
Run the Smart Receipts Register Supplier workflow with the supplier’s Partita IVA. Invopop registers the merchant with Agenzia delle Entrate’s AdE CF service so issuance can begin immediately.
None at the supplier level. Invopop authenticates to AdE CF via its intermediary credentials. The supplier’s Partita IVA is the only routing identifier needed.

Receiving questions

Italy
Register Invopop’s recipient code (BDCS3JD) with the tax authority and run the registration workflow on the company’s party entry. Invopop automatically receives matching invoices and routes them through the configured import workflow. See the receiving invoices guide.
Inbound FatturaPA XMLs are parsed via gobl.fatturapa. The original signed XML is preserved as a silo entry attachment alongside the GOBL representation.
SDI
Register the company for reception in your sandbox workspace, then send a sandbox invoice addressed to it — the app loops it back to you as an inbound delivery and runs your import workflow, exactly as a real delivery would. This is the only way to receive an invoice in sandbox: there is no tax authority to register with, and no real supplier can reach it. See receiving your own invoices.
The import step attempts to convert the FatturaPA document into GOBL. If conversion fails, the step returns KO, but the original file stays stored — the invoice can be re-processed later without SDI needing to redeliver it.If the invoice has significant structural issues that prevent conversion, you may need to contact the sender to request a corrected invoice.
Invoices are typically received within minutes after being sent by suppliers through SDI. The automatic import process in Invopop processes them as soon as they are received by our system.
Yes, multiple companies can be registered to receive invoices through a single Invopop workspace. For each company, you must:
  1. Register the recipient code BDCS3JD with the Italian tax authority for that specific company
  2. Have its tax ID registered by running the registration workflow on the company’s party entry
  3. Use the same import workflow configured in the app settings
This two-step registration process (with the tax authority and with Invopop) must be completed for each company you want to register. This is particularly useful for white-labeling scenarios where a user manages multiple entities.
Yes, but only one party at a time can hold a given tax ID. Run the unregister workflow on the party that currently holds it, then register the new one.Registering a tax ID that another party already holds fails with a clear error.Sandbox and live are counted separately, so the same tax ID can be registered in both at the same time.
The two-step registration process serves different purposes:
  1. Registering with the Italian tax authority - Tells SDI to route invoices addressed to your company to Invopop’s channel using the Codice Destinatario BDCS3JD.
  2. Registering with Invopop (the registration workflow) - Tells Invopop which invoices to accept and process for your workspace.
Both steps are necessary: the first routes the invoices to Invopop, and the second ensures Invopop knows which workspace should receive those invoices.
Signed FatturaPA XML (versions 1.2.x), conforming to the Agenzia delle Entrate schema. The original file is kept attached to the entry exactly as SDI delivered it, alongside SDI’s delivery metadata.

Reporting questions

SDI
Add the Archive document step to your workflows, after the step that exchanges the document with SDI. It uploads the exact FatturaPA file, waits for the preservation service to confirm the document is preserved, and attaches the signed receipt to the entry. See the archiving guide for the full setup.
Yes. Italian preservation rules cover both the invoices you issue and the ones you receive, and both are preserved the same way — add the Archive document step after the import step in your receiving workflow.
Nothing — unregistering only stops receiving. Invoices already preserved under conservazione a norma stay preserved, as the law requires.
Smart Receipts
Per receipt, in real time — there is no periodic batch. Invopop transmits each receipt to AdE CF as it is issued. End-of-day totals are aggregated automatically by Agenzia delle Entrate from individual transmissions.
No periodic format — per-receipt JSON sent to AdE CF’s REST endpoint. Daily/monthly aggregations are derived automatically by Agenzia delle Entrate.

Participate in our community

Ask and answer questions about Italy’s regulation →