Plan a SaaS offer for the commercial marketplace
This article explains the different options and requirements for publishing software as a service (SaaS) offers to the Microsoft commercial marketplace. SaaS offers let you deliver and license software solutions to your customers via online subscriptions. As a SaaS publisher, you manage and pay for the infrastructure required to support your customers' use of your offer. This article will help you prepare your offer for publishing to the commercial marketplace with Partner Center.
Azure Active Directory (Azure AD) Graph is deprecated as of June 30, 2023. Going forward, we are making no further investments in Azure AD Graph. Azure AD Graph APIs have no SLA or maintenance commitment beyond security-related fixes. Investments in new features and functionalities will only be made in Microsoft Graph.
We'll retire Azure AD Graph in incremental steps so that you have sufficient time to migrate your applications to Microsoft Graph APIs. At a later date that we will announce, we will block the creation of any new applications using Azure AD Graph.
To learn more, see Important: Azure AD Graph Retirement and Powershell Module Deprecation.
As you prepare to publish a new SaaS offer, you need to decide which listing option to choose. The listing option you choose determines what additional information you'll need to provide as you create your offer in Partner Center. You will define your listing option on the Offer setup page as explained in How to create a SaaS offer in the commercial marketplace.
The following table shows the listing options for SaaS offers in the commercial marketplace.
|Listing option||Transaction process|
|Contact me||The customer contacts you directly from information in your listing.
You can change to a different listing option after publishing the offer.
|Free trial||The customer is redirected to your target URL via Microsoft Entra ID.
You can change to a different listing option after publishing the offer.
|Get it now (Free)||The customer is redirected to your target URL via Microsoft Entra ID.
You can change to a different listing option after publishing the offer.
|Sell through Microsoft||Offers sold through Microsoft are called transactable offers. An offer that is transactable is one in which Microsoft facilitates the exchange of money for a software license on the publisher's behalf. We bill SaaS offers using the pricing model you choose, and manage customer transactions on your behalf. Azure infrastructure usage fees are billed to you, the partner, directly. You should account for infrastructure costs in your pricing model. This is explained in more detail in SaaS billing below.
Note: You cannot change this option once your offer is published.
* Publishers are responsible for supporting all aspects of the software license transaction, including but not limited to order, fulfillment, metering, billing, invoicing, payment, and collection.
For more information about these listing options, see Commercial marketplace transact capabilities.
After your offer is published, the listing option you chose for your offer appears as a button in the upper-left corner of your offer's listing page. For example, the following screenshot shows an offer listing page in Azure Marketplace with the Get it now button.
The technical requirements differ depending on the listing option you choose for your offer.
The Contact me listing option has no technical requirements. When a customer expresses interest in or deploys your product, you'll receive a lead in the Referrals workspace in Partner Center. You also have the option to connect a customer relationship management (CRM) system to your offer to manage customer leads. This is described in the Customer leads section, later in this article.
The Get it now (Free), Free trial, and Sell through Microsoft listing options have the following technical requirements:
- You must enable both Microsoft Accounts (MSA) and Microsoft Entra ID for authenticating buyers on your site. You must let buyers with a Microsoft Entra account sign in to your application using Microsoft Entra ID with single sign-on (SSO).
- You must create a landing page that offers a seamless sign-in and onboarding experience for a customer who's purchased your offer. The landing page helps them complete any additional provisioning or setup that's required. For guidance on creating the landing page, see these articles:
These additional technical requirements apply to the Sell through Microsoft (transactable) listing option only:
You must use the SaaS Fulfillment APIs to integrate with Azure Marketplace and Microsoft AppSource. You must expose a service that can interact with the SaaS subscription to create, update, and delete a user account and service plan. Critical API changes must be supported within 24 hours. Non-critical API changes will be released periodically. Diagrams and detailed explanations describing the usage of the collected fields are available in documentation for the APIs.
If you choose Microsoft License Management Service, you must integrate with Graph API to verify customer eligibility so customers can manage their licenses on Microsoft Admin Center. For details on how to integrate, see Integrate your SaaS offer with Graph API for License Management
You must create at least one plan for your offer. Your plan is priced based on the pricing model you select before publishing: flat rate or per-user. More details about plans are provided later in this article.
The customer can cancel your offer at any time.
2-year and 3-year Multi-year SaaS plans with pending payments are not eligible for cancellation after the standard 72-hour cancellation policy has passed. Cancellation is not possible until the current billing term is complete because there are future payments due with Multi-year SaaS subscriptions. To request a cancellation of a 2-year or 3-year plan beyond the standard 72-hour cancellation period, contact Marketplace support.
If you're creating a transactable offer, you'll need to gather the following information for the Technical configuration page. If you choose to process transactions independently instead of creating a transactable offer, skip this section and go to Test drives.
Landing page URL: The SaaS site URL (for example:
https://contoso.com/signup) that users will be directed to after acquiring your offer from the commercial marketplace, triggering the configuration process from the newly created SaaS subscription. This URL will receive a token that can be used to call the fulfillment APIs to get provisioning details for your interactive registration page.
This URL will be called with the marketplace purchase identification token parameter that uniquely identifies the specific customer's SaaS purchase. You must exchange this token for the corresponding SaaS subscription details using the resolve API. Those details and any others you wish to collect as part of a customer-interactive web page can be used to kick off the customer onboarding experience, which has to eventually conclude with an activate call on the API for starting the subscription period. On this page, the user should sign up through one-click authentication by using Microsoft Entra ID.
This URL with marketplace purchase identification token parameter will also be called when the customer launches a managed SaaS experience from the Azure portal or Microsoft 365 Admin Center. You should handle both flows: when the token is provided for the first time after a new customer purchase, and when it's provided again for an existing customer managing their SaaS solution.
The Landing page you configure should be up and running 24/7. This is the only way you'll be notified about new purchases of your SaaS offers made in the commercial marketplace, or configuration requests for an active subscription of an offer.
Connection webhook: For all asynchronous events that Microsoft needs to send to you (for example, when a SaaS subscription has been canceled), we require you to provide a connection webhook URL. We will call this URL to notify you on the event.
The webhook you provide should be up and running 24/7. This is the only way you'll be notified about updates about your customers' SaaS subscriptions purchased via the commercial marketplace.
Inside the Azure portal, we require that you create a single-tenant Microsoft Entra app registration. Use the app registration details to authenticate your solution when calling the marketplace APIs. To find the tenant ID, go to your Microsoft Entra ID and select Properties, then look for the Directory ID number that's listed. For example,
Microsoft Entra tenant ID: (also known as directory ID). Inside the Azure portal, we require you to register a Microsoft Entra app so we can add it to the access control list (ACL) of the API to make sure you are authorized to call it. To find the tenant ID for your Microsoft Entra app, go to the App registrations blade in Microsoft Entra ID. In the Display name column, select the app. Then look for the Directory (tenant) ID number listed (for example,
Microsoft Entra application ID: You also need your application ID. To get its value, go to the App registrations blade in Microsoft Entra ID. In the Display name column, select the app. Then look for the Application (client) ID number listed (for example,
The Microsoft Entra application ID is associated with your publisher ID in your Partner Center account. You must use the same application ID for all offers in that account.
If the publisher has two or more different accounts in Partner Center, the Microsoft Entra app registration details can be used in one account only. Using the same tenant ID, app ID pair for an offer under a different publisher account is not supported.
You can choose to enable a test drive for your SaaS app. Test drives give customers access to a preconfigured environment for a fixed number of hours. You can enable test drives for any publishing option, however this feature has additional requirements. To learn more about test drives, see What is a test drive?. For information about configuring different kinds of test drives, see Test drive technical configuration.
A test drive is different from a free trial. You can offer a test drive, free trial, or both. They both provide your customers with your solution for a fixed period-of-time. But, a test drive also includes a hands-on, self-guided tour of your product's key features and benefits being demonstrated in a real-world implementation scenario.
The commercial marketplace will collect leads with customer information so you can access them in the Referrals workspace in Partner Center. Leads will include information such as customer details along with the offer name, ID, and online store where the customer found your offer.
You can also choose to connect your CRM system to your offer. The commercial marketplace supports Dynamics 365, Marketo, and Salesforce, along with the option to use an Azure table or configure an HTTPS endpoint using Power Automate. For detailed guidance, see Customer leads from your commercial marketplace offer.
You can add or modify a CRM connection at any time during or after offer creation. For detailed guidance, see Customer leads from your commercial marketplace offer.
Selecting an online store
When you publish a SaaS offer, it will be listed in Microsoft AppSource, Azure Marketplace, or both. Each online store serves unique customer requirements. AppSource is for business solutions and Azure Marketplace is for IT solutions. Your offer type, transact capabilities, and categories will determine where your offer will be published. Categories and subcategories are mapped to each online store based on the solution type.
If your SaaS offer is both an IT solution (Azure Marketplace) and a business solution (AppSource), select a category and a subcategory applicable to each online store. Offers published to both online stores should have a value proposition as an IT solution and a business solution.
SaaS offers with metered billing are available through Azure Marketplace and the Azure portal. SaaS offers with only private plans are only available through the Azure portal.
|Metered billing||Public plan||Private plan||Available in:|
|Yes||Yes||No||Azure Marketplace and Azure portal|
|Yes||Yes||Yes||Azure Marketplace and Azure portal*|
|Yes||No||Yes||Azure portal only|
|No||No||Yes||Azure portal only|
* The private plan of the offer will only be available via the Azure portal.
For example, an offer with metered billing and a private plan only (no public plan), will be purchased by customers in the Azure portal. Learn more about Private plans in Microsoft commercial marketplace. A SaaS offer with Microsoft managed License Management option enabled will be available only on AppSource and not on Azure Marketplace. For detailed information about listing options supported by online stores, see Listing and pricing options by online store. For more information about categories and subcategories, see Categories and subcategories in the commercial marketplace.
To simplify the procurement process for customers and reduce legal complexity for software vendors, Microsoft offers a standard contract you can use for your offers in the commercial marketplace. When you offer your software under the standard contract, customers only need to read and accept it one time, and you don't have to create custom terms and conditions.
If you choose to use the standard contract, you have the option to add universal amendment terms and up to 10 custom amendments to the standard contract. You can also use your own terms and conditions instead of the standard contract. You will manage these details in the Properties page. For detailed information, see Standard contract for Microsoft commercial marketplace.
After you publish an offer using the standard contract for the commercial marketplace, you cannot use your own custom terms and conditions. It is an "or" scenario. You either offer your solution under the standard contract or your own terms and conditions. If you want to modify the terms of the standard contract you can do so through Standard Contract Amendments.
Microsoft 365 integration
Integration with Microsoft 365 allows your SaaS offer to provide connected experience across multiple Microsoft 365 App surfaces through related free add-ins like Teams apps, Office add-ins, and SharePoint Framework solutions. You can help your customers easily discover all facets of your E2E solution (web service + related add-ins) and deploy them within one process by providing the following information.
If your SaaS offer integrates with Microsoft Graph, then provide the Microsoft Entra App ID used by your SaaS offer for the integration. Administrators can review access permissions required for the proper functioning of your SaaS offer as set on the Microsoft Entra App ID and grant access if advanced admin permission is needed at deployment time.
If you choose to sell your offer through Microsoft, then this is the same Microsoft Entra App ID that you have registered to use on your landing page to get basic user information needed to complete customer subscription activation. For detailed guidance, see Build the landing page for your transactable SaaS offer in the commercial marketplace.
Provide a list of related add-ins that work with your SaaS offer you want to link. Customers will be able to discover your E2E solution on Microsoft AppSource and administrators can deploy both the SaaS and all the related add-ins you have linked in the same process via Microsoft 365 admin center.
To link related add-ins, you need to provide the AppSource link of the add-in, this means the add-in must be first published to AppSource. Supported add-in types you can link are: Teams apps, Office add-ins, and SharePoint Framework (SPFx) solutions. Each linked add-in must be unique for a SaaS offer.
For linked products, search on AppSource will return with one result that includes both SaaS and all linked add-ins. Customer can navigate between the product detail pages of the SaaS offer and linked add-ins. IT admins can review and deploy both the SaaS and linked add-ins within the same process through an integrated and connected experience within the Microsoft 365 admin center. To learn more, see Test and deploy Microsoft 365 Apps - Microsoft 365 admin.
Microsoft 365 integration support limitations
Discovery as a single E2E solution is supported on AppSource for all cases, however, simplified deployment of the E2E solution as described above via the Microsoft 365 admin center is not supported for the following scenarios:
- "Contact me" list-only offers.
- The same add-in is linked to more than one SaaS offer.
- The SaaS offer is linked to add-ins, but it does not integrate with Microsoft Graph and no Microsoft Entra App ID is provided.
- The SaaS offer is linked to add-ins, but Microsoft Entra App ID provided for Microsoft Graph integration is shared across multiple SaaS offers.
Offer listing details
When you create a new SaaS offer in Partner Center, you will enter text, images, optional videos, and other details on the Offer listing page. This is the information that customers will see when they discover your offer listing in the commercial marketplace, as shown in the following example.
- Support address (link)
- Offer name
The following example shows an offer listing in the Azure portal.
Call out descriptions
- Useful links
Offer listing content is not required to be in English if the offer description begins with the phrase "This application is available only in [non-English language]".
To help create your offer more easily, prepare some of these items ahead of time. The following items are required unless otherwise noted.
Name: This name will appear as the title of your offer listing in the commercial marketplace. The name may be trademarked. It cannot contain emojis (unless they are the trademark and copyright symbols) and must be limited to 200 characters.
Search results summary: Describe the purpose or function of your offer as a single sentence with no line breaks in 100 characters or less. This summary is used in the commercial marketplace listing(s) search results.
Description: This description will be displayed in the commercial marketplace listing(s) overview. Consider including a value proposition, key benefits, intended user base, any category or industry associations, in-app purchase opportunities, any required disclosures, and a link to learn more.
This text box has rich text editor controls that you can use to make your description more engaging. You can also use HTML tags to format your description. You can enter up to 5,000 characters of text in this box, including HTML markup. For additional tips, see Write a great app description.
Getting Started instructions: If you choose to sell your offer through Microsoft (transactable offer), this field is required. These instructions help customers connect to your SaaS offer. You can add up to 3,000 characters of text and links to more detailed online documentation.
Search keywords (optional): Provide up to three search keywords that customers can use to find your offer in the online stores. You don't need to include the offer Name and Description: that text is automatically included in search.
Contact information: You must provide the following contacts from your organization:
- Support contact: Provide the name, phone, and email for Microsoft partners to use when your customers open tickets. You must also include the URL for your support website.
- Engineering contact: Provide the name, phone, and email for Microsoft to use directly when there are problems with your offer. This contact information isn't listed in the commercial marketplace.
- CSP Program contact (optional): Provide the name, phone, and email if you opt in to the CSP program, so those partners can contact you with any questions. You can also include a URL to your marketing materials.
Useful links (optional): You can provide links to various resources for users of your offer. For example, forums, FAQs, and release notes.
Supporting documents: You can provide up to three customer-facing documents, such as whitepapers, brochures, checklists, or PowerPoint presentations.
Media – Logos: Provide a PNG file for the Large logo. Partner Center will use this to create a Small and a Medium logo. You can optionally replace these with different images later.
- Large (from 216 x 216 to 350 x 350 px, required)
- Medium (90 x 90 px, optional)
- Small (48 x 48 px, optional)
These logos are used in different places in the online stores:
- The Small logo appears in Azure Marketplace search results and on the AppSource main page and search results page.
- The Medium logo appears when you create a new resource in Microsoft Azure.
- The Large logo appears on your offer listing page in Azure Marketplace and AppSource.
Media - Screenshots: You must add at least one and up to five screenshots with the following requirements, that show how your offer works:
- 1280 x 720 pixels
- PNG file type
- Must include a caption
Media - Videos (optional): You can add up to four videos with the following requirements, that demonstrate your offer:
- URL: Must be hosted on YouTube or Vimeo only.
- Thumbnail: 1280 x 720 PNG file
A preview audience differs from a private plan. A private plan is one you make available only to a specific audience you choose. This enables you to negotiate a custom plan with specific customers. For more information, see the next section: Plans.
You can send invites to Microsoft Account (MSA) or Microsoft Entra ID email addresses. Add up to 10 email addresses manually or import up to 20 with a .csv file. If your offer is already live, you can still define a preview audience for testing any changes or updates to your offer.
Transactable offers require at least one plan. A plan defines the solution scope and limits, and the associated pricing. You can create multiple plans for your offer to give your customers different technical and pricing options. If you choose to process transactions independently instead of creating a transactable offer, the Plans page is not visible. If so, skip this section and go to Additional sales opportunities.
See Plans and pricing for commercial marketplace offers for general guidance about plans, including pricing models, free trials, and private plans. The following sections discuss additional information specific to SaaS offers.
SaaS pricing models
SaaS offers can use one of two pricing models with each plan: either flat rate or per user. All plans in the same offer must be associated with the same pricing model. For example, an offer cannot have one plan that's flat rate and another plan that's per user.
Flat rate – Enable access to your offer with a single monthly or annual flat rate price. This is sometimes referred to as site-based pricing. With this pricing model, you can optionally define metered plans that use the marketplace metering service API to charge customers for usage that isn't covered by the flat rate. For more information on metered billing, see Metered billing for SaaS using the commercial marketplace metering service. You should also use this option if usage behavior for your SaaS service is in bursts.
Per user – Enable access to your offer with a price based on the number of users who can access the offer or occupy seats. With this user-based model, you can set the minimum and maximum number of users supported by the plan. You can create multiple plans to configure different price points based on the number of users. These fields are optional. If left unselected, the number of users will be interpreted as not having a limit (min of 1 and max of as many as your service can support). These fields may be edited as part of an update to your plan.
After your offer is published, you cannot change the pricing model. In addition, all plans for the same offer must share the same pricing model.
SaaS billing terms and payment options
The billing term is the plan duration the customer is committing to, and the payment option is the payment schedule that the customer follows to pay for the entire term. SaaS apps support 1-month, 1-year, 2-year, and 3-year billing terms with options to pay one-time upfront, or with equal payments (if applicable).
This table shows the payment options for SaaS offers in the commercial marketplace.
|Billing term||One-time upfront payment||Monthly equal payments||Annual equal payments|
You can choose to configure one or more billing terms on a plan. For each billing term you define, you can select one payment option (monthly or annual payments) and set the price for each payment option. For example, to encourage a potential customer to subscribe to a longer billing term, you could offer a 2-year billing term for $100.00 and a 3-year billing term for $90.00.
Only one payment option is supported for a billing term on a given plan. To offer an additional payment option for the same term, you can create another plan.
For billing terms with equal payments, payment collection will be enforced for the entire term and the standard refund policy applies. For more information about SaaS subscription management, see SaaS subscription lifecycle management.
For SaaS apps that run in your (the publisher's) Azure subscription, infrastructure usage is billed to you directly; customers do not see actual infrastructure usage fees. You should bundle Azure infrastructure usage fees into your software license pricing to compensate for the cost of the infrastructure you deployed to run the solution.
SaaS app offers that are sold through Microsoft support one-time upfront, monthly, or annual billing (payment options) based on a flat fee, per user, or consumption charges using the metered billing service. The commercial marketplace operates on an agency model, whereby publishers set prices, Microsoft bills customers, and Microsoft pays revenue to publishers while withholding an agency fee.
The following example shows a sample breakdown of costs and payouts to demonstrate the agency model. In this example, Microsoft bills $100.00 to the customer for your software license and pays out $97.00 to the publisher.
|Your license cost||$100 per month|
|Azure usage cost (D1/1-Core)||Billed directly to the publisher, not the customer|
|Customer is billed by Microsoft||$100.00 per month (Publisher must account for any incurred or pass-through infrastructure costs in the license fee)|
|Microsoft bills||$100 per month|
|Microsoft charges a 3% Marketplace Service Fee and pays you 97% of your license cost||$97.00 per month|
A preview audience can access your offer prior to being published live in the online stores. They can see how your offer will look in the commercial marketplace and test the end-to-end functionality before you publish it live.
On the Preview audience page, you can define a limited preview audience. This setting is not available if you choose to process transactions independently instead of selling your offer through Microsoft. If so, you can skip this section and go to Additional sales opportunities.
Before you publish your offer live, you should use the preview functionality to develop your technical implementation, test and experiment with different pricing models.
To develop and test your SaaS offer with the lowest amount of risk, we recommend that you create a test and development (DEV) offer for experimentation and testing. The DEV offer will be separate from your production (PROD) offer.
To prevent accidental purchases of the DEV offer, you'll never push the Go live button to publish the DEV offer live.
For information about the benefits of a DEV offer, and the configuration difference between a DEV and production offer, see Plan a test and development (DEV) offer.
Additional sales opportunities
You can choose to opt into Microsoft-supported marketing and sales channels. When creating your offer in Partner Center, you will see two tabs toward the end of the process:
Resell through CSPs: Use this option to allow Microsoft Cloud Solution Providers (CSP) partners to resell your solution as part of a bundled offer. For more information about this program, see Cloud Solution Provider program.
Co-sell with Microsoft: This option lets Microsoft sales teams consider your IP co-sell eligible solution when evaluating their customers' needs. For details about co-sell eligibility, see Requirements for co-sell status. For detailed information on how to prepare your offer for evaluation, see Co-sell option in Partner Center.
- SaaS offer overview
- SaaS Offer Technical Overview
- Publishing a SaaS offer
- Configuring SaaS Pricing in Partner Center: Publisher Overview
- Configuring SaaS Pricing in Partner Center: Publisher Demo
- A SaaS Accelerator Hands-on Tour - The Basics
- SaaS Accelerator Architecture
- Installing the SaaS Accelerator With the Install Script
- Invoking Metered Billing with the SaaS Accelerator
- Configuring Email in the SaaS Accelerator
- Custom Landing Page Fields with the SaaS Accelerator