Skip to main content

Simulate daily receipt reports massive download

In the sandbox environment the daily receipt reports massive download does not reach the "Cassetto Fiscale": you can simulate it with POST /simulate/jobs/daily-receipt-report-download, which takes the same payload as POST /jobs/daily-receipt-report-download plus an optional type.

The simulation runs once and straight away, inside the request:

  • it stores one report per day for the last 3 days of the requested period, all of the requested type;
  • it creates a job that you can read with GET /jobs, already in status completed;
  • it sends the usual job webhook to your configured endpoints.

It does not create any schedule, and the "Cassetto Fiscale" credentials and the download subscription are not needed.

Example:

curl -X POST
https://api-sandbox.acubeapi.com/simulate/jobs/daily-receipt-report-download
-H 'Authorization: Bearer <Your Bearer token here>'
-H 'Content-Type: application/json'
-d '{
"from_date": "2026-10-01",
"to_date": "2026-10-17",
"fiscal_id": "12345678901",
"type": "DA"
}'

The API returns a 201 Created response with the job and the stored reports, here the ones of the 15th, 16th and 17th of October:

{
"job": "0199f3a2-7c1e-7a4b-9d2e-3f5a6b7c8d9e",
"daily_receipt_reports": [
"0199f3a2-7c20-7e11-8a3b-1c2d3e4f5a6b",
"..."
]
}

A period shorter than 3 days stores one report for each of its days.

Types​

type is optional and defaults to RT, the only type downloaded by POST /jobs/daily-receipt-report-download. Any other value than the ones below returns a 400 Bad Request response.

TypeSimulated report
RTDatiRT block of a telematic cash register, with the totals per VAT rate and the payments
MCSame DatiRT block, sent by a multi-till device
DADatiDA block of a vending machine, with the period between two collections and the device position
DCDatiDC block with the daily totals of the online commercial documents ("documenti commerciali on-line")

The XML files are made up but consistent: the VAT is 22% of the amount, and the cash and electronic payments add up to the total.

The simulated reports​

The reports are available through GET /daily-receipt-reports like any downloaded report, and can be filtered by type:

{
"uuid": "0199f3a2-7c20-7e11-8a3b-1c2d3e4f5a6b",
"fiscal_id": "12345678901",
"date": "2026-10-17",
"type": "DA",
"file_name": "DA_99SBXDA0001_20261017.xml",
"created_at": "2026-10-21T10:00:00+00:00"
}

GET /daily-receipt-reports/{uuid} with the Accept: application/xml header returns the XML file, for example a report of type RT:

<n1:DatiCorrispettivi xmlns:n1="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/corrispettivi/dati/v1.0" versione="COR10">
<Trasmissione>
<Progressivo>290</Progressivo>
<Formato>COR10</Formato>
<Dispositivo>
<Tipo>RT</Tipo>
<IdDispositivo>99SBX000001</IdDispositivo>
</Dispositivo>
<CodiceFiscaleEsercente>12345678901</CodiceFiscaleEsercente>
<PIVAEsercente>12345678901</PIVAEsercente>
<DataOraTrasmissione>2026-10-17T21:00:00+02:00</DataOraTrasmissione>
</Trasmissione>
<DataOraRilevazione>2026-10-17T20:58:00+02:00</DataOraRilevazione>
<DatiRT>
<Riepilogo>
<IVA>
<AliquotaIVA>22.00</AliquotaIVA>
<Imposta>643.93</Imposta>
</IVA>
<Ammontare>2926.97</Ammontare>
<ImportoParziale>2926.97</ImportoParziale>
</Riepilogo>
<Totali>
<NumeroDocCommerciali>67</NumeroDocCommerciali>
<PagatoContanti>3277.05</PagatoContanti>
<PagatoElettronico>293.85</PagatoElettronico>
</Totali>
</DatiRT>
</n1:DatiCorrispettivi>

The file name only depends on the type and the day: running the simulation again over an overlapping period finds the reports already stored instead of creating new ones.

Validation​

The payload is validated as in POST /jobs/daily-receipt-report-download:

  • from_date cannot be earlier than the 1st of January of the previous year, and to_date cannot be later than today;
  • scheduled_at is optional and cannot be in the past. It is saved on the job, but the simulation runs immediately anyway;
  • fiscal_id must belong to a Business Registry Configuration of your account;
  • from_date, to_date and fiscal_id are required, and to_date cannot be earlier than from_date.

An invalid payload returns a 400 Bad Request response listing the offending fields in violations.

Simulate a failed download​

POST /simulate/jobs/daily-receipt-report-download/error takes the same payload, stores no report and creates the job in status error. Your endpoints receive the job-error webhook. The response contains only the job:

{
"job": "0199f3a2-7c1e-7a4b-9d2e-3f5a6b7c8d9e"
}