Cloud data warehouses
Data warehouse billing management, down to the dbt model
If you landed here searching for warehouse billing software and mean pallets and pick lists, this isn't it — that's 3PL and WMS territory. This page is about the other kind of warehouse: Snowflake, BigQuery and Databricks, where the monthly bill is real money and the itemization stops at the account level.
Loopcost reads the warehouse's own billing data and attributes every dollar to the specific dbt model that caused it, flags the anti-patterns provably wasting credits, and opens a PR with the fix — as a self-hosted CLI, so your credentials and SQL never leave your infrastructure.
What “billing management” means once the bill is per-model
For a physical warehouse, billing management means turning picks, storage and shipments into invoice lines. For a cloud data warehouse, the equivalent question is: which of the hundreds of dbt models running against this account produced which share of this month's credits, DBUs or bytes billed?
Almost nothing answers that directly. The warehouse bills the account, not the model — WAREHOUSE_METERING_HISTORY, system.billing.usage and INFORMATION_SCHEMA.JOBS_BY_PROJECT all stop at the query or the warehouse, and dbt runs hundreds of queries a day through the same handful of warehouses. Getting from a lump-sum invoice to a named owner is the actual management problem, and it's a mapping problem before it's a dashboard problem.
The three things that make up this page's scope
Attribute
Reads billed jobs straight from the warehouse's own query history and maps each one to a dbt node — query tag first, SQL comment second, destination table last. Priced on the actual billed unit, not a proxy for it.
Detect
Runs a small set of high-confidence rules against table metadata once spend is attributed: missing clustering keys, models that should be incremental but aren't. No regex-on-SQL guessing.
Fix
Opens a draft PR against your dbt repo with the metadata-provably-safe change. Gated on your existing CI. Nothing auto-merges.
Per warehouse
Snowflake
QUERY_HISTORY + QUERY_TAGgive clean job-to-model mapping, priced on the account's own effective $/credit rather than a flat list rate — see the write-up on why that distinction is worth ~23% of the bill.
BigQuery
INFORMATION_SCHEMA.JOBS_BY_PROJECT, priced on total bytes billed — metered directly, the tightest confidence band of the three.
Databricks
Unity Catalog system tables. Spend is apportioned per query by duration share of each warehouse's actual billed DBUs.
What this doesn't cover
Stated up front rather than found out later, same as everywhere else on this site:
- Not an invoicing or chargeback tool. Loopcost doesn't generate bills, split costs across internal teams, or replace your finance system.
- Not multi-cloud spend aggregation.It attributes warehouse compute specifically — it doesn't roll up AWS, Azure or GCP infrastructure spend into one number.
- No budget alerts or spend caps.Pair it with your warehouse's own resource monitors for that; Loopcost tells you which model to fix, not when to panic.
- No hosted dashboard yet. The attribution report and the PR are the interface today.
See the attribution on your own bill
Read-only access to query history and billing views — no credentials leave your side, and query text is parsed locally and discarded.