How do I split one cloud account across client projects?

Give each client a stable project key, such as client-acme, and use that same key across AWS, Google Cloud, and DigitalOcean. Map dedicated resources from billing tags or labels where available. Use account ownership or resource-name rules only when they identify one client reliably. An account shared by several clients cannot itself tell you how to split the bill.

Keep unmatched spend in an unallocated bucket. A database with no usable client identifier belongs there until someone establishes ownership; assigning it to the largest customer makes the totals look complete but makes the report less trustworthy.

Worked example: two agency clients and a shared service

This is an illustrative calculation, not customer data. A monthly bill contains $600 of dedicated Acme infrastructure, $300 of dedicated Birch infrastructure, and a $100 shared service. Direct project mapping accounts for $900. Keep the remaining $100 visible as shared until you agree a defensible split.

If measured usage for the shared service is 60% Acme and 40% Birch, the reporting calculation allocates $60 and $40 respectively. Acme totals $660 and Birch $340, reconciling to the original $1,000. Record the usage source and period alongside the calculation. If those measurements are unavailable, report $600, $300, and $100 shared instead of inventing percentages.

Requests, storage, and jobs are possible allocation drivers, not interchangeable measures. Choose the driver that explains the service cost. Keep contractual client charges separate from this internal cost estimate: a cost ledger is not an invoice or a payment workflow.

What should an agency evaluate in a cloud cost tool?

Test with one real client project before importing every account. Check whether the tool covers your providers, preserves the billing period and currency, lets you preview mapping changes, and leaves shared or unallocated spend visible. Compare the project totals with the source bill and investigate differences before passing numbers to a client.

Tovin.io brings AWS, Google Cloud, and DigitalOcean billing into a project-level ledger with tag, account, and regex mapping rules. It uses read-only connections and surfaces budgets, anomalies, and unallocated cost. It suits engineering teams and dev agencies that need to explain which project caused spend. Usage-based shared-cost calculations such as the example above require a documented reporting model; do not assume Tovin measures application requests or automatically invoices your clients.

  • Start with an identifiable client and a complete billing period.
  • Preview rules and inspect unmatched rows before accepting allocation.
  • Review the largest cost changes with the engineer responsible.
  • Check current plan connection and export limits before selecting a plan.

Related concepts

Who tovin.io is for

Frequently asked

Can this be exact?

Dedicated customer infrastructure can be exact. Shared infrastructure usually needs an explainable allocation model.

What should be avoided?

False precision. Keep assumptions visible.