# Revenue

Revenue is the finance workspace for deals you have already sold. It normalizes what each connected channel reports — AWS, Azure, GCP, and Stripe, plus Snowflake in Revenue Records — into one set of revenue records, then follows the money through billing, cash collection, and disbursement — so you can answer what was invoiced, what buyers still owe, what has actually landed in your account, and which channel keeps the most of every dollar.

This workspace reports; it does not bill. On a cloud marketplace, the marketplace invoices the buyer and later pays out your share. On Stripe, Fours issues the invoice and collects. Either way, Revenue shows the result — to set up what you charge and to issue an invoice in the first place, use [Billing](/billing/).

Two controls at the top of most pages scope everything below them: a **channel** filter (one channel, or all of them) and a **date range**, which defaults to the last 90 days on the Overview. Set both before reading any number on the page.

## Follow the money, stage by stage

1. **[Overview](/revenue/overview/)** — the workspace home: stage cards for Bookings (the contract value on your entitlement terms), Billings, Cash Collected, and Disbursed, the revenue trend, and channel mix. Each card links to the page where you can dig into it.
2. **[Revenue Records](/revenue/revenue-records/)** — the ledger behind every other number: one normalized row per revenue event, with a raw tab showing exactly what each channel reported before Fours normalized it.
3. **[Invoices](/revenue/invoices/)** — the accounts-receivable view: total outstanding, DSO, aging buckets, and the full record behind any single invoice.
4. **[Cash & Disbursements](/revenue/cash-and-disbursements/)** — money on its way to you: payouts received, payouts still outstanding, the ones that need review, the disbursement schedule with expected-versus-received amounts, and the installments still to come.
5. **[Bank Reconciliation](/revenue/bank-reconciliation/)** — the last mile: deposits imported from your connected bank accounts, matched automatically against the invoices, payouts, and payment transactions they pay, with a review queue for the ones Fours will not settle on its own.
6. **[Revenue Recognition](/revenue/revenue-recognition/)** — when revenue may be *reported*, as opposed to when it moved: recognized and deferred revenue for an accounting period, a period summary that rolls the deferred balance forward by channel, recognition trends and a 12-month forecast, the records still waiting for a schedule, and closing or locking a period once its numbers are final.
7. **[Revenue Analytics and Reports](/revenue/revenue-analytics-and-reports/)** — ARR, MRR, and retention; revenue, margin, and days-to-payout compared across channels; and a library of finance reports you can run and export as CSV or PDF.

## Configure how revenue is reported

- **[Revenue Settings](/revenue/revenue-settings/)** — choose gross or net reporting per channel or product, set the ASC 606 recognition policies that drive [Revenue Recognition](/revenue/revenue-recognition/), review each channel's sync configuration, and manage the bank accounts that feed [Bank Reconciliation](/revenue/bank-reconciliation/).

## Scope and limits

:::info
**Channels.** The Overview dashboard filters by AWS, Azure, GCP, and Stripe; Revenue Records also carries a Snowflake channel. The channel filter is hidden on Settings and has no effect on Bank Reconciliation, Revenue Recognition, Channel Performance, or Financial Reports, where each report has a channel selector of its own.

**Freshness.** Figures are never real time. Each channel owns its own sync schedule — there is no separate revenue-sync job to enable, and no environment switch to wait on. Two background jobs run for the workspace itself: [bank reconciliation](/revenue/bank-reconciliation/) every **15 minutes**, and a [recognition](/revenue/revenue-recognition/) recovery pass hourly at **17 minutes past the hour**. Invoice aging is not a scheduled job at all — it is recalculated **when you read it** (see [Invoices](/revenue/invoices/)). If a channel's figures never move, that is a channel-connection question — check its status in [Revenue Settings](/revenue/revenue-settings/), then contact [support@suger.io](mailto:support@suger.io).

**Currency.** Revenue records are converted to USD at the rate for the record's **invoice date**, falling back to the record's own date when it has no invoice date. The converted amount and the rate are stored on the record, so opening a page never re-converts it on the fly; a record is converted again only when its channel next updates it. Two figures are the exception and are converted when you read them: [Bookings](/revenue/overview/#bookings) on the Overview, and the dollar amounts on [Bank Reconciliation](/revenue/bank-reconciliation/). See [Revenue Settings](/revenue/revenue-settings/) for the full FX rules, including the 35-day fallback window.

**Not the same as Billing.** [Billing](/billing/) is where you define billable metrics and price models, send offers, meter usage, and issue invoices to your customers. Revenue is where you read what those invoices became across every channel, and when the cash arrives.

**Also in Insulin.** The same workspace is the **Revenue** app on the [Insulin](/insulin/getting-started/#the-interface) Dock, with the same pages listed down the left of its window.

**Who can change what.** Every page can be read with revenue read access, which the standard Admin, Editor, and Viewer roles all include. Changing anything — reporting and recognition policies, bank connections, reconciliation decisions, closing a period — needs revenue write access, which Admin and Editor include; a [custom role](/get-started/account/#custom-role-with-granular-permissions) grants either through its **REVENUE** permissions. Locking a period, or closing an already-closed period again, also needs the Admin role. The console shows these controls to every role and rejects a change the role can't make; the Insulin app hides them from roles without write access.

**No public API for the workspace.** Its views — the Overview, revenue records, receivables and aging, the payout schedule, bank reconciliation, recognition, the analytics, and the financial reports — are not part of Fours' public API reference, SDKs, or MCP server. To take figures elsewhere, use the CSV exports on most pages, or CSV and PDF in [Financial Reports](/revenue/revenue-analytics-and-reports/#financial-reports).
:::

:::info
**Oracle is ingest-only.** Fours ingests Oracle Cloud Marketplace revenue from the OCI publisher disbursement report, so Oracle rows can show up in your revenue data — and in the channel filter, which lists whatever channels your data contains alongside your configured connections. Oracle is **not** a revenue connection you can manage: it has no row in [Revenue Settings](/revenue/revenue-settings/), no connection health, no backfill trigger, and no sync interval. The connection list there covers AWS, Azure, and GCP as marketplace channels plus Stripe as the payment channel. The OCI report also exposes only about **three trailing months**, so asking for older Oracle history returns nothing extra.
:::
