Usage lives in five places and none of them agree
Bandwidth in one panel, storage in another, backup counts in a third, licences in a spreadsheet. Month-end is a reconciliation exercise before it is an invoicing exercise.
If none of these is your problem, we are probably not what you need — and we would rather you found that out here.
Bandwidth in one panel, storage in another, backup counts in a third, licences in a spreadsheet. Month-end is a reconciliation exercise before it is an invoicing exercise.
Upstream invoices for transit, licences and hardware arrive with their own rates and their own units. Checking them against what you actually consumed is the job that never gets scheduled.
A client adds fifteen seats on the 3rd and nobody tells billing. You either catch it or you carry it, and carrying it is invisible until margin drops.
Every client has slightly different rates because that is how the deals were done. That is fine — until you have to rebuild it in a tool that assumes one price list.
Recommended: Agent plus the HTTPS API
Log-based usage on a box you control goes through the agent. Anything your own portal or provisioning system knows about goes through an SDK call. Everything else posts JSON. Versioned price plans mean each client's rates are a plan version with an effective date, not a special case in code.
Read the setup docs| Event type | Unit | Matched on | Example |
|---|---|---|---|
| data | gigabytes | properties.service | transit |
| storage | gigabytes | properties.tier | backup-warm |
| custom | seats | properties.product | mail-hosted |
| api_call | requests | properties.endpoint | /v1/provision |
Sample usage for a fictional hosting provider across data, storage and seat-based products.
Vertex Hosting
LiveMonth to date
£27,334.38
Events
3,662,807
Busiest day
£1,420.43
Usage this week
Spend by type
Sample data for a fictional hosting & msps business · 51M units metered this month
Click around the full version in the sandbox — no signup, no card.
One command, or one call from the system you already run. The sandbox is open if you would rather look first.