> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Italy FAQ

> Frequently asked questions about invoicing compliance in Italy

### Compliance questions

**Italy**

<AccordionGroup>
  <Accordion title="When did mandatory e-invoicing start in 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).
  </Accordion>

  <Accordion title="Who can act as a supplier in Italy?">
    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.
  </Accordion>

  <Accordion title="What are the legal obligations for receiving invoices in Italy?">
    All resident businesses must receive electronic invoices through SDI — it's the only legal channel. Invoices must be archived in their structured FatturaPA XML form for 10 years.
  </Accordion>

  <Accordion title="What periodic reporting obligations exist in Italy?">
    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.
  </Accordion>
</AccordionGroup>

**SDI**

<AccordionGroup>
  <Accordion title="Is electronic invoicing mandatory in Italy?">
    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.
  </Accordion>

  <Accordion title="How can I correct an invoice in SDI?">
    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.
  </Accordion>

  <Accordion title="Are there special supplier obligations under SDI?">
    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.
  </Accordion>

  <Accordion title="What are the legal obligations for receiving invoices through SDI?">
    Recipients must register a Codice Destinatario (recipient code) with the Agenzia delle Entrate. Once registered, all incoming invoices route through SDI to the registered channel. Archival in original XML for 10 years.
  </Accordion>

  <Accordion title="Is keeping my own copy of the invoices enough to satisfy Italian archiving rules?">
    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](/guides/it-sdi-archiving).
  </Accordion>
</AccordionGroup>

**Smart Receipts**

<AccordionGroup>
  <Accordion title="When should I use AdE CF 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.
  </Accordion>

  <Accordion title="Are there special supplier obligations under Smart Receipts?">
    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.
  </Accordion>

  <Accordion title="What reporting obligations do Smart Receipts impose?">
    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.
  </Accordion>
</AccordionGroup>

### Invoicing questions

**Italy**

<AccordionGroup>
  <Accordion title="How do I configure my workspace for Italian invoicing?">
    Install the [Italy app](/apps/italy) 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](/guides/it-sdi-invoicing).
  </Accordion>

  <Accordion title="How do I issue a documento commerciale (scontrino)?">
    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](/apps/smart-receipts-italy) for those, and see the [Smart Receipts issuing guide](/guides/it-ticket).
  </Accordion>

  <Accordion title="Where do I find Italy-specific GOBL documentation?">
    See the [Italy tax regime in GOBL](https://docs.gobl.org/regimes/it) for tax categories, codice fiscale rules, and SDI-specific extensions. The [`it-sdi-v1`](https://docs.gobl.org/addons/it-sdi-v1) addon documents required FatturaPA fields.
  </Accordion>
</AccordionGroup>

**SDI**

<AccordionGroup>
  <Accordion title="Why is my invoice processing taking so long?">
    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](/guides/it-sdi-status) for the full lifecycle.
  </Accordion>

  <Accordion title="How do I know if my invoice was delivered successfully?">
    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](/guides/it-sdi-status).
  </Accordion>

  <Accordion title="How do I test different SDI outcomes in the sandbox?">
    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](/guides/it-sdi-invoicing#testing-in-the-sandbox).
  </Accordion>

  <Accordion title="How do I add codice fiscale and Partita IVA?">
    Both Italian tax identifiers have their own place on a party. The *partita IVA* (VAT number) goes in `tax_id`, and the *codice fiscale* goes in `identities` under the key `it-fiscal-code`. A party may carry both.

    An Italian supplier always needs a *partita IVA*. An Italian customer needs at least one of the two — which one depends on who they are, covered in the [issuing guide](/guides/it-sdi-invoicing#identifying-the-customer).

    Here's an example showing both identifiers on a supplier:

    ```json Supplier with Partita IVA and Codice Fiscale theme={"system"}
    {
        "supplier": {
            "name": "MªF. Services",
            "tax_id": {
                "country": "IT",
                "code": "12345678903"
            },
            "identities": [
                {
                    "key": "it-fiscal-code",
                    "code": "MRTMTT91D08F205J"
                }
            ]
        }
    }
    ```
  </Accordion>

  <Accordion title="How do I invoice a customer outside Italy?">
    Send it through SDI as usual — an Italian supplier reports the invoice there whoever the customer is. SDI has no way to deliver outside Italy, though, so it won't reach the customer that way: send them their copy yourself, normally as a PDF. It's the same invoice travelling by two routes, and only the FatturaPA file is the legal one.
  </Accordion>

  <Accordion title="What if the customer has no tax ID at all?">
    An Italian customer needs either a *partita IVA* or a *codice fiscale*. A customer outside Italy needs neither — their country is enough, so leave the code out rather than inventing a placeholder. See [identifying the customer](/guides/it-sdi-invoicing#identifying-the-customer).
  </Accordion>

  <Accordion title="How do I reference a receipt (documento commerciale) in an SDI invoice?">
    Add an item attribute to the invoice line with `type` `N.DOC.COMM` and the receipt's identifier in `text`, its progressive number in `amount` and its date in `date`. The `it-sdi-v1` addon writes each item attribute as an `AltriDatiGestionali` block (`TipoDato`, `RiferimentoTesto`, `RiferimentoNumero`, `RiferimentoData`). The `type` is limited to 10 ASCII characters. See the "Invoice after a documento commerciale" example in the [issuing guide](/guides/it-sdi-invoicing#example-invoices).
  </Accordion>
</AccordionGroup>

**Smart Receipts**

<AccordionGroup>
  <Accordion title="How do I correct mistakes in an issued AdE CF invoice?">
    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
  </Accordion>

  <Accordion title="Do I still need to add a series and code to the invoice?">
    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.
  </Accordion>

  <Accordion title="Is AdE CF a substitute for SDI?">
    AdE CF is **not** a substitute for [SDI](/guides/it-sdi-invoicing). 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.
  </Accordion>

  <Accordion title="What GOBL fields are required for Smart Receipts?">
    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.
  </Accordion>

  <Accordion title="A customer asked for an invoice after I issued their receipt. What do I do?">
    Leave the receipt as it is and issue a regular SDI invoice for the sale through the [Italy app](/guides/it-sdi-invoicing). Reference the receipt on each line with an item attribute (`type` `N.DOC.COMM`, the receipt's `ade-ref` number in `text`, its progressive number in `amount` and its date in `date`), which the `it-sdi-v1` addon converts into the `AltriDatiGestionali` block the AdE expects. Invopop does not change the daily totals already transmitted, so remove the invoiced amount from your own *corrispettivi* records. See [Invoice requested after a receipt](/guides/it-ticket#invoice-requested-after-a-receipt).
  </Accordion>
</AccordionGroup>

### Registering supplier questions

**Italy**

<AccordionGroup>
  <Accordion title="How do I onboard a new supplier in 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.
  </Accordion>

  <Accordion title="How are supplier credentials stored in Invopop for Italy?">
    No supplier certificates are required. Invopop exchanges documents with SDI over its own accredited channel; only the Partita IVA and routing metadata are stored.
  </Accordion>
</AccordionGroup>

**SDI**

<AccordionGroup>
  <Accordion title="How do I register a supplier with 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](/guides/it-sdi-reception).
  </Accordion>

  <Accordion title="What certificates does SDI require to authenticate a supplier?">
    None — Invopop exchanges documents with SDI over its own accredited channel, so suppliers don't manage any certificates. Invoices to public administrations (`FPA12`) also need a qualified electronic signature, which Invopop applies with its own seal when it sends them.
  </Accordion>
</AccordionGroup>

**Smart Receipts**

<AccordionGroup>
  <Accordion title="How do I register a supplier with Smart Receipts?">
    Create the supplier party with its Partita IVA and run the Smart Receipts Register Supplier workflow. The workflow returns a signed registration link in the silo entry's meta. Open the link (or share it with the supplier) and submit the supplier's AdE credentials. Once the form is accepted, the post-registration workflow runs and the supplier can start issuing receipts. See the [supplier registration guide](/guides/it-ticket-supplier) for the full steps.
  </Accordion>

  <Accordion title="What credentials does Smart Receipts require to authenticate a supplier?">
    The supplier's own Agenzia delle Entrate portal credentials: the password and PIN they use at ivaservizi.agenziaentrate.gov.it, together with their Partita IVA and *codice fiscale*. Only a representative of the supplier can generate these. They are submitted through the registration link and passed securely to our local partner, who uses them to transmit receipts to the AdE on the supplier's behalf. Invopop stores the *codice fiscale* on the party but never stores the password or PIN.
  </Accordion>

  <Accordion title="How often do the supplier's AdE credentials need to be renewed?">
    Every 90 days. The supplier must first renew the credentials on the AdE portal, then resubmit them through the same registration link (or via the API `PUT` to the link) so receipt issuance is not interrupted.
  </Accordion>
</AccordionGroup>

### Receiving questions

**Italy**

<AccordionGroup>
  <Accordion title="How do I import received invoices in 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](/guides/it-sdi-reception).
  </Accordion>

  <Accordion title="How does Invopop convert received Italian invoices into GOBL?">
    Inbound FatturaPA XMLs are parsed via [`gobl.fatturapa`](https://github.com/invopop/gobl.fatturapa). The original signed XML is preserved as a silo entry attachment alongside the GOBL representation.
  </Accordion>
</AccordionGroup>

**SDI**

<AccordionGroup>
  <Accordion title="How do I test receiving invoices in the sandbox?">
    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](/guides/it-sdi-invoicing#receiving-your-own-invoices).
  </Accordion>

  <Accordion title="What happens if a received invoice contains errors?">
    The import step attempts to convert the FatturaPA document into [GOBL](https://docs.gobl.org). 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.
  </Accordion>

  <Accordion title="How quickly are invoices received after being sent by suppliers?">
    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.
  </Accordion>

  <Accordion title="Can I register multiple companies to receive invoices?">
    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.
  </Accordion>

  <Accordion title="Can I register the same tax ID again from a different party?">
    Yes, but only one party at a time can hold a given tax ID. Run the [unregister workflow](/guides/it-sdi-reception#unregistering-a-company) 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.
  </Accordion>

  <Accordion title="What is the difference between registering with the tax authority and registering with Invopop?">
    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.
  </Accordion>

  <Accordion title="What format do received SDI invoices arrive in?">
    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.
  </Accordion>
</AccordionGroup>

### Reporting questions

**SDI**

<AccordionGroup>
  <Accordion title="How does certified archiving (conservazione a norma) work with Invopop?">
    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](/guides/it-sdi-archiving) for the full setup.
  </Accordion>

  <Accordion title="Do received invoices need to be archived too?">
    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.
  </Accordion>

  <Accordion title="What happens to archived invoices when I unregister a company?">
    Nothing — unregistering only stops receiving. Invoices already preserved under *conservazione a norma* stay preserved, as the law requires.
  </Accordion>
</AccordionGroup>

**Smart Receipts**

<AccordionGroup>
  <Accordion title="How often must I submit Smart Receipts reports?">
    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.
  </Accordion>

  <Accordion title="What format does Smart Receipts expect for periodic reports?">
    No periodic format — per-receipt JSON sent to AdE CF's REST endpoint. Daily/monthly aggregations are derived automatically by Agenzia delle Entrate.
  </Accordion>
</AccordionGroup>

<Card title="Participate in our community" icon="forumbee" href="https://community.invopop.com" arrow="true" horizontal>
  Ask and answer questions about Italy's regulation →
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.