Skip to main content

📄 Guide

DCS issues a statement for every billing subject automatically, per calendar month, with nothing for the partner to trigger; the data is pulled over the API. The balance mode decides the billing subject: the company pool (SHARED) gets one statement per company, dedicated card balances (DEDICATED) get one statement per card. The billing cycle and its key dates are in Limits and statements. The three query endpoints divide the work:
The settled statement is final: a settled statement (SETTLED) is fixed and contains only posted transactions; the open statement (OPEN, statementId is null) is a live summary of the current cycle that includes unsettled authorization holds, so its purchase total falls back as transactions clear — expected behavior.

Statement list

GET /open-api-corp/statement/v1/statements returns statements over a time range, by company or by card, cycles in reverse order. Request parameters Response data is the standard paging envelope page / pageSize / total + result[], and no longer echoes the request. Each result[] entry is a statement header plus per-currency summary. The total already includes the open statement. Each result[] entry is a statement header plus a per-currency summary: The four paymentStatus states: summary fields per currency: Request example
Response example

How amount due and overpaymentAmount are computed

The result fields of summary derive from one net figure S — purchases, fees and cash advances are positive, repayments / top-ups and refunds are negative; a positive net is debt, a negative net is overpaymentAmount:
Checked against the response example above: S = −80.00 + 120.00 + (−20.00) + 1.50 + 0 + 0 = 21.50, so totalDueAmount is 21.50 and overpaymentAmount is 0.00.

Statement detail

GET /open-api-corp/statement/v1/statement-detail returns the statement header + the per-currency summary + the transaction lines (pagination applies to the lines only). Request parameters
Two ways to query: for a settled statement pass statementId and omit status; for the current open statement pass statementId=null + status=OPEN.
Response data is the standard paging envelope page / pageSize / total + result[]; it no longer returns the statement header or summary — call the statement list for those. Each result[] entry is one transaction line: The seven transactionCategory values: The three postStatus states: Request example
Response example

Transaction list

GET /open-api-corp/statement/v1/transactions returns transaction records by time window, unbounded by billing cycles, in reverse time order. Request parameters
The startTimeendTime window must not exceed six months; query older records in segments.
Response data is the standard paging envelope (page / pageSize / total / result); each result element is ordered by transactionTime descending, with exactly the same fields as the statement-detail lines above. Request example
Response example

Next steps

  • How debt arises, and how authorizations hold and clear: Authorization and 3DS
  • Repayment is a deposit — the funding path and arrival notification: Deposits