Finance & Order
Metering limitations and FAQ
8 min
what is metering, in plain english? when a customer buys a saas offer on microsoft marketplace, they usually pay a flat monthly fee but some offers also charge based on actual usage — things like emails sent, api calls made, or gb of data processed this is called metered billing the way it works is simple your platform (the isv's software) keeps track of how much the customer uses, and whenever usage goes over the included amount, it sends a report to microsoft saying "this customer used x units of y thing " microsoft then bills the customer for that extra usage that report is sent through the metering service api and that api has specific rules about how and when you can send those reports the one rule you need to know almost everything about the metering api comes down to one rule true 661left rgb(239, 246, 252) rgb(239, 246, 252) unhandled content type that's it everything else is just a variation of this what does "per subscription + per metric + per hour" actually mean? subscription = one customer's order each order has a unique id metric (dimension) = the thing you're billing for (e g emails sent, api calls, storage gb) each offer can have multiple calendar hour = e g 08 00–08 59 is one hour 09 00 starts a fresh slot so the rule applies to a specific combo of all three change any one of them, and it's a completely separate slot so what can i send? ✅ two reports for different customers — no problem if customer a and customer b both have active subscriptions, you can send a report for both at the exact same time they have different subscription ids, so they're totally independent you could send reports for 100 different customers simultaneously ✅ two reports for different metrics — no problem if your offer has two billing dimensions (say, emails sent and api calls), you can send a report for both in the same minute different metrics = different slots no conflict ✅ two reports for the same customer, same metric, different hours — fine if you send a report for customer a's email usage at 08 55, and then again at 09 05 — that's fine those are two different calendar hours, so they're separate slots ❌ two reports for the same customer, same metric, same hour — rejected if you send a report for customer a's email usage at 08 10, and then another one at 08 45 for the same metric — the second one will be rejected you already filled that slot true 661left rgb(255, 253, 231) rgb(255, 253, 231) unhandled content type only active subscriptions you can only send usage reports for subscriptions that are currently active microsoft will reject events for subscriptions that are • cancelled / unsubscribed • suspended • still pending activation (pendingfulfillmentstart) the one exception if a customer cancels today, you can still send usage reports for the period before the cancellation — as long as you do it within the 24 hour window common scenarios at a glance true 220,220,221left rgb(0, 120, 212) rgb(0, 120, 212) unhandled content type left rgb(0, 120, 212) rgb(0, 120, 212) unhandled content type left rgb(0, 120, 212) rgb(0, 120, 212) unhandled content type left white white unhandled content type left rgb(253, 243, 241) rgb(253, 243, 241) unhandled content type left white white unhandled content type left rgb(249, 249, 249) rgb(249, 249, 249) unhandled content type left rgb(240, 250, 240) rgb(240, 250, 240) unhandled content type left rgb(249, 249, 249) rgb(249, 249, 249) unhandled content type left white white unhandled content type left rgb(240, 250, 240) rgb(240, 250, 240) unhandled content type left white white unhandled content type left rgb(249, 249, 249) rgb(249, 249, 249) unhandled content type left rgb(240, 250, 240) rgb(240, 250, 240) unhandled content type left rgb(249, 249, 249) rgb(249, 249, 249) unhandled content type left rgb(249, 249, 249) rgb(249, 249, 249) unhandled content type left rgb(253, 243, 241) rgb(253, 243, 241) unhandled content type left rgb(249, 249, 249) rgb(249, 249, 249) unhandled content type https //learn microsoft com/en us/partner center/marketplace offers/marketplace metering service apis