Skip to content
RootSpend
FinOps2 min read

Who pays for the shared warehouse? A practical guide to cost allocation

When one warehouse or one AI account serves many teams, someone still has to pay. Five ways to split the cost, the order to use them in, and how to keep totals honest.

By RootSpend Team. Updated

Shared resources are the hard part of cost allocation. One warehouse serves marketing, sales and a chatbot project. One OpenAI account serves five teams. The invoice is a single number. So who pays?

Five methods, in order

Use the most precise signal you have for each cost. Only fall back to the next method when it's missing.

#MethodHow it worksGood for
1Request labelThe query or API call carries a tag, like project=chatbotProjects that cut across teams
2Person to teamEach person's usage goes to their teamTeams and departments
3Dedicated resourceThe whole warehouse, project or workspace belongs to one teamAnything with a single owner
4Fixed splitPercentages you agree on, like 60 / 40Tools with no usage detail
5UnassignedNothing matchedShowing what still needs an owner

A worked example

One warehouse cost $3,000 this month. Here's how it splits.

UsageMethodGoes toCost
Sara's queriesPerson to teamMarketing$1,200
Ali's queriesPerson to teamSales$900
Queries tagged project=chatbotRequest labelChatbot project$400
Idle timeSpread by usageAll three$500
Total$3,000

The total at the bottom matches the bill. That's the point.

Three rules that keep finance's trust

Count every dollar once. Add up the teams and you get the bill. Add up the categories and you get the bill again.

Put dates on team membership. When someone switches teams, their old costs stay with their old team.

Never hide the unassigned. Show it, and make finding its owner somebody's job.

Doing this in RootSpend

RootSpend applies these methods out of the box. OpenAI and Claude costs are split by project, workspace and person. Snowflake compute is split per warehouse and per user, with idle time shared across each warehouse's teams. Cloud bills from AWS, Google Cloud and Azure go to teams by account, project or tag.

See your own numbers when we open

Join the waitlist

Frequently asked questions

Showback means showing each team its costs without moving any money. Chargeback means actually billing those costs to each team's budget. Both need the same thing underneath, a split everyone trusts.

Either spread them across teams in proportion to their usage, or keep them as a visible shared line. Both are fine. Pick one and stick with it.

AI costs2 min read

How to track OpenAI API costs per team, project and person

Your OpenAI invoice tells you how much you spent, not who spent it. Here is how to split every dollar of API spend between the teams and people behind it.

Read more
Data warehouses2 min read

Idle Snowflake warehouses: how to find them and what they cost you

Snowflake bills a running warehouse whether it is busy or not. Here is how to find warehouses that sit idle, work out what that costs, and fix it safely.

Read more

Be first in when RootSpend opens

We are opening to a first group of teams soon. Join the waitlist, or book a demo and we will walk you through it on sample data.

Opening soon. The waitlist gets in first.