Italian Invoicing API

OpenAPI Definition:
Download

Getting started

A-CUBE API helps you handling the interaction with SDI (Sistema Di Interscambio) through simple REST APIs.


Here is a high-level description of the outgoing invoicing flow and how preservation works with our partner Intesi.

  1. Invoice submission
    • You send us a request to deliver an invoice. We first perform basic validity checks.
      • If the checks fail, the invoice is rejected immediately and not stored.
      • If the checks pass, we store the invoice in our archive, make it visible in your dashboard, and send it to SDI.
  2. Sending to SDI
    • While the invoice is being sent, its status (marking) is WAITING.
    • Once successfully handed over to SDI, the status becomes SENT.
  3. SDI processing
    • SDI performs its own checks. If the invoice does not pass, SDI returns a rejection notification (NS) and we update the status to REJECTED. In this case, the invoice needs to be corrected and sent again.
    • If the invoice is accepted, SDI tries to deliver it to the recipient.
      • If delivery succeeds, SDI sends a Delivery Receipt (RC) → we update the status to DELIVERED.
      • If delivery fails, SDI sends a Failed Delivery (MC) → in Italy this is still considered a successful submission, and we set the status to NOT-DELIVERED.
  4. Preservation with Intesi
    • Once an invoice has received either an RC or an MC, we forward it to Intesi Group, our certified partner for legal preservation.
    • Intesi archives the invoice according to Italian law and sends us back a preservation receipt.
    • This receipt is linked to the invoice and visible in your dashboard. It is not expected that Intesi ever fails to preserve a valid invoice.
  5. Monitoring
    • You can always follow the full status of your invoices and their preservation directly in the dashboard.Specifically, after logging in, in the left-hand menu under the 'Invoices' section, you can consult subsections that include 'Invoices Sent', 'Invoices Received', 'Transfers Invoices', and 'Invoice Drafts'. There is also a 'Preservation' section, where you can search for your invoices and check if they are correctly stored.

When you get onboard the A-CUBE API Platform you will receive:

  • username and password for the authentication
  • a recipient code that must be used in all the invoices that you will receive from third party companies

This is the process to create and send a new invoice explained in few steps:

  1. Login into the platform to obtain a JWT token
  2. Create an invoice payload in JSON format
  3. The invoice payload is sent to POST /invoices
  4. The invoice payload is validated, translated into FatturaPA XML format and sent to the SDI
  5. Every notification from SDI will be dispatched in real time to the configured endpoints. All the notification will always be available using the notifications API

Environments

  • sandbox is the environment where you can test the entire platform without paying at any time, the communication with SDI is simulated. The base URL is https://api-sandbox.acubeapi.com
  • production is the environment where the communication with SDI is real, you can't send an invoice to test. If you want to make a real test then you will need to send a credit note to cancel the sent invoice. The base URL is https://api.acubeapi.com

We support the following TLS protocols: TLSv1_2016 TLSv1.1_2016 TLSv1.2_2018

Authentication

You can find all the information about the authentication here.