Introduction
On your platform, catalogs can be bundled together and sold via subscription plans. With this model, instead of purchasing individual courses or learning plans, users can purchase “plans” that grant access to an entire “bundle” of content.
This article covers how to set up and manage subscriptions on the platform. Continue reading this chapter for a general overview of how subscriptions work, then move on to the other chapters for detailed configuration instructions.
Bundles
→ A bundle is always a collection of catalogs. So when you define the contents of a bundle you can add only catalogs to it. You cannot add individual courses or learning plans.
You can offer access to a bundle in two ways:
- Seats-based: The subscription buys a certain number of “seats” for the bundle’s content. Each seat allows a single enrollment for a single course within the bundle catalog.
- License-based: Each license grants access to the entire contents of the bundle to one user, for a specified amount of time. A license holder can enroll in as many of the bundle courses as they want, for the duration of the license validity.
When you configure a bundle, you define its contents (the catalogs it includes), its type (seats or license based), and also its visibility (the groups/branches who will be able to access it).
Plans
Then, to actually offer the bundle for sale, you need to create a subscription plan for it. A plan defines:
- The price of the subscription
- The number of seats or licenses that the subscription includes
- The duration (validity period) of the access granted by the subscription
- The renewal type: manual, automatic, or none (one-time purchase)
You can associate more than one plan to a given bundle. For example, for the same bundle of content you could offer: a single license with one month duration for €20, a single license with one-year duration for €200, and ten licenses with one-year duration for €1800.
→ However, note that you cannot offer a mixture of license and seat plans for the same bundle. This is because “seats-based” or “license-based” is a property of the bundle. If a bundle is of the seat type, all its plans must be for a number of seats. And similarly if a bundle is of the license type, all its plans must be for a number of licenses.
Who can purchase
Learners can purchase only single-license subscriptions for themselves. Seats-based bundles are not available to them. License based bundles are available to them only if there exists a single-license plan for the bundle. For more information see the article Purchasing subscriptions as a learner.
Power Users with granted permissions can purchase seat subscriptions and use those seats to enroll their learners in the bundle’s courses. They can also purchase multi-license subscriptions and then assign those licenses to their users.
- Both these actions (using subscription seats and assigning subscription licenses) are done in the Manage seats page.
- At the time of purchase, Power Users must specify for which user group or branch they are buying the plan. They can then assign licenses or seats only within that group or branch.
For more information see the article Purchasing subscriptions as a Power User.
→ Remember that to be able to purchase a subscription plan any user must also have visibility of the bundle, meaning they belong to one of the groups or branches assigned to the bundle.
Where subscriptions can be purchased
Logged-in users can browse and purchase the subscription plans available to them from the Subscription plans built-in page.
If your platform has the public catalog enabled, non-authenticated visitors can also browse subscription plans on the login page. This page will only show bundles with visibility set to all branches, and for which there is a single-license plan.
For more information see the article Configuring the public catalog.
Prerequisites
The Subscriptions feature is available with the e-commerce pack. Contact your Docebo representative for information about how to obtain it.
The catalogs that you include in a subscription must contain courses and learning plans that are for-purchase. See the article Selling content online with e-commerce for how to set up the e-commerce feature and assign a price to courses and learning plans.
Please note that Stripe is the only accepted payment method both for Automatic and Manual renewals at payment time. So if you intend to configure renewable subscription plans (with Manual or Automatic renewal type) you must have the Stripe payment gateway configured on your platform. For non-renewable subscription plans (renewal type = None) all the payment methods are supported.
Configuring subscription settings
Under Admin menu > SUBSCRIPTIONS > Settings you will find some options that apply to all your bundles and plans.
Configure these settings as described in the following sections. Then press Save changes when you have finished. All of these settings are also available when configuring individual extended enterprise clients.
Enforce limits
When you configure a subscription plan, you specify the number of seats or licenses that it includes. A Power User can purchase a plan and then allocate the seats/licenses among the users in the group/branch for which the plan was purchased. The Enforce limits settings specify what happens when all the seats/licenses in the plan have been used up. Note however that the behavior specified here can be overridden at the level of the individual plan.
- Enforce seat limit.Sets whether user enrollments are blocked if there are not enough seats available. If you set No, users can still be enrolled in the courses or learning plans included in the bundle even when all the seats in the plan have been allocated.
-
Enforce licenses limit.Sets whether user associations are blocked if there are not enough licenses available. If you set No, users can still be assigned a license even when all the licenses in the plan have been allocated.
Please note: The global settings you make here for Enforce seat limit and Enforce licenses limit determine the default value of the Enforce limit field when creating a new plan. However you can always change Enforce limit to Yes or No for any individual plan, irrespective of these global settings
Enforce expiration
Every subscription plan has a validity period, expressed in number of days, months or years, that is counted starting from the time of purchase. The expiration date of any subscription plan purchase can be checked under Admin menu > SUBSCRIPTIONS > Transactions.
When a plan is expired, new enrollments are always blocked. Users with a license can no longer enroll themselves in any of the bundle’s content (they will no longer see the Subscribed badge on the cards). Also, Superadmins and Power Users can no longer assign seats or enroll users in the content of expired plans from the Manage seats page (they will receive an error message). And, although they can still assign licenses to users, those licenses can no longer be used to create enrollments.
The Enforce expiration setting specifies what happens to existing enrollments when a plan reaches its expiration date.
- If Enforce expiration is enabled, users will not be able to access the content of expired plans where they were already enrolled.
-
If this option is instead disabled, users can still complete the courses in which they were already enrolled, even if the subscription has expired.
Please note: The Enforce expiration dates setting does not apply to enrollments resulting from enrollment rules. Such enrollments are not linked to the subscription, and so do not end when the subscription expires.
Renewals
- Renewal method. Defines the default renewal method for subscription plans. You can choose to have manual or automatic renewals as the default setting. However this setting can be overridden at the level of the individual plan. Automatic renewals will automatically take the payment method on the day that the subscription expires. Please note that Stripe is the only accepted payment method both for Automatic and Manual renewals at payment time. When using the Extended Enterprise app, make sure you configure the Stripe account in use in the main domain for all of the sub-domains for proper processing of the renewal payment.
Refunding
These settings determine what happens when a seat or license is removed from a user. If refunding is allowed, the seat or license becomes available and can be reallocated to another user. If refunding is blocked, the seat or license cannot be reused.
License refunding:
- Allow licenses refunding. If enabled, increases the number of licenses if a user is removed from a subscription. In this way, the freed up license can be assigned to another user.
Note that this setting affects only Power Users. Superadmins can always free up licenses, even if Allow licenses refunding is off.
In the Manage seats page, you can see whether a license has been refunded by checking the Assigned column. For example if it shows 1 out of a total 2 licenses assigned, after unassigning a license it will show 0/2 licenses assigned if the licenses was refunded. But if refunding was blocked it will continue to show 1/2.
Please note: This setting applies when a license is removed from a user in the Manage seats page with the Unassign licenses action, or as a result of the user being deactivated.
If a user is deleted, or removed from group/branch for which the plan was purchased, their license is automatically unassigned and becomes available for re-allocation, irrespective of the Allow refunding setting.
→ Note that in any case, when a license is removed from a user, the user’s existing course enrollments are kept.
Seats refunding:
Power Users can use seats to enroll learners in the courses included in a bundle. If a user is subsequently unenrolled from the course for which the seat was used, or otherwise loses access to the subscription (because they were deactivated, deleted or moved to a different branch), the seats refunding setting controls whether that seat can be reused for someone else.
→ Note that in any case, and irrespective of the seats refunding setting, when users are deactivated or moved to a different branch their course enrollment is kept
If Allow seats refunding is disabled: The seat is not refunded, even if a user is unenrolled, deactivated, deleted, or moved to a different branch. Once used the seat is gone and cannot be reused for someone else.
If Allow seat refunding is enabled: If a user is unenrolled or loses access to the subscription (because deactivated, deleted or moved to a different branch), the freed up seat can be used to enroll another user, subject to the Block refund setting:
- Block refund if course is Started: The seat will not be refunded if the prior learner has already started the course. This is the default option.
- Block refund if course is Completed. The seat will not be refunded if the prior learner has already completed the course.
Creating bundles
The first step in creating a subscription is creating a bundle, which is a group of catalogs (composed of courses and learning plans) that you put together. You then assign the bundle-specific attributes in order for it to be sold via subscription plans. To create a bundle, select Admin menu > Subscriptions > Manage. This will open the Manage bundle page.
In the top right corner of the page, press the plus (Create) button and select New bundle. . In the slideout panel, add the bundle name, code, bundle type, and description. The two different bundle types are:
- Seats. Each seat is a single enrollment for a single course within the bundle catalog. Seats are distributed individually on a user-to-course basis.
- Licenses. Each license provides access to the entire subscription. Once a Superadmin grants a license to a user, the user is then given access to all of the courses within the subscription, and can freely enroll in as many courses as desired.
Press Next and fill in the additional fields related to the bundle, if configured. Please note that you must fill in the mandatory additional fields in order to continue. Refer to the Creating Additional Fields for Bundles or Plans chapter of this article to learn more about creating and managing bundle additional fields.
On the same panel, you will be able to update the items included in the transactions linked to the bundle when catalogs are added or removed from the bundle by enabling the corresponding option. This means that the catalogs that are visible to users because they are part of the bundle will be automatically updated starting from when the option is enabled. Please note that this option is disabled by default. Refer to the corresponding section below to learn more about creating and managing bundle additional fields. Press Next to continue.
On the next page in the panel, select which groups or branches can view the bundle. You can select the option to include or exclude descendants of branches, if desired. Then, press Next. Add catalogs that you want to include in the bundle by selecting the checkbox next to the catalog name. You can filter catalogs and search for them as necessary using the search bar. Press Next.
New bundles are created as Unpublished. You can publish them only after associating them to a plan. Please refer to the next section of this article for further information on how to create a plan for your bundle. If you don’t publish the bundle, it is not available to sell.
Catalogs' visibility on bundles
When adding catalogs to a bundle, consider the following visibility rules:
- If you add catalogs to an existing bundle, the users who bought the bundle before the update will not see the catalogs you added. On the other hand, if you add courses and/or learning plans to a catalog included in a bundle, the users who bought that bundle before you updated the catalog will see the new courses and learning plans as available.
- When catalogs are added to a bundle, they inherit the bundle visibility. This means that if a user has no visibility on a catalog, and the catalog is added to a bundle the same user has visibility on, then the user will also gain visibility on that catalog. However, we strongly suggest keeping the visibility aligned between catalogs and subscriptions.
- If users are enrolled in a course or a learning plan of a catalog that is subsequently removed from the bundle by the Superadmin, the enrollment will be kept and the course or the learning plan will remain visible in their My Courses and Learning Plans page, even if the catalog to which they belonged is no longer visible in the Course Catalog page.
Tip: To avoid inconsistencies, when you include a catalog in a subscription bundle, make sure that all its courses and learning plans are available for purchase through e-commerce. It is not recommended to have free content within a catalog sold via subscription.
Creating and managing plans for bundles
Once your bundle is created, you can create plans for it. A bundle can have multiple plans (usually based on time or validity period). A plan is how you choose to sell the bundle to users.
Find your created bundle in the list of bundles on the Manage bundle page. Click the bundle <name> in the list to open its configuration page, and select the Plans tab. Here you can see any existing plans available for the bundle.
To add a new plan, click the plus button in the top right corner and select New plan. In the panel that opens:
- Enter the Plan name, Code, and Price.
- Set the Number of seats/licenses. Depending on the type of bundle this will determine either how many seats in courses (enrollments) or how many licenses to access the entire bundle are provided by this subscription.
- Set the time span of the subscription plan: in the Duration field select the desired units of time (days, months or years) and in the Validity period field enter the number.
→ Note that the validity period you set cannot extend beyond January 1, 2038.
The subscription bundle status will change to Expiring (visible to users) two days before the end of the validity period. - Choose the Renewal type (none, manual, or automatic). If you set none users can complete a one-time purchase of the plan. Note that the choice you set here will override the global setting in Renewal method.
→ Coupons can be applied to purchases of non-renewable subscription plans, provided the coupon is valid for all courses on the platform (option Assign this coupon to all of the existing and future courses and learning plans selected when configuring the coupon). - In Enforce limit set what happens when the specified number of seats/licenses is reached. If you choose Yes, further user enrollments or associations will be blocked. Note that whatever value you set here will override the global settings Enforce seat limit and Enforce licenses limit.
When you are finished, click Next.
On the next page in the panel, fill in the additional fields related to the plan (if configured), if desired. Please note that you must fill in the mandatory additional fields in order to continue. Refer to the Creating Additional Fields for Bundles or Plans chapter of this article to learn more about creating and managing plan additional fields. Then, press Confirm.
The newly created plan will be added to the list in the Plans tab for the bundle. Each plan’s row in the list will show all of the configured details. Hover your mouse at the end of the plan’s row in the list and click on the ellipsis menu to edit or delete the plan. Click on Edit to change any of the details that you previously configured, then press Confirm when you’re finished.
If you want to delete a plan, you will be asked to confirm the action before your platform deletes the plan from the bundle.
Once the plan is created, if the plan is the first plan associated with a bundle, you can publish the bundle. Go back to the Manage Bundles page and click on the item in the Publish column to publish the bundle.
Creating additional fields for bundles or plans
You can also create and manage additional fields related to bundles or plans. To do so, access the Manage page for Subscription Plans from the Admin Menu. On the main Manage Bundles page, switch the Additional Fields tab at the top. In this tab, you will find all of the additional fields that you’ve created.
Press the filters item on the left side to filter which fields appear in the list based on whether they are fields for a bundle or for a plan. To create a new additional field, press the plus button in the top right corner, then press New Additional Field item that appears below.
In the slideout panel, begin by selecting whether the additional field is for a bundle or for a plan. Then, select the field language at the top by pressing the globe icon, then selecting your preferred language from the list. Next, select the field type from the Field Type dropdown menu: date (provides a calendar), dropdown field, or free text field.
Add a field name to the corresponding text field. For the dropdown field type, insert all of the dropdown elements into the corresponding text field, pressing the New Element button after each individual element, in order to add it to the dropdown menu.
Then, set whether this field is considered mandatory or not. If you enable this option, you must complete this additional field when creating a new bundle, plan, or transaction. When finished, press Create.
The additional field will now appear in the list, in the Additional Fields tab. Hover your mouse of the field’s row for the ellipsis icon to appear. From there, you can edit or delete the additional field. The field can now be assigned to a bundle or plan. Edit an existing bundle or plan, or create a new bundle or plan to use the additional field.
You can also manage the additional fields of a transaction. Refer to the Managing Transactions section for more information.
Managing bundles
Once you’ve created bundles (and plans for your bundles), you will find all of your bundles in a list on the Manage Bundles page (Admin Menu, Subscriptions section, Manage subitem). Each bundle’s row displays the bundle code, name, description, type, visibility, items inside the bundle, number of plans associated with the bundle, and whether the bundle is published or not.
On any row, you can click the bundle name to open its configuration page to the Properties tab. You can also click the icon in the Visibility, Catalogs, or Plans column to jump directly to the corresponding tab.
To publish an unpublished bundle, click the empty circle icon in the Published column, and change it to a filled circle with a checkmark. To unpublish a bundle, click the checkmark icon to change it back into an unfilled circle. A warning triangle icon in the Published column indicates that the bundle configuration is incomplete so it cannot be published. Remember that a bundle must include at least one catalog and have at least one plan configured before you can publish it.
When placing your mouse over the bundle’s row in the list, an ellipsis menu will appear at the end of the row. Press the icon to see the dropdown menu. You can duplicate a bundle, which allows you to duplicate all settings related to the bundle, and change whatever is necessary. This option allows you to create similar bundles without repeating every step of the bundle creation process.
Press the Edit item to edit the bundle details or to automate the update of the catalogs included in the transactions linked to the bundle when the bundle content is changed. By selecting this option, the bundle content visible to the users will be kept aligned with the real content of the bundle starting from when this option is enabled. This will save you from having to manually edit the items related to the bundle on the Transactions page in the Subscriptions section
Please note that the Update the items included in the transactions linked to the bundle when the bundle content changes option is disabled by default and its activation does not trigger a synchronization between the bundle and the transactions. The transactions related to the existing bundle will only be updated when a catalog is added or removed from a bundle, the option does not work for additions or removals done prior to activating this option.
Select the Delete option to remove the bundle from your platform.
Managing transactions
To manage transactions for your sold plans, press the Transactions item in the Subscriptions section of your Admin Menu. On this page, each transaction equals one sold plan, with one record per row. Each record will show the creation date, transaction code, to whom the subscription was sold, the expiration date, bundle name, plan name, number of renewals of the purchase, and status.
Search for a specific record using the search bar, or filter which records you see in the list using the Filters button in the top left corner of the page. In the slide-out section, press the Add Filters button, then select which fields you want to select and press Confirm.
Press the Columns icon in the top left corner to select which columns you want to view in the records list. Once you press the column title (if the column is active already), it will change to grey, and the column will be removed completely from the list, and vice-versa. You can press the column title again to add a column. At the bottom of the slideout menu, press the Reset to Default View button to return to the original column view for the records lists.
By placing your mouse over the record in the list, you will see the menu icon at the end of the row. Press the menu icon, then select an action from the dropdown menu:
- Renew. By pressing this item, a slide-out form will appear, confirming the details of the record. By renewing a record, you cannot change the details of the transaction, but you can add notes, as desired. When finished, press Confirm at the bottom of the form. Please note that this is only applicable if the sold plan is not set to be automatically renewed (otherwise the Confirm button is disabled). This option is deactivated for non-renewable plans.
- View Note. By pressing this item, you will see any notes related to the record. You cannot edit the notes with this item.
- Modify Items. By pressing this item, you can manually add or remove catalogs for a specific record. Please note that if the Update the items included in the transactions linked to the bundle when the bundle content is changed option has been enabled during the creation/edit phase of a bundle, the content of the transactions will always be aligned to the real content of the bundle starting from when this option is enabled.
- Edit Sold To. By pressing this item, you can modify who the plan is sold to by changing either the branches or the users.
- Edit Info. By pressing this item, you can edit all of the information associated with the record.
- Delete. By pressing this item, you will delete the transaction record from your platform. This action cannot be undone.
To view renewal information, press the renewals icon in the corresponding column in the record’s row. In the pop-up box, each date will have its own section. Press the arrow next to the date to view the renewal details. Press the Manage Sold Plans button to return to the list of all records.
To activate or deactivate a record, press the checkmark in the Status column of a record’s row.
Creating transactions for branches and groups of users
You can manually create a transaction of a plan sold to branches and groups of users. To do so, press the plus button in the top right corner of the Manage Transactions page, then click on New Transaction. In the slideout panel, begin by selecting which bundle and plan to include in the transaction using the corresponding dropdown menus.
Then, add the transaction name, price, code, start and end date, amount of sold plans, and whether you want to activate this record upon creation. You can also add notes related to the transaction. Then, press Next.
Now, fill in the bundle or plan additional fields you want to include in the transaction. Please note that any additional fields coming from the bundles or plans that you selected in the transaction will be pre-filled, but you can edit them as necessary. Refer to the corresponding section of this article to learn more about creating and managing additional fields. Then, press Next.
On the next page in the panel, select which groups or branches apply to the transaction. You can select the option to include or exclude descendants of branches, if desired. Then, press Next. Add catalogs that you want to include in the transaction by selecting the checkbox next to the catalog name. You can filter catalogs and search for them as necessary using the search bar. Press Create.
The created transaction will now appear in the list on the Manage Transaction page. Refer to the Managing Transactions section of this article to learn more.
Please note: Any manually created transactions will need to be manually renewed. They will not automatically renew.
Creating transactions of sold plans for single users
To manually create a transaction of a sold plan for a single user, press the plus button in the top right corner of the Manage Transactions page. Click on New Individual Transaction.
In the Information section of the slideout right panel, either type the username or the email address of the user associated with the transaction, and select one of the available users proposed by the autocomplete function.
Select which bundle and plan to include in the transaction using the corresponding dropdown menus. Add the transaction name, price, code, start and end date, amount of sold plans, and whether you want to activate this record upon creation. You can also add notes related to the transaction. Then, press Next.
Now, fill in the bundle or plan additional fields you want to include in the transaction. Please note that any additional fields coming from the bundles or plans that you selected in the transaction will be pre-filled, but you can edit them as necessary. Refer to the corresponding section of this article to learn more about creating and managing additional fields. Press Create to terminate the process.
The created transaction will now appear in the list on the Manage Transactions page. Refer to the Managing Transactions section of this article to learn more.
Please Note! Any manually created transactions will need to be manually renewed. They will not automatically renew.
Notifications
If you want your users and managers to immediately know when certain events have occurred, make sure that the Notifications app is active in your platform, and that you have correctly created and configured the notifications for subscription plans.