E-invoicing report

A download of every e-invoice your platform submitted, with the invoice it belongs to and the status the authority or network last returned. It answers “what has not been accepted yet” across a period, instead of invoice by invoice.


Why this matters

E-invoicing status is visible on each invoice, which is the right place to fix one. It is the wrong place to find them. A month-end check that every invoice reached the authority is a question about a set of invoices, and so is a reconciliation against what the authority thinks it received.

This report answers that question in one extract. It is also the record of what happened over time: a submission that failed and was resubmitted appears as more than one line.

What a line is

One line per e-invoice, not per invoice. An invoice submitted once has one line. An invoice that failed and was resubmitted has a line for each submission, each with its own external reference and its own status. Invoices with no e-invoice at all are left out entirely.

The status columns describe the e-invoice’s status history:

ColumnWhat it holds
E-Invoice StatusThe most recent status of this e-invoice
E-Invoice Status MessageThe message that came with that status, which is where an authority’s rejection reason appears
E-Invoice Submitted AtThe timestamp of the first status, so the moment this e-invoice was submitted
E-Invoice Last Status AtThe timestamp of the most recent status
E-Invoice Status CountHow many statuses this e-invoice has been through. A high count on something still in progress is worth a look

Statuses are normalised across integrations, so the same set applies whichever e-invoicing provider and mandate an invoice went through:

StatusMeaning
SUBMITTEDHanded to the e-invoicing system, no verdict yet
ACCEPTEDAccepted for processing. A final state under some mandates, and an intermediate one under PEPPOL, where the network still has to deliver it
SUCCESSProcessed successfully. Nothing further is expected
ERRORRejected or failed, either on submission or during processing. This is the set the report exists to surface
IGNOREMarked as ignorable after investigation, so it is not chased any further

Columns

ColumnDescription
Platform IDThe platform the invoice belongs to
Customer IDThe customer the invoice was issued to
Billing Entity IDThe billing entity that issued it, which is what determines the applicable mandate
Invoice IDResource id of the invoice, for example invo_MwDNuB0ubtzVQZCilV1z
Invoice NumberThe invoice number, for example INV-2022-01-000001
Invoice DateThe invoice date, as an ISO-8601 timestamp
Billing Period DateThe billing period the invoice belongs to. A one-off invoice has no billing period, so its invoice date is used
Invoice StatusDRAFT, FINAL and the rest of the invoice lifecycle
Invoice TypeThe invoice type, for example a standard invoice or a credit note
Invoice CurrencyCurrency code of the invoice, for example EUR
Invoice QuantityThe total invoice amount in that currency
E-Invoice External ReferenceThe identifier the e-invoicing system assigned to this submission. This is what you quote when asking a provider or an authority about it
E-Invoice ProcessorThe processor that handled the submission
E-Invoice MandateThe mandate it was submitted under, which is the country and transaction type combination described on the e-invoicing page
E-Invoice Integration IDThe integration the submission went through, which tells submissions apart on a platform with more than one
E-Invoice StatusSee What a line is
E-Invoice Status Message
E-Invoice Submitted At
E-Invoice Last Status At
E-Invoice Status Count

Request the report

The report is available to any platform with e-invoicing configured. Its report configuration is created when e-invoicing is set up, so there is nothing to enable.

Via API

Generate it the way any other report download is generated, with the E_INVOICING report code and the report configuration on your platform:

Generate the e-invoicing report for September
curl -X POST https://test.api.solvimon.com/v1/report-generate-requests \
-H "X-API-KEY: <apiKey>" \
-H "Content-Type: application/json" \
-d '{
"report_code": "E_INVOICING",
"report_configuration_id": "rcon_jwDeeN0tYSY3F7BkeN1v",
"parameter_values": [
{ "name": "from_date", "value": "2026-09-01" },
{ "name": "to_date", "value": "2026-10-01" }
]
}'

The request is queued and the file is produced asynchronously. Poll the generate request, then download the report it produced:

Download the produced report
curl https://test.api.solvimon.com/v1/report-generate-requests/rgre_hwDeeN0vcYJaBLAc0C1W/report \
-H "X-API-KEY: <apiKey>"

The range filters on the billing period the invoice belongs to, not on when the e-invoice was submitted. Submitting late, or resubmitting next month, therefore does not move a line into another period’s report. Sending neither from_date nor to_date produces everything from the start of last month onwards. report_date is the alternative to the pair. It sets the start of the range, and closes it one month later when the date you give is older than last month.

Via Desk

The report is downloaded from the reports section alongside the other report downloads, with the same period selection.

Edge cases

  • A draft invoice can appear. Some mandates submit before the invoice is final, so the report is not limited to FINAL invoices. Filter on Invoice Status if you only want what has been issued.
  • An empty status means nothing came back yet. An e-invoice with no status history carries an empty status, submitted-at and last-status-at, and a status count of zero. It is not an error. It is a submission that has not been answered.
  • The latest status is not always the most serious one. The report reflects the most recent status. An e-invoice that errored and was then marked IGNORE shows IGNORE, and the earlier failure is still in its status count.
  • Several e-invoices for one invoice is normal. Sum by invoice rather than counting lines when you want a count of invoices.