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 flat rate plan

Sample entitlements for a flat rate plan

FieldDescription
plan_idPurchased plan of the listing
plan_namePurchased plan name of the listing
is_free_trialWhether the purchased plan has 1-month free trial or not
billing_termDuration of the purchased plan, can be either of 1 Month, 1 Year, 2 Years, or 3 Years
dimension_nameName of the dimension for which additional usage will be metered
included_quantityBase 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

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

Sample buyer identifiers

FieldDescription
Subscription IDPurchased SaaS subscription ID
Publisher IDPublisher ID of the listing
Offer IDPurchased offer ID of the listing
Plan IDPurchased plan ID of the plan

Registration Details

Sample 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

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

SaaS subscription lifecycle

StateDescription
PendingFulfillmentStartBuyer buys a plan in a listing and a subscription is created
SubscribedSeller 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
SuspendedSubscription gets suspended if payment is not received (30 days grace)
UnsubscribedBuyer 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

Sample events for an active subscription

Event NameDescription
Azure Contract NewBuyer purchases a plan from your listing
Azure Contract RegisteredBuyer completes the registration process
Azure Contract ActivatedSeller activates a subscription in pending state
Azure Contract RenewedContract gets auto renewed post expiry
Azure Contract Plan ChangedBuyer changes the plan of the subscription
Azure Contract Quantity ChangedBuyer changes the number of users for the purchased plan
Azure Contract SuspendedSubscription gets suspended if payment is not received (30 days grace)
Azure Contract UnsubscribedBuyer unsubscribed to a subscription via Azure Portal or payment is not
received for a suspended subscription (after 30 days grace)
Azure Contract ReinstatedSubscription gets reinstated if payment is received for a suspended
subscription within 30 days grace period