Buyers & Contracts
Overview
When a prospective customer (buyer) purchases a SaaS offer from Azure Marketplace, it creates a software as a service (SaaS) subscription (contract) in the Azure portal.
Buyer Entitlements

Sample entitlements for a flat rate plan
Field | Description |
---|---|
plan_id | Purchased plan of the listing |
plan_name | Purchased plan name of the listing |
is_free_trial | Whether the purchased plan has 1-month free trial or not |
billing_term | Duration of the purchased plan, can be either of 1 Month, 1 Year, 2 Years, or 3 Years |
dimension_name | Name of the dimension for which additional usage will be metered |
included_quantity | Base quantity of the additional usage dimension included in the plan |
Eg. A plan can have API Requests as its dimension and there are 10 units included in the plan. Consumption over this will be metered for billing.
Dimensions
Dimensions are only valid for "flat rate" plans. Moreover, if your plan has a free trial enabled, then dimensions won't be supported.
Buyer Metadata

Sample buyer metadata
Purchaser vs Beneficiary
Email address, tenant ID, object ID, user ID that purchased the SaaS subscription. Purchaser could be different from beneficiary information for reseller (CSP) purchase.
Buyer Identifiers

Sample buyer identifiers
Field | Description |
---|---|
Subscription ID | Purchased SaaS subscription ID |
Publisher ID | Publisher ID of the listing |
Offer ID | Purchased offer ID of the listing |
Plan ID | Purchased plan ID of the plan |
Registration Details

Sample registration details
Buyer after registration will fill the registration details that will be reflected on this page.
Contracts (a.k.a Subscription)
A buyers subscription can exist in different states of its lifecycle. Buyers have the liberty to change plan & increase or decrease number of users, cancel subscription, edit recurring billing, etc. from the Azure portal. More details can be found here.
Contract Activation
Sellers can activate a subscription that is present in Pending tab of the Buyers screen

Pending subscriptions waiting to be activated manually
Contract Metadata
Subscription metadata is synced from Azure periodically via Get Subscription API. This will eventually reflect the latest subscription data.
id: e8be44e6-a931-467b-d4nc-20427fcbb8b1
name: subscription_name_by_buyer
saas_subscription_status: Subscribed
term:
start_date: 2023-07-05
end_date: 2023-08-03
billing_term: 1 Month
is_test: false
plan_id: starter
created_at: 2023-06-23 13:02:20
offer_id: sentiment_analysis_app_source_api_15_05_2023-preview
auto_renew: true
purchaser:
pu_id: 1003200283490BB9
emai_id: [email protected]
object_id: ba6cbee5-3665-4dab-927a-5c2343eb376e
tenant_id: 7b37ebfe-eb76-43e8-a5bc-67e18810e2a3
beneficiary:
pu_id: 1003200283490BB9
emai_id: [email protected]
object_id: ba6cbee5-3665-4dab-927a-5c2343eb376e
tenant_id: 7b37ebfe-eb76-43e8-a5bc-67e18810e2a3
is_free_trial: false
publisher_id: datadomellc1666884843020
Contract States

SaaS subscription lifecycle
State | Description |
---|---|
PendingFulfillmentStart | Buyer buys a plan in a listing and a subscription is created |
Subscribed | Seller activates the subscription that is waiting in PendingFulfillmentStart state After changing plan subscription state doesn't change After changing number of users subscription state doesn't change |
Suspended | Subscription gets suspended if payment is not received (30 days grace) |
Unsubscribed | Buyer unsubscribed to a subscription via Azure Portal or payment is not received for a suspended subscription (after 30 days grace) |
Contract Events
Certain actions by sellers and buyers initiate state changes in the contract generating events. These events are visible in the events section of the contract.

Sample events for an active subscription
Event Name | Description |
---|---|
Azure Contract New | Buyer purchases a plan from your listing |
Azure Contract Registered | Buyer completes the registration process |
Azure Contract Activated | Seller activates a subscription in pending state |
Azure Contract Renewed | Contract gets auto renewed post expiry |
Azure Contract Plan Changed | Buyer changes the plan of the subscription |
Azure Contract Quantity Changed | Buyer changes the number of users for the purchased plan |
Azure Contract Suspended | Subscription gets suspended if payment is not received (30 days grace) |
Azure Contract Unsubscribed | Buyer unsubscribed to a subscription via Azure Portal or payment is not received for a suspended subscription (after 30 days grace) |
Azure Contract Reinstated | Subscription gets reinstated if payment is received for a suspended subscription within 30 days grace period |
Updated over 1 year ago