Snowflake

Snowflake Organization Billing: Cross-Account Cost Management in Practice

2026-03-26
更新: 2026-03-27
NicheeLab Editorial Team

When you run multiple accounts under a Snowflake Organization, cost visibility and chargeback become critical management challenges. The SNOWFLAKE.ORGANIZATION_USAGE schema provides views that aggregate compute, storage, and data transfer usage across accounts, all accessible via the ORGADMIN role.

ORGANIZATION_USAGE Schema Overview

The ORGANIZATION_USAGE schema lives inside the SNOWFLAKE database and is accessed via the ORGADMIN role. The primary views are listed below.

View NameContentsPrimary Use Case
WAREHOUSE_METERING_HISTORYPer-account warehouse credit consumptionBreakdown analysis of compute cost
STORAGE_USAGEPer-account storage usageTracking storage cost trends
DATA_TRANSFER_HISTORYCross-region data transfer volumeTransfer cost analysis
USAGE_IN_CURRENCY_DAILYDaily currency-converted costCurrency-based cost reporting
RATE_SHEET_DAILYDaily pricing rateVerifying unit prices and computing cost
REMAINING_BALANCE_DAILYCapacity plan remaining balanceContract balance monitoring
CONTRACT_ITEMSContract item detailsContract verification

Enabling the ORGADMIN Role

-- Enable the ORGADMIN role (run as ACCOUNTADMIN)
USE ROLE ACCOUNTADMIN;

-- Switch to the ORGADMIN role
USE ROLE ORGADMIN;

-- List all accounts in the Organization
SHOW ORGANIZATION ACCOUNTS;

Per-Account Compute Cost Aggregation

-- Per-account and per-warehouse credit consumption (last 30 days)
USE ROLE ORGADMIN;
SELECT
  ACCOUNT_NAME,
  WAREHOUSE_NAME,
  SUM(CREDITS_USED_COMPUTE) AS compute_credits,
  SUM(CREDITS_USED_CLOUD_SERVICES) AS cloud_credits,
  SUM(CREDITS_USED_COMPUTE + CREDITS_USED_CLOUD_SERVICES) AS total_credits
FROM SNOWFLAKE.ORGANIZATION_USAGE.WAREHOUSE_METERING_HISTORY
WHERE START_TIME >= DATEADD('DAY', -30, CURRENT_TIMESTAMP())
GROUP BY ACCOUNT_NAME, WAREHOUSE_NAME
ORDER BY total_credits DESC;

-- Per-account compute cost trend (daily)
SELECT
  DATE_TRUNC('DAY', START_TIME) AS usage_date,
  ACCOUNT_NAME,
  SUM(CREDITS_USED_COMPUTE) AS daily_compute_credits
FROM SNOWFLAKE.ORGANIZATION_USAGE.WAREHOUSE_METERING_HISTORY
WHERE START_TIME >= DATEADD('DAY', -90, CURRENT_TIMESTAMP())
GROUP BY usage_date, ACCOUNT_NAME
ORDER BY usage_date, ACCOUNT_NAME;

Per-Account Storage Cost Aggregation

-- Per-account storage usage (recent snapshot)
SELECT
  ACCOUNT_NAME,
  USAGE_DATE,
  AVERAGE_STAGE_BYTES / POWER(1024, 4) AS stage_tb,
  AVERAGE_DATABASE_BYTES / POWER(1024, 4) AS db_tb,
  AVERAGE_FAILSAFE_BYTES / POWER(1024, 4) AS failsafe_tb,
  (AVERAGE_STAGE_BYTES + AVERAGE_DATABASE_BYTES + AVERAGE_FAILSAFE_BYTES)
    / POWER(1024, 4) AS total_tb
FROM SNOWFLAKE.ORGANIZATION_USAGE.STORAGE_USAGE
WHERE USAGE_DATE >= DATEADD('DAY', -30, CURRENT_DATE())
ORDER BY total_tb DESC;

Currency-Based Cost Analysis (USAGE_IN_CURRENCY_DAILY)

USAGE_IN_CURRENCY_DAILY provides daily costs already converted into currency. This makes it easy to compare spend accurately while accounting for differing credit unit prices.

-- Monthly cost by account and category (currency-based)
SELECT
  ACCOUNT_NAME,
  USAGE_TYPE,
  DATE_TRUNC('MONTH', USAGE_DATE) AS usage_month,
  SUM(USAGE_IN_CURRENCY) AS monthly_cost_usd
FROM SNOWFLAKE.ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY
WHERE USAGE_DATE >= DATEADD('MONTH', -3, CURRENT_DATE())
GROUP BY ACCOUNT_NAME, USAGE_TYPE, usage_month
ORDER BY usage_month DESC, monthly_cost_usd DESC;

-- Cost category breakdown:
-- compute         : Warehouse compute
-- cloud_services  : Cloud Services Layer
-- storage         : Storage
-- data_transfer   : Cross-region transfer
-- serverless      : Serverless features (Snowpipe, SOS, etc.)

Checking Unit Prices with RATE_SHEET_DAILY

-- Inspect pricing rates for each account
SELECT
  ACCOUNT_NAME,
  USAGE_DATE,
  SERVICE_TYPE,
  EFFECTIVE_RATE,
  CURRENCY
FROM SNOWFLAKE.ORGANIZATION_USAGE.RATE_SHEET_DAILY
WHERE USAGE_DATE = CURRENT_DATE() - 1
ORDER BY ACCOUNT_NAME, SERVICE_TYPE;

Monitoring Capacity Plan Balance

-- Capacity contract balance over time
SELECT
  DATE,
  ORGANIZATION_NAME,
  CURRENCY,
  FREE_USAGE_BALANCE,
  CAPACITY_BALANCE,
  ON_DEMAND_CONSUMPTION_BALANCE,
  ROLLOVER_BALANCE
FROM SNOWFLAKE.ORGANIZATION_USAGE.REMAINING_BALANCE_DAILY
WHERE DATE >= DATEADD('DAY', -90, CURRENT_DATE())
ORDER BY DATE;

Practical Cost Allocation Patterns

Cross-organization cost management requires chargeback not just by account, but also by department and project.

  • Account isolation: Split accounts by department and aggregate via ACCOUNT_NAME in ORGANIZATION_USAGE. The simplest and most accurate approach.
  • Warehouse tagging: Apply Tags to warehouses inside an account and join with ACCOUNT_USAGE.TAG_REFERENCES for per-department aggregation.
  • Budgets feature: Set budgets on accounts or custom groups and trigger alerts when thresholds are reached.

ACCOUNT_USAGE vs ORGANIZATION_USAGE

ComparisonACCOUNT_USAGEORGANIZATION_USAGE
ScopeSingle accountEntire Organization (all accounts)
Required roleIMPORTED PRIVILEGES privilegeORGADMIN
Retention365 days365 days
Data latencyUp to 45 minutes to 3 hoursUp to 24 hours
Primary use caseDetailed analysis within a single accountOrganization-wide cost visibility

Exam Pointers

  • Accessing ORGANIZATION_USAGE requires the ORGADMIN role.
  • USAGE_IN_CURRENCY_DAILY holds currency-converted cost; RATE_SHEET_DAILY is used to inspect unit prices.
  • ORGANIZATION_USAGE data latency is up to 24 hours, longer than ACCOUNT_USAGE's 45 minutes to 3 hours.
  • REMAINING_BALANCE_DAILY lets you monitor the balance of a Capacity contract.
  • Resource Monitors control warehouse cost inside an account, while Organization Billing focuses on cross-organization visibility — two distinct roles.

Check Your Understanding

SnowPro

問題 1

An Organization administrator wants to build a monthly cost report in currency terms across every account under the Organization. Which combination of data source and role is most appropriate?

  1. Aggregate SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY per account using ACCOUNTADMIN.
  2. Query SNOWFLAKE.ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY with the ORGADMIN role.
  3. Look up costs from the output of SHOW ORGANIZATION ACCOUNTS as SYSADMIN.
  4. Query only SNOWFLAKE.ORGANIZATION_USAGE.RATE_SHEET_DAILY as SECURITYADMIN.

正解: B

Currency-based cost aggregation across the entire Organization uses the USAGE_IN_CURRENCY_DAILY view with the ORGADMIN role. ACCOUNT_USAGE only covers a single account, SHOW ORGANIZATION ACCOUNTS does not include cost information, and RATE_SHEET_DAILY contains only unit prices, not consumption.

Frequently Asked Questions

Which role do I need to query the ORGANIZATION_USAGE schema?

Accessing the views in the ORGANIZATION_USAGE schema requires the ORGADMIN role. ORGADMIN is a privileged role that manages every account in the Organization, and any account's ACCOUNTADMIN can enable ORGADMIN. Unlike IMPORTED PRIVILEGES on the SNOWFLAKE database, ORGANIZATION_USAGE is a schema reserved exclusively for the ORGADMIN role.

What does the RATE_SHEET_DAILY view show?

RATE_SHEET_DAILY surfaces the daily pricing rates applied to each account in the Organization (the per-credit price, storage rate, and so on). Rates vary by contract plan (On-Demand / Capacity) and edition (Standard / Enterprise / Business Critical), so this view lets you compute usage x rate accurately during cost analysis.

How does Organization Billing relate to account-level Resource Monitors?

Resource Monitors track and cap warehouse credit consumption inside a single account, firing SUSPEND/NOTIFY actions when thresholds are hit. Organization Billing, on the other hand, is a cross-account visibility and aggregation feature with no usage-capping capability. For cost control, combine Resource Monitors (per account) with Budgets (per account or organization-wide).

Check what you learned with practice questions

Practice with certification-focused question sets

無料で問題を解いてみる
Author

NicheeLab Editorial Team

NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.


Related articles
Snowflake

Snowflake Certifications: All 11 Exams Explained (2026)

Every SnowPro certification — Associate, Core, Specialty, Ad...

Snowflake

Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)

All 11 SnowPro exams ranked by difficulty with study-time es...

Snowflake

Snowflake Study Guide: Fastest Pass Route by Exam (2026)

How to pass SnowPro certifications efficiently — official ma...

Snowflake

SnowPro Core (COF-C03): Complete Exam Guide (2026)

Pass the SnowPro Core exam — six domains, scope, sample ques...

Snowflake

SnowPro Associate Platform (SOL-C01): Complete Guide (2026)

The entry-level SnowPro Associate exam — scope, weighting, s...

Browse all Snowflake articles (103)
© 2026 NicheeLab All rights reserved.