The lifecycle
Submission
The send step reports SDI’s immediate answer. When SDI takes charge of the file it returns an identifier for the submission, and every later notification about that invoice refers to it. When SDI refuses the file outright it returns an error code instead, and the step fails withKO.
Business invoices
For invoices to businesses and consumers, the lifecycle is short: SDI validates, then either delivers or parks the invoice.MC — the invoice is issued, but you must tell the buyer where to find it
MC — the invoice is issued, but you must tell the buyer where to find it
0000000 and no PEC) and the buyer has none registered with AdE, or the address exists and was unreachable at the time, a full PEC mailbox for instance. The notification text says which.The invoice is not lost and it is not a failure. The receipt attests that the invoice is issued, and SDI files it in the buyer’s reserved area of the Fatture e Corrispettivi portal (Consultazione → Fatture elettroniche e altri dati IVA → fatture messe a disposizione), from the date given in the notification. That is why it counts as acknowledged.What the rules ask of you as the seller: tell the buyer promptly, by any means outside SDI, that the invoice is waiting for them there. Sending them a PDF or paper copy counts as that notice. For the buyer, the invoice counts as received on the day they view it on the portal, and their VAT deduction starts from that date.Do not send the invoice again. It is already issued, and a second submission is a duplicate. To avoid MC in the first place, ask business customers for a recipient code or a PEC address and put it on the invoice.Source: Provvedimento AdE 89757/2018, points 3.4, 4.3, 4.4 and 4.6.Public administration invoices
AT — the invoice never arrived, and you must deliver it yourself
AT — the invoice never arrived, and you must deliver it yourself
NS. The invoice stands, but it is now on you to send both the invoice and the attestation to the public body directly, outside SDI. That direct delivery is required for the invoice to be payable — the attestation is what authorises the public body to process an invoice that did not reach it through SDI.It reports as an error because it needs you to act, not because anything is wrong with the invoice.DT — silence, which in practice means accepted
DT — silence, which in practice means accepted
Receiving the notifications
Each notification runs the status workflow configured on the Italy app, which records it against the invoice it belongs to.- Workflow
- Code
acknowledged differently from rejected.
What a status entry holds
Every entry carries theSDI series and the SDI message identifier as its code, with the submission identifier in its metadata so it can be traced back to the invoice.
The status line records the outcome as one of GOBL’s own keys — acknowledged, accepted, rejected, error or processing — with the exact Italian notification code preserved alongside it in the it-sdi-notification extension, and a plain-language description of what happened.
Entries are typed by who is speaking. Notifications from SDI are an update, since the platform is reporting; a NE is a response, because there the buyer is answering.
FAQ
How do I configure my workspace for Italian invoicing?
How do I configure my workspace for Italian invoicing?
How do I issue a documento commerciale (scontrino)?
How do I issue a documento commerciale (scontrino)?
Where do I find Italy-specific GOBL documentation?
Where do I find Italy-specific GOBL documentation?
it-sdi-v1 addon documents required FatturaPA fields.Why is my invoice processing taking so long?
Why is my invoice processing taking so long?
How do I know if my invoice was delivered successfully?
How do I know if my invoice was delivered successfully?
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.How do I test different SDI outcomes in the sandbox?
How do I test different SDI outcomes in the sandbox?
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.How do I add codice fiscale and Partita IVA?
How do I add codice fiscale and Partita IVA?
- Partita IVA (VAT number): Automatically extracted from the
tax_id/codefield. - Codice Fiscale (fiscal code): Must be specified as an identity with the key
it-fiscal-code.
🇮🇹 Invopop resources for Italy
🇮🇹 Invopop resources for Italy