# Revenue

Track billed revenue and payouts from your Snowflake Marketplace listings in Suger.

---

## Overview

Snowflake handles billing on its side — it invoices your consumers and disburses your earnings. Suger does **not** generate Snowflake invoices. Instead, Suger **ingests** the billing data Snowflake publishes to providers, stores it, and normalizes it into unified **revenue records** so Snowflake revenue sits alongside your AWS, Azure, GCP, and direct (Stripe) revenue in one place.

Suger syncs two datasets from your Snowflake provider account:

| Dataset | Source | What it contains |
|---------|--------|------------------|
| **Invoices** | Snowflake's `MARKETPLACE_LISTING_INVOICE_STATUS` view | One row per invoice Snowflake issued to a consumer — billed amount, tax, Snowflake fees, expected payout, and invoice status. |
| **Disbursements** | Snowflake's `MARKETPLACE_DISBURSEMENT_REPORT` view | The payouts Snowflake sent you — each event's net amount, charge type, and event date. |

Suger joins the two by invoice number and, where possible, resolves each invoice to the matching Suger buyer, product, and entitlement.

## Where to find Snowflake revenue

Snowflake is a first-class channel in Suger's revenue surfaces — there is no separate Snowflake-only revenue page. To view it:

1. Open **Revenue → Revenue Records**.
2. Set the **Channel** filter to **Snowflake**.

The **Multi-Channel Revenue** workspace (analytics, channel performance, cash & disbursements, and reports) also includes Snowflake wherever a channel filter is available. See the [Revenue Records](/revenue/revenue-records/) documentation for the full page reference.

You can also see the Snowflake revenue records for a single consumer on that **Buyer**'s detail page, or for a single **entitlement** on its detail view.

## What each amount means

For a Snowflake invoice, Suger maps the raw values into the normalized revenue record as follows:

| Revenue record field | Snowflake source | Meaning |
|----------------------|------------------|---------|
| **Billed** | `total_billed_amount` | What Snowflake billed the consumer. |
| **Collectable** | `expected_payout_amount` | What you receive after Snowflake's marketplace fees. |
| **Tax** | `sales_tax_amount` | Sales tax collected on the invoice. |
| **Disburse amount** | Σ disbursement `net_amount` | Actual money paid out to you, summed across disbursement events for the invoice. |
| **Disburse date** | latest disbursement `event_date` | When the most recent payout for the invoice occurred. |
| **Invoice date / status** | `invoice_date` / `invoice_status` | The invoice's date and current status. |

:::info
**Void invoices** are kept in the record for auditability, but their billed, collectable, tax, and payout amounts are zeroed out so they don't inflate your totals.
:::

## Sync

Revenue sync runs automatically once your Snowflake Marketplace integration is connected. Suger periodically pulls new invoice and disbursement rows and updates the corresponding revenue records.

- The **first** sync performs a historical backfill of all available invoices and disbursements; subsequent syncs are incremental.
- If you disable and later re-enable revenue sync on the Snowflake integration, Suger re-runs the historical backfill so no records are missed.

:::caution
Snowflake revenue data reflects what Snowflake reports in its provider views. If an invoice or payout is missing, confirm it appears in your Snowflake account first — Suger can only surface what Snowflake has published.
:::

## FAQ

### Does Suger generate Snowflake invoices?

No. Snowflake generates the invoices and issues payouts. Suger reads Snowflake's provider billing views and normalizes them into revenue records. To learn how usage charges get to Snowflake in the first place, see [Usage Metering Upload](/snowflake-marketplace/usage-metering-upload/).

### Why is my collectable amount lower than the billed amount?

The collectable amount is the **expected payout** — the billed amount minus Snowflake's marketplace fees. Snowflake nets its fees before disbursing your earnings.

### When will I see a disbursement?

A disbursement appears once Snowflake reports the payout in `MARKETPLACE_DISBURSEMENT_REPORT` and Suger's next sync ingests it. Until then, the record shows the expected payout (collectable) without a disburse date or amount.
