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 Over 90 days. An invoice is included while it is open — anything not paid, voided, or written off. Aging is recalculated daily — but only while the revenue background jobs are running. They are off by default and Suger switches them on environment-wide, so until then your aging buckets will not move at all (see Revenue Settings).
How “days overdue” is measured depends on the invoice’s counterparty type — who owes the money — not on which channel it came from:
- End-buyer invoices age from the invoice due date.
- Marketplace-operator and channel-partner invoices age from the expected disbursement date, falling back to the due date when the invoice has no expected disbursement date.
Channel is only a legacy fallback, used when an invoice predates counterparty typing. So a marketplace channel can carry end-buyer invoices that age from the due date, and the same channel’s operator 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.
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:

Tax on the invoice detail
Most channels show a single Tax amount on the invoice detail. AWS is the exception — an AWS invoice shows two tax lines, because AWS splits who is responsible for remitting the tax:
| Line | Meaning | Counted in the invoice and collectable amounts? |
|---|---|---|
| Tax collected & remitted by marketplace | AWS collected this tax from the buyer and remits it to the tax authority itself. | No — informational only. |
| Tax collected & remitted by seller | Tax AWS collects and disburses to you; you are responsible for remitting it onward. | Yes — it is included in the invoice amount and in the collectable amount. It is not deducted. |
Read the two lines together before reconciling an AWS invoice: only the seller-remitted line is cash that passes through your hands — and because it is already inside the collectable amount, do not subtract it again.

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 dated in the trailing 90 days, excluding voided and written-off invoices. AWS sibling rows are aggregated into one invoice first, so a multi-contract AWS invoice is counted once. This is the standard AR ratio, not an average of overdue days. |
| At Risk (90+) | AWS, Azure, GCP, Stripe | Σ outstanding balance in the Over 90 bucket | Aging basis depends on counterparty type (see the rows below). |
| Open Invoices | AWS, Azure, GCP, Stripe | count(invoices with balance due > 0) | Open means not paid, voided, or written off. |
| Aging bucket | End-buyer invoices (any channel) | bucketed by days since invoice due date | Buckets: Current, 1–30, 31–60, 61–90, Over 90. Recalculated daily by the aging workflow, which runs only while the revenue background jobs are switched on. |
| Aging bucket | Marketplace-operator and channel-partner invoices | bucketed by days since expected disbursement date | Falls back to the due date when no expected disbursement date exists. Channel is used only as a legacy fallback when an invoice has no counterparty type. |
Spotted something wrong or out of date on this page? Tell us and we'll correct it.