Invoices
The Invoices page (sidebar → Invoices) is the accounts-receivable view: what buyers and channels still owe you, how overdue it is, and the full detail behind any single invoice.
Overview
Open Revenue → Invoices. The page has four summary cards, an aging chart, and a filterable invoice table; select any row to open its full record. For the money on its way to you — payouts and installments — see Cash & Disbursements.

Summary cards
| Card | Meaning |
|---|---|
| Total Outstanding | Sum of unpaid invoice balances, excluding paid, voided, and written-off invoices. |
| DSO | Days Sales Outstanding — how long, on average, invoices take to collect. |
| At Risk (90+) | Outstanding balance in the oldest aging bucket. |
| Open Invoices | Count of invoices with a remaining balance due. |

Left to right: ① Total Outstanding, ② DSO (in days), ③ At Risk (90+), and ④ Open Invoices (a count, not an amount).
Aging buckets
The aging chart splits outstanding balances into Current, 1–30, 31–60, 61–90, and 90+ days. How “days overdue” is measured depends on who owes the money:
- End-buyer invoices (including Stripe direct billing) age from the invoice due date.
- Marketplace and reseller invoices age from the expected disbursement date.
Each bar shows the bucket’s total balance and invoice count; Export CSV downloads the underlying invoices (one row each, tagged with its aging bucket and days overdue), not the bucket-level totals.

Here the bulk of the balance sits in ① Current (not due), while ② 90+ days overdue isolates the at-risk balance and its invoice count — the same figure surfaced by the At Risk (90+) card. (The Overview Overdue > 90 days alert is a related but separately-computed view of past-due revenue, so its amount may differ.)
Working invoices
The invoice table lists invoice ID, buyer, channel, issue and due dates, invoice amount, balance due, status, and aging. Filter by search (invoice ID or buyer), status (Draft, Invoiced, Overdue, Partial, Paid, Written Off, Voided), date range, and channel.
To inspect a single invoice:
- Find the invoice in the table — use search or the status/date/channel filters to narrow the list.
- Select View Details on its row.
- Review the full record — billing and contract terms, financials, settlement, refunds and credits, provider references, and dunning — alongside a lifecycle timeline (issued → payment applied → disbursed/swept → written off).
- Select Back to invoices to return to the list.

The header strip summarizes the invoice at a glance — the circled items below are the invoice ① status (Paid, Invoiced, Overdue, …) and its ② amount, with balance due, amount paid, and aging bucket beside them:

KPI calculation formulas
All amounts are in your base currency. See Revenue Settings for base-currency and FX handling.
| KPI | Applies to | Formula | Calculation details |
|---|---|---|---|
| Total Outstanding | AWS, Azure, GCP, Stripe | Σ balance due where balance > 0 | Excludes paid, voided, and written-off invoices. |
| DSO | AWS, Azure, GCP, Stripe | round( (total outstanding ÷ credit sales) × 90 ) | Credit sales = invoices/records dated in the trailing 90-day window. This is the standard AR ratio, not an average of overdue days. |
| At Risk (90+) | AWS, Azure, GCP, Stripe | Σ outstanding balance in the 90+ bucket | Aging basis differs by counterparty (see below). |
| Open Invoices | AWS, Azure, GCP, Stripe | count(invoices with balance due > 0) | Common across channels. |
| Aging bucket | Stripe (end-buyer) | bucketed by days since invoice due date | Buckets: Current, 1–30, 31–60, 61–90, 90+. |
| Aging bucket | AWS, Azure, GCP (marketplace/reseller) | bucketed by days since expected disbursement date | Falls back to due date when no expected disbursement date exists. |