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 can help you prepare your offer for publishing to the commercial marketplace with Partner Center.
Tip
To see the customer's view of purchasing a SaaS offer in the Azure portal, see Purchase a SaaS offer in the Azure portal and Purchase SaaS apps on Microsoft AppSource.
Important
Azure Active Directory (Azure AD) Graph is deprecated as of June 30, 2023. Going forward, we're 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 need to provide as you create your offer in Partner Center. You'll 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. More details are explained in the following section: SaaS billing. Note: You can't 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 can connect a customer relationship management (CRM) system to your offer to manage customer leads. This is described in this article in the section: Customer leads.
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 purchased your offer. The landing page helps them complete any other required provisioning or setup. 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 the Microsoft commercial marketplace. 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. Noncritical API changes are 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.
Note
2-year and 3-year Multi-year SaaS plans with pending payments aren't eligible for cancellation after the standard 72-hour cancellation policy has passed. Cancellation isn't 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, gather the following information for the Technical configuration page.
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 receives a token that can be used to call the fulfillment APIs to get provisioning details for your interactive registration page.This URL is 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 is also 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 the token is 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 is canceled), we require you to provide a connection webhook URL. We'll 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.
Note
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,
aaaabbbb-0000-cccc-1111-dddd2222eeee
.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're authorized to call it. To find the tenant ID for your Microsoft Entra app, go to the App registrations panel in Microsoft Entra ID. In the Display name column, select the app. Then look for the Directory (tenant) ID number listed (for example,
aaaabbbb-0000-cccc-1111-dddd2222eeee
).Microsoft Entra application ID: You also need your application ID. To get its value, go to the App registrations panel in Microsoft Entra ID. In the Display name column, select the app. Then look for the Application (client) ID number listed (for example,
00001111-aaaa-2222-bbbb-3333cccc4444
).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.
Note
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 isn't supported.
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.
When you publish a SaaS offer, it will be listed in the Microsoft commercial marketplace, 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 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.
Important
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 can 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'll manage these details in the Properties page. For detailed information, see Standard contract for Microsoft commercial marketplace.
Note
After you publish an offer using the standard contract for the commercial marketplace, you can't 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.
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've 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 the Microsoft commercial marketplace. Administrators can deploy both the SaaS and all the related add-ins you've 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.
Discovery as a single E2E solution is supported on AppSource for all cases, however, simplified deployment of the E2E solution as described previously via the Microsoft 365 admin center isn't 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 doesn't 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.
When you create a new SaaS offer in Partner Center, you'll enter text, images, optional videos, and other details on the Offer listing page. Customers see this information when they discover your offer listing in the commercial marketplace, as shown in the following example.
Call-out descriptions
- Logo
- Categories
- Industries
- Support address (link)
- Terms of use
- Privacy policy
- Offer name
- Summary
- Description
- Screenshots/videos
- Documents
The following example shows an offer listing in the Azure portal.
Call out descriptions
- Title
- Description
- Useful links
- Screenshots
Note
Offer listing content isn't 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 appears as the title of your offer listing in the commercial marketplace. The name can be trademarked. It can't contain emojis (unless they're 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 search results.
Description: This description displays in the commercial marketplace listing 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.
Privacy policy link: The URL for your company's privacy policy. You must provide a valid privacy policy and are responsible for ensuring your app complies with privacy laws and regulations.
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 uses this file to create a Small and a Medium logo. You can optionally replace these 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:
- Name.
- URL: Must be hosted on YouTube or Vimeo only.
- Thumbnail: 1280 x 720 PNG file.
Note
Your offer must meet the general commercial marketplace certification policies and the software as a service policies to be published to the commercial marketplace.
Note
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 isn't 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 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 can't 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). The min or max number of users cannot be edited as part of an update to your plan.
Important
After your offer is published, you can't change the pricing model. In addition, all plans for the same offer must share the same pricing model.
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 |
---|---|---|---|
1-month | Yes | NA | NA |
1-year | Yes | Yes | NA |
2-year | Yes | Yes | Yes |
3-year | Yes | Yes | Yes |
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.
Note
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 don't 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 before 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 isn't 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.
Important
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.
You can choose to opt into Microsoft-supported marketing and sales channels. When creating your offer in Partner Center, you'll 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.
Video tutorials
- 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