Per-tenant API cost attribution: see which customer drives your accounting-API bill
When the accounting APIs you build on start billing by usage, the first question is always the same: which connected customer is driving it? Here is how to answer it.
Native portals show aggregate usage only
Both platforms report at the wrong granularity for this question. The Xero usage tab shows app-wide egress, and the Intuit API usage chart shows a workspace total. Each is a single aggregate number across every connected organisation. So you can see that you are approaching a tier limit, but not which connected org or customer is responsible — until the invoice arrives, and sometimes not even then.
What per-tenant attribution means
Per-tenant attribution means instrumenting your own API wrapper to emit one lightweight usage event per call. Each event carries just three things:
- a tenant reference — your own identifier for the connected organisation or customer;
- the bytes moved (egress, for Xero's GB-based overage);
- a call count (for QuickBooks Online's CorePlus credits).
You then aggregate those events per tenant. That is the entire mechanism — you already make the API call, so you already know which tenant it was for; you simply record it.
It is metadata only
This approach is metadata-only by design. The usage event contains no financial data — no transactions, no balances — and no OAuth tokens. It is a counter keyed to a reference, nothing that the call itself returned. That keeps attribution cheap to run and outside the blast radius of anything sensitive: even if the usage store were exposed, there is nothing in it but tenant references and numbers.
The payoff
- Find the heavy tenant. Rank connected organisations by egress or call volume and see, at a glance, the handful driving most of the bill.
- Set pre-overage alerts. Project month-to-date run-rate against your tier and get warned before you cross into overage — not after the invoice.
- Decide who to optimise or charge. Once you can name the heavy tenant, you can cache more aggressively for it, move it to webhooks, or price the usage back to the customer that causes it.
Where this applies
Per-tenant attribution is the missing layer for both metered accounting APIs: Xero's AUD $2.40/GB egress overage and QuickBooks Online's CorePlus credits and overage. In both cases the platform bills an aggregate and leaves the breakdown to you. Tierguard is built around exactly this pattern — you emit usage events from your wrapper, and it does the per-tenant roll-up and alerting.
Attribute your accounting-API bill per tenant
Emit one lightweight usage event per call and let Tierguard rank tenants, project run-rate, and alert you before an overage.
Create a free accountFAQ
Why can't I see per-tenant API cost in the native portal?
The Xero usage tab and the Intuit API usage chart report app or workspace aggregate usage only. They show one total, so you cannot tell which connected organisation or customer drives the bill until the invoice arrives.
What exactly is per-tenant API cost attribution?
It means instrumenting your own API wrapper to emit one lightweight usage event per call — carrying a tenant reference, bytes and a call count — then aggregating those events per tenant. It is metadata only: no financial data and no OAuth tokens.
What do I gain from per-tenant attribution?
You find the heavy tenant, set pre-overage alerts before you cross a tier, and decide which connections to optimise or charge. The breakdown native portals never show becomes the basis for action.