Send an invoice to the Italian Interchange System (SDI) in SamBooks
12 min read
How to transmit a sales invoice to SDI from SamBooks: the compliance check that runs first, the irreversible confirmation and the statuses that follow.
What this is for
In SamBooks, issuing an invoice and transmitting it to the Interchange System (Sistema di Interscambio, SDI) are the same action. Until you send it, the invoice has no number and can be edited or deleted freely. The moment you confirm, it receives its final number on the numbering series, is posted to the journal and leaves for the Italian Revenue Agency.
The transmission happens once and cannot be undone. A transmitted invoice cannot be cancelled, deleted or edited: the only remedy is issuing a credit note that reverses it. This is the single most important point of this guide: read the confirmation dialog before pressing the button.
Before you start
- The invoice must be in the «Ready» status. A «Draft» cannot be sent: instead of the button you get the «Required fields missing for electronic invoicing» panel, listing what to complete.
- You need an active subscription. During the free trial you can create, save and check invoices, but the send button does not appear: you read «Sending to SDI is available with a subscription.» with the «See plans» link.
- You need the Manager or Administrative role. A Viewer or a Logistics user can open the invoice but gets an error: the operation requires write permissions.
- If you want to keep the XML file that gets transmitted, save it before sending: afterwards it is no longer available in the app (step 2).
Step by step
1. Open the invoice and check its status badge
From the left-hand menu open Sales invoices: the Outbound invoices list. Click the row to open the detail page. At the top right, next to «Document total», is the badge:
- «Ready» → the «Send to SDI» button appears below the command bar;
- «Draft» → no button: complete the data listed in the panel and the status turns to «Ready» on its own.
The subtitle reads «Created on …» until the invoice is transmitted and becomes «Issued on …» after the send: an invoice is issued when it leaves, not when you save it.
2. Save the XML file, if you need a copy
Open the «SDI events» tab: the «XML payload» section shows the file that will be transmitted, with a «Valid XML» or «Invalid XML» badge and a «Copy» button. Copy the content into an .xml file if you want your own copy.
Do it now, because after the transmission that file is no longer available in the application: the same section will show «Preview not available in this status». The preview exists only before the send.
Careful: «Download PDF» downloads the readable courtesy copy for your customer, not the XML file.
3. Press «Send to SDI» and read the compliance check
The click opens the «Confirm sending to SDI?» dialog, which repeats the warning: «Sending to the Exchange System is IRREVERSIBLE: the invoice will be transmitted to the Revenue Agency and can no longer be cancelled or deleted. Correcting or reversing it requires a credit note.»
Inside the box the check starts immediately. You read «Validating the XML payload…» and then one of two outcomes.
- «FatturaPA payload valid.» → the «Confirm & send» button becomes enabled.
- «Invalid payload: …» with the reason → «Confirm & send» stays disabled. Close with «Cancel», fix the invoice with «Edit» and try again.
It is a local check: SamBooks runs it on the file it just generated, against the official electronic invoice schema and the Interchange System's list of controls. It never leaves the application, consumes no credits and does not change the document — repeat it as often as you like.
It reports the exact field at fault, what is missing or does not add up, and the official control code: the same errors that would send the invoice back — a missing VAT nature code on a zero-rate line, totals that do not reconcile with the VAT summary, formally invalid Italian VAT numbers, fields longer than the maximum allowed. What it cannot check is anything outside the file, such as whether the customer's recipient code is actually active: those answers come only from SDI, after the send.
The missing-data panel and this check are two different things: the first tells you whether the invoice has the data to become «Ready», the second whether the generated file is compliant. An invoice can show «Ready» and still fail the check.
4. Confirm the transmission
Press «Confirm & send». At that exact moment — and not before — SamBooks assigns the invoice its final sequential number on the chosen series, creates the journal entry, fulfils the linked sales orders and closes the linked delivery notes, then queues the transmission.
The message «Sending to SDI: awaiting the outcome.» appears: the transmission is asynchronous, so the button does not give you the final outcome.
5. Wait for the outcome, do not resend
For the next fifteen minutes the button is replaced by «Sending to SDI…». If you try to send again, the request is refused with a message in Italian — «Invio a SDI già in corso per questa fattura: attendi l'esito dello SDI prima di reinviarla.» — telling you a transmission is already under way for that invoice.
This is a deliberate safeguard: every successful transmission consumes one sending credit, and an invoice transmitted twice becomes a duplicate you have to fix with a credit note. Do not press it again: refresh the page now and then, or watch the «Status» column.
The end-of-month bulk send
With many ready invoices there is no need to open them one by one.
- On Sales invoices set the «Status» filter to «Ready»; narrow further with «Period» and «Customer» if useful.
- Tick the checkboxes. If you select the whole page and more invoices match the filters, the «Select all {n} invoices» link appears; above 50 you read «Narrow the filters to select more than 50 invoices at once»: shorten the period and do two rounds.
- Press «Send selected to SDI»: the «Bulk send to SDI» dialog opens, repeating the irreversibility warning and noting that only ready invoices will be sent.
- After «Checking the selected invoices…» you get the list, one row per invoice: a green check if it is ready, otherwise the reason — «Draft — complete it before sending», «Status not sendable», «Invalid payload», «Invoice not found». Below sit the counters «{n} ready to send» and «{n} not sendable».
- Press «Send the ready ones».
The bulk send is resilient: one invoice that fails does not block the others. Each document is handled on its own, with no all-or-nothing. A skipped invoice does not consume a number: the series stays gapless. Numbers are assigned in document-date order, so the numbering stays chronological even when everything leaves at once.
At the end you read «{n} invoices sent to SDI, {m} skipped.» The skipped ones stay where they are: fix the reason and re-run the send on those only. The single-send rules still apply: no sending on the free trial, one credit per invoice, the same irreversibility for all.
After the send: the statuses and what to do in each
The status changes by itself as the Interchange System responds. The timing is decided by SDI, not by SamBooks.
«Sent to SDI» — the transmission succeeded and SDI has taken the file in charge. Nothing to do: it is just waiting.
«Delivered» — SDI delivered the invoice to the customer's electronic channel. Nothing to do. If your customer asks for a readable copy, use «Send by email» or «Download PDF».
«SDI accepted» — the recipient accepted the invoice. The same status appears when the recipient does not reply within the allowed time and the invoice is deemed accepted by expiry of terms: the typical case for invoices to the public administration. Nothing to do.
«Delivery failed» — SDI took the invoice in charge but could not deliver it to the customer's channel (full mailbox, recipient code no longer active). The invoice is valid and already available to your customer in their tax drawer: it must not be re-issued and must not be re-sent. Here there is something to do:
- send the courtesy copy yourself: on the detail page press «Send by email» — the «Send invoice by email» dialog opens and the PDF is attached — or «Download PDF» and attach it to a message of your own;
- fix the customer's electronic address in the address book, SDI recipient code or certified email, before the next invoice: otherwise it repeats on every document.
You also get a notification headed «Fattura non consegnata — Fattura n. …»: SDI could not deliver the invoice, the invoice stays valid and available in the tax drawer, and you should send the customer a courtesy copy.
If an invoice is rejected — sent back — the status becomes «SDI rejected» and the reason is shown on the document: at the top of the detail page and, error by error, in the «SDI events» tab.
Two clarifications. The «Reverse» and «Debit note» buttons only appear on final statuses — «Delivered», «SDI accepted», «Delivery failed» — because a variation note is issued on a document that has completed its journey. And the «Paid» badge is not part of this cycle: no route assigns it, not even recording the money in, so do not expect it on the invoice. Payments are followed in Open items (the Deadlines menu entry), where it is the due date that closes when you press «Record payment».
Where to read the receipts
Everything SDI replies lives in the «SDI events» tab of the detail page, in the «Events» section: a timeline, newest first, showing what happened, the status returned and the date and time. Two things are mixed together: actions started from SamBooks — «Sent to SDI» and, on a rejection, «Rejected by SDI» — and the actual receipts from the Interchange System, whose errors carry their official code and a plain-language description. Until something arrives you read «No SDI events for this invoice.»
In the list, the «Status» column summarises the latest outcome and the «Status» filter isolates, for instance, all the undelivered ones.
Notifications are sent only for problematic outcomes — rejection and failed delivery — to Manager and Administrative users: an in-app alert, an email flagging an SDI problem on that invoice with a button that opens it, plus a push notification if you enabled it. Positive outcomes update the status silently: no news is good news.
The text is adapted to the character set SDI accepts
The electronic invoice file only accepts a restricted character set, and SamBooks adapts the text before transmitting: today it does so without showing you any warning. This is normal, but worth knowing, so the file looking different from your screen does not alarm you. The most frequent substitutions: € becomes EUR, long dashes become -, curly quotes become straight quotes, the ellipsis becomes ..., bullets and arrows become - and ->. Italian accented letters, the cedilla, the degree sign, © and ® are left untouched.
The practical point: the PDF shows the text as you typed it, while the XML your customer receives holds the adapted version. If the exact wording of a description matters, write it with plain characters from the start.
Ask Sam
The same operations can be requested in chat:
- "would invoice 12 pass SDI?" — Sam runs the same compliance check as the dialog and lists what to fix. It sends nothing and consumes no credits.
- "send invoice 12 to SDI" — Sam prepares the transmission but cannot send on its own: the conversation pauses and waits for you to press the confirmation button, the same one as the manual route.
- "what happened to invoice 12?" — Sam reads the status, the latest outcome and the receipt history, and explains the reason.
- "list the invoices that were not delivered" — Sam filters invoices by their SDI status.
The bulk send is list-only: in chat Sam sends one invoice at a time.
If something goes wrong
«Invalid payload: …» in the confirmation dialog. The send button stays disabled: that is intended. Cancel, read the field it points to, fix the invoice with «Edit» and reopen the dialog.
The «Send to SDI» button is missing. Five possible causes: the invoice is still a «Draft»; you are on the free trial; a transmission is already under way and you read «Sending to SDI…»; the invoice was already transmitted; your role has no write permissions.
I sent it but the status does not change. The outcome arrives when SDI replies. Refresh the page: the «SDI events» tab already shows the «Sent to SDI» row.
Frequently asked questions
Can I cancel an invoice already sent to SDI? No. The transmission is irreversible: the invoice cannot be cancelled, deleted or edited. It can only be corrected with a credit note, itself a document to transmit. The same applies if you sent the wrong one: wait for a final status, then use «Reverse».
I clicked «Send to SDI» twice: does the invoice go out twice? No. For fifteen minutes the button is replaced by «Sending to SDI…» and the second attempt is refused with an explicit message, from the page and from the chat alike.
How long does SDI take to reply? There is no guaranteed time and it does not depend on SamBooks: in the meantime the invoice stays in «Sent to SDI».
Can I send an invoice as a test, without it being real? No, and you do not need to: the compliance check before the confirmation does exactly that, without transmitting and at no cost.
Where do I find the invoice XML file? In the «SDI events» tab, «XML payload» section — but only before the send. Afterwards it is no longer available: use «Copy» before sending. «Download PDF» is the courtesy copy, a different document.
Does every transmission cost me something? Yes: one sending credit per successful transmission, from the detail page and from the bulk send alike. The compliance check and the preview are free.
The invoice shows «Delivery failed»: do I have to re-issue it? No. It is valid and already sits in your customer's tax drawer. Send them the PDF courtesy copy and fix their recipient code or certified email address in the address book.