Get statement report
Compute an on-demand provisional billing report.
Billing
/api/v1/statements/reportComputes 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)RequiredInclusive 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)RequiredExclusive 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
sequenceNumberintegerNull for a provisional (on-demand report) document.
statementNumberstringisProvisionalbooleanperiod.fromstring (date-time)period.tostring (date-time)generatedAtstring (date-time)currencystringtotals.debitsnumber (decimal)totals.creditsnumber (decimal)totals.netnumber (decimal)linesarray of objectdocumentNaturestringisZatcaCompliantTaxInvoicebooleanAlways 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'const res = await fetch('https://api-omni.linra.net/api/v1/statements/report?from=value&to=value', { headers: { Authorization: `Bearer ${token}`, },});const { payload } = await res.json();var response = await httpClient.GetAsync("https://api-omni.linra.net/api/v1/statements/report?from=value&to=value");
var envelope = await response.Content.ReadFromJsonAsync<ApiResponse<PartnerBillingReportResponse>>();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}
