SDI Electronic Invoicing

Electronic invoicing easy, fast and with high security standards

Automates sending, signing, receiving and digital storage of electronic invoices via API

All the knowledge you need

Here you can find some advice to consider to approach this API. If you prefer, we provide code samples, OAS3 documentation, the ability to try the API live via the Swagger UI or import the entire collection into Postman. We also offer a Sandbox environment where you can experiment with all kinds of requests completely free of charge.

Useful tips to start with SDI Electronic Invoicing

Get the token in the appropriate section before you start.

Use the the online tool or generate it via API. Set the expire date, a usefull name and now add a bunch of scopes to limit the possible actions your token can do.

Configure the company

Configure the company with /business_registry_configurations, choosing between regular, signed, or signed and archived invoices. If you choose to enable archiving, the credentials will be sent to the email address provided during configuration. Note that the email address and VAT number are unique. This operation should only be performed when setting up the company for the first time.

Configure notifications to manage approvals and rejections

Configure callbacks with /api_configurations, setting one or more of these options if needed: 'supplier-invoice' (passive invoice), 'customer-invoice' (active invoice), 'customer-notification' (reject or accept notification), 'legal-storage-missing-vat', 'legal-storage-receipt' (archival receipt). In this way, you will receive a call with the invoice object directly to the URL you provided.
This operation should only be performed when setting up the company for the first time.
If you are interested in the passive cycle, follow this guide first: https://openapi.it/en/blog/register-recipient-code-italian-revenue-agency.html

Send the first invoice

Use the endpoints /invoices, /invoices_signature, /invoices_legal_storage, or /invoices_signature_legal_storage based on your needs. They allow you to send the invoice in either XML (compatible with the XML invoicing standard) or JSON format.
Once the invoice is sent, the notification will be received at the URL specified in the notification configuration.
The response to an invoice send will contain a uuid that can be used later to retrieve the invoice /invoices, any notifications /invoices_notifications, or download the invoice /invoices_download