Billing
How client usage is metered, rolled up, and charged to you as a partner
Wexio doesn't bill your managed clients directly.
- Usage (messages and AI) is metered per client.
- It's rolled up to you monthly as one usage-based invoice, at the rate card in your provider contract.
- Your clients never appear in Wexio billing. You bill them however you like.
- A managed client org is exempt from retail billing - it has no plan of its own and none of the downgrade enforcement a direct customer would see.
What Changes for Your Own Organisation
Becoming a tech provider (org kind TECH_PROVIDER) replaces retail billing for you and for every client org you provision. Three things stop being available:
Tech provider and its MANAGED children | A normal org | |
|---|---|---|
| Retail subscription | Cannot open, switch or cancel a plan. Billing is usage-based only. | Picks a plan. |
| Coupons | Cannot grant or redeem them. | Can use them. |
| Referrals | Cannot grant or use them. | Can use them. |
These are enforced server-side, not just hidden in the UI - a subscription or coupon call from a provider org or one of its children is refused. If you need a commercial adjustment, it goes in your provider contract, not through a coupon.
A distribution partner (kind PARTNERSHIP) is the opposite case: it keeps coupons and referrals, stays retail-billed, and the orgs it refers remain ordinary retail customers rather than managed children. Don't apply this page to that model - see the comparison in the section overview.
A tech provider's entitlement comes from its provider contract rather than from a retail plan, so product functionality is not limited by a plan tier the way a direct customer's is.
AI features are technically available to tech providers - there is no feature gate - but they are not part of the standard tech-provider offering. Talk to your account manager before building on them.
Live Usage
partnerUsageSummary returns the current-period rollup:
query Usage {
partnerUsageSummary { children opsUnits aiUnits estimatedAmountCents }
}MCP tool calls are metered to the client named in orgId, the same as GraphQL calls.
Your Rate Card
Your provider contract holds the terms your invoice is calculated from.
| Term | What it means |
|---|---|
| Ops rate | Price per operation unit. |
| AI rate | Price per AI unit. |
| Included ops | A free monthly operation allowance. It tops up a bank rather than expiring - see below. |
| Included AI | The same, for AI units, in its own separate bank. |
| Monthly minimum | A floor on the charge. You pay at least this, whatever the usage comes to. |
| Billing day | The day of the month your charge fires. |
All of these are set by Wexio - your account manager configures them as part of your provider agreement. They are not self-serve, and there is no API to change them from your side. If a term needs to change, that is a conversation with your account manager.
Your Allowance Is a Rolling Bank
The included allowance does not expire at the end of the month. It accumulates.
Each billing cycle:
- Your included allowance is added to the bank you carried in.
- The period's usage is consumed from that bank.
- Whatever is left carries forward to the next period.
A quiet month therefore builds credit for a busy one.
Example - a 5,000-ops monthly allowance:
| Month | Bank at start | Allowance added | Usage | Billed on | Bank carried out |
|---|---|---|---|---|---|
| January | 0 | 5,000 | 2,000 | 0 | 3,000 |
| February | 3,000 | 5,000 | 1,000 | 0 | 7,000 |
| March | 7,000 | 5,000 | 14,000 | 2,000 | 0 |
Ops and AI have separate banks. Unused AI allowance never offsets ops usage, and neither bank goes negative.
The Charge
charge = max(
monthlyMinimum,
(totalUsage − bank) × rate // per metric, floored at zero
)A monthly minimum still applies even when your usage is entirely inside the bank. The minimum is a separate floor, not something the allowance can satisfy - so an included allowance does not guarantee a $0 month if your contract also sets a minimum. Check both terms together.
If your contract has no allowance (or it is zero), you are billed from the first operation.
A Worked Example
A partner with this contract:
| Term | Value |
|---|---|
| Ops rate | $0.01 per op |
| AI rate | $0.05 per AI unit |
| Included ops | 5,000 per cycle |
| Included AI | 1,000 per cycle |
| Monthly minimum | $0 |
| Billing day | 15th |
In a period where three managed clients between them used 2,750 ops and 560 AI units:
| Ops | AI | |
|---|---|---|
| Bank available | 5,000 | 1,000 |
| Usage | 2,750 | 560 |
| Billable | 0 | 0 |
| Carried to next period | 2,250 | 440 |
The charge fires on the 15th and comes to $0 - the usage sat entirely inside the allowance. The leftover 2,250 ops and 440 AI units roll forward, so the next period opens with an ops bank of 2,250 + 5,000 = 7,250 before any usage.
This lands at $0 because the contract's monthly minimum is $0. With a minimum of, say, $200, the same period would be charged $200 - the allowance covers the usage, but it does not satisfy a minimum. The two terms are independent.
Watching the Bank
partnerUsageSummary returns your projected remaining balance:
query Allowance {
partnerUsageSummary {
opsUnits
aiUnits
opsAllowanceRemaining
aiAllowanceRemaining
estimatedAmountCents
currency
}
}opsUnits and aiUnits are total usage, not billable usage. They are the full amounts your clients consumed; the bank is only netted off when the charge is computed. Read opsAllowanceRemaining / aiAllowanceRemaining to see what is left, and estimatedAmountCents for what you will actually pay - that one accounts for both the bank and the minimum.
The remaining balance is a projection of where the bank lands if the period closed now. It is written down only when the period actually closes and the charge settles - a failed, retryable charge does not consume your bank for usage that was never billed.
What Wexio Sends You
Your provider organisation receives its own mail, even though your clients receive none.
| When | What |
|---|---|
| Once, when you are set up as a tech provider | An onboarding email pointing at these docs. |
| Each monthly charge that succeeds | A payment confirmation with the per-client breakdown and the allowance used. |
| A charge that fails | A notice asking you to update your card, and a note that the team will be in touch. |
A failed payment does not suspend you. There is no automatic cut-off for a tech provider, and your clients keep working while it is sorted out. That is deliberate: suspending a provider would take down every organisation it runs, including businesses with no relationship to the payment problem.
When You Are Charged
Your charge fires on the billing day in your contract - one charge per calendar month.
| Case | Behaviour |
|---|---|
| No day set | The 1st of the month. |
| A day that month is too short for | Clamped to the last day of that month. A billing day of 31 charges on 30 April and on 28 February. |
Every provider is charged on its own day, so your invoice date does not move around with Wexio's other providers. It is still exactly one charge per calendar month - a clamped day does not produce a second charge.
What a Client Org Is Like
A client org you provision behaves differently from a retail customer in ways your own onboarding has to account for:
| Billing | Usage-based, rolled up to you. No retail plan, no plan limits, no downgrade enforcement. |
| Coupons and referrals | Blocked - cannot grant or redeem. |
| Wexio emails | None. No invites, welcome, mentions, promos or billing mail reaches a client org's members. |
| Who Wexio emails instead | You. See what Wexio sends you. |
| Adding members | Invites are refused with "add members directly". Use addOrgMemberDirect, which creates the member already accepted. |
| Functionality | Everything else the product does. |
No platform email means no invite email. A client org's operators will never receive a Wexio invitation, so your own product has to get them to a sign-in. Add the member directly, then handle the login journey yourself.
Your provider org still receives its own Wexio email normally - it is only the children that are silent.
What Clients Cost You
Usage is attributed to the client that caused it, whichever surface produced it:
| Source | Metered to |
|---|---|
| A message sent or received in a client org | That client. |
| A flow card running in a client org | That client. |
| An AI reply in a client org | That client, as AI units. |
A GraphQL call with X-Wexio-Org | The named client. |
An MCP tool call with orgId | The named client. |
That attribution is what lets you re-bill per customer with your own margin - the rollup is one invoice to you, but the breakdown underneath is per client.
Related
- Usage - the
partnerUsageSummaryoperation - Client orgs - provisioning the clients being metered
- Ops & usage - what consumes an operation in the first place