Skip to content
Linra Omni Developer Docs

Get statement report

Compute an on-demand provisional billing report.

Billing

GET/api/v1/statements/report

Computes and returns a LIVE, NEVER-PERSISTED billing document covering exactly the given from/to window — marked isProvisional: true. This is a convenience for ad-hoc reconciliation; it is NOT a substitute for your persisted statements, and its sequenceNumber/statementNumber are always null. Both from and to are required.

Query parameters

fromstring (date-time)Required

Inclusive UTC start of the reporting window. Read as UTC when it carries no offset; a date-only value means 00:00Z. An unparseable value, or a from/to pair with from after to, returns 400 VALIDATION_INVALID_DATE.

tostring (date-time)Required

Exclusive UTC end of the reporting window. Read as UTC when it carries no offset; a date-only value means 00:00Z. An unparseable value, or a from/to pair with from after to, returns 400 VALIDATION_INVALID_DATE.

Response

sequenceNumberinteger

Null for a provisional (on-demand report) document.

statementNumberstring
isProvisionalboolean
period.fromstring (date-time)
period.tostring (date-time)
generatedAtstring (date-time)
currencystring
totals.debitsnumber (decimal)
totals.creditsnumber (decimal)
totals.netnumber (decimal)
linesarray of object
documentNaturestring
isZatcaCompliantTaxInvoiceboolean

Always false — a machine-readable reinforcement of documentNature. Linra is the data source for ZATCA e-invoicing, never the invoice issuer.

Other responses

400Missing from and/or to (VALIDATION_MISSING_REPORT_RANGE). Any other rejected query input uses the shared query codes (VALIDATION_UNKNOWN_QUERY_PARAMETER, VALIDATION_INVALID_QUERY_PARAMETER, VALIDATION_INVALID_PAGE_SIZE, VALIDATION_INVALID_PAGE, VALIDATION_INVALID_DATE) — see the Errors guide.
401No bearer token (UNAUTHORIZED_MISSING_TOKEN), an invalid token (UNAUTHORIZED_INVALID_TOKEN) or an expired one (UNAUTHORIZED_TOKEN_EXPIRED — mint a new token). UPSTREAM_AUTH_FAILED is different: a dependent service refused the Gateway itself. That is a server-side fault — retry later and do NOT re-mint your token. See the Errors guide.
403The route is not available to your credential (FORBIDDEN).
404No API route matches this path (NOT_FOUND_ROUTE). A missing resource on a real route returns that service’s own NOT_FOUND_* code instead.
429Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).
502A dependent service returned an invalid response (BAD_GATEWAY). Retry with backoff.
503The service is temporarily unavailable (SERVICE_UNAVAILABLE). Retry with backoff.
504A dependent service did not respond in time (GATEWAY_TIMEOUT). Retry with backoff.
curl --request GET \
--url https://api-omni.linra.net/api/v1/statements/report?from=value&to=value \
--header 'Authorization: Bearer $TOKEN'

Response

{
"state": "SUCCESS",
"payload": {
"sequenceNumber": 0,
"statementNumber": "STMT-PTR-EXAMPLE-0001-14",
"isProvisional": true,
"period": {
"from": "2026-08-22T09:14:03Z",
"to": "2026-08-22T09:14:03Z"
},
"generatedAt": "2026-08-22T09:14:03Z",
"currency": "SAR",
"totals": {
"debits": 0,
"credits": 0,
"net": 0
},
"lines": [
{
"timestamp": "2026-08-22T09:14:03Z",
"transactionType": "Debit",
"referenceType": "Order",
"amount": 0,
"balanceAfter": 0,
"orderGoodsVatAmount": 0,
"orderCommissionVatAmount": 0,
"orderTotalAmountWithVat": 0,
"orderTotalCommissionWithVat": 0,
"orderShippingFeeAmount": 0,
"orderShippingFeeVatAmount": 0,
"orderShippingFeeAmountWithVat": 0,
"platformTaxRegistrationNumber": "string",
"partnerTaxRegistrationNumber": "string",
"orderPartnerIsVatRegistered": true,
"orderGoodsTaxClassification": "Standard"
}
],
"documentNature": "This is a commercial billing document for informational and reconciliation purposes. It is NOT a ZATCA-compliant legal tax invoice.",
"isZatcaCompliantTaxInvoice": true
},
"details": null
}