list_statements returns. It returns one minimal row per commission line
(drill into a line’s variables and scopes with get_statement_compensation),
the complete activity log, the validation state, the draw balance, and the
linked requests.
Identify the statement one of two ways (exactly one): statement_id (the id
list_statements returns), or owner + period (the statement’s user
and its month).
The headline total_payment is converted into the currency named by
currency_mode (payment by default) and labelled with it, so amount and
currency always agree. The per-line compensation breakdown stays in the plan’s
calculation currency.
A statement you can’t access reads exactly like one that doesn’t exist, so the
error never reveals a statement outside your scope.
Parameters
Body
Body
The statement’s id, as returned by list_statements. Mutually exclusive with
owner / period.
The statement’s user, matched by name or email (case-insensitive substring)
or by ObjectId — same matching as list_users. Must be paired with period.
The statement’s period in YYYY-MM format (e.g. 2026-03, never day-first).
Must be paired with owner.
Which currency total_payment is converted into and labelled with: ‘payment’
(default) — the currency the user is paid in; ‘calculation’ — the currency
the plan computes in; ‘company’ — the company’s global currency. The amount
and its currency always agree. One of:
company, payment, calculation.Response
Body
Body
Deep link to open this statement in the Qobra web app.
Overall processing state: error (calculation failed), ongoing (open, not yet
locked), locked (frozen, not yet paid), paid (sent to payroll). A paid
statement is always frozen too. Distinct from the per-period reporting stage
of list_statement_periods. One of:
error, ongoing, locked, paid.Net amount to be paid out on this statement, expressed in
currency —
already reflects draw and manual payments, so it is not just the sum of the
compensation lines.The ISO currency code that total_payment is expressed in. One of:
AED,
AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD,
BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN,
BWP, BYR, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, COU,
CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN,
ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ,
GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR,
ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD,
KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD,
MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN,
MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN,
PGK, PHP, PKR, PLN, PYG, QAR, RMB, RON, RSD, RUB, RWF,
SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, STD,
SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD,
TZS, UAH, UGX, USD, UYI, UYU, UZS, VEF, VND, VUV, WON,
WST, XAF, XAG, XAU, XCD, XOF, XPD, XPF, XPT, XSU, YER,
ZAR, ZMK, ZWL.When the statement last finished computing and was up to date; null if it
never reached that state.
True if at least one amount was manually adjusted.
The groups (by dimension) this user belongs to on the statement.
One minimal row per commission line. Drill into a line with
get_statement_compensation for its variables and scopes.
The statement’s detailed calculation errors, resolved to variable / quota /
scope names. Populated only for callers who can manage compensations or
quotas (mirroring the web app’s admin-only error panel); empty for anyone
else and whenever the statement has no calculation error.