To top
Resources Resources

Categories: Licensing

30/90/365 Subscriptions

In our last issue of KEYnote magazine, we looked at a selection of options for subscription models with CodeMeter License Central and the Internet extensions. How subscriptions are implemented in practice depends on the requirements of each case and the available third-party systems.

Most cases would use one of the following approaches:

  • The subscription is managed by the established ERP, CRM, or e-commerce system. The necessary licenses are created to be valid to the next subscription payment (with a certain grace period), at which point they would be renewed automatically.
  • The subscription relies on checkpoint licenses in CodeMeter License Central. These special licenses are created with a freely definable validity period and will renew automatically unless the subscription is cancelled.
  • The subscription is activated with a ticket for a period of 365 days from the day of its activation. A new ticket is then needed to renew the subscription for another 365 days.

This final 365-day model is becoming increasingly popular and deserves another look at its strengths and advantages as well as its possible limitations. We will also see in detail how it is implemented.


Like checkpoint licenses, the 365-day model is available in the CodeMeter License Central Internet Extension (from Version 21.11). The feature can be accessed via the License Portal, WebDepot, or the Gateways.

We recommend CodeMeter License Central Version 4.01b or newer for this feature.

Why 365 days?

Despite its name, the subscription period is not set in stone at 365 days. As a matter of fact, you can configure it for any number of days.

Configuring the Item

To use this model, you first need to create an Item in CodeMeter License Central and choose the CmContainer types for your purpose. Usually, no license transfer scheme is chosen for subscription licenses of this type. You can then set the Product Code and other properties of the license to match your needs, remembering to use only one license entry or Product Code. Two settings
are particularly important:

  1. The action for the Product Code should be set to “Add“.
  2. You define the expiry date with the following settings:
    - Operation: “Set“
    - Value: This defines the length of the period in days
    - Allow value changes: “Upon activation“
    - Display name: The entry should start with “subscription“

The validity period is defined as the difference from the CodeMeter “base time“. Typical values would be:

30 days 2000Jan30,00:00:00
90 days 2000Mar30,00:00:00
365 days 2000Dec31,00:00:00

Multiple Items for one subscription

One common scenario is that subscriptions are offered with a choice of validity periods, such as 30 days, 90 days, or 365 days. If the customer already has a subscription running, the additional days should be added to it, irrespective of which item underlies the original subscription. If your company offers multiple products on a subscription basis, you also want to make sure that the additional days that a user has bought will only be added to the one product in question, and not the others. A system needs to be in place to ensure that different Items can be assigned to a single product.

This is where the display name given in the Item’s settings comes into play: All Items assigned to one product should have the same display name. This shows the License Portal, WebDepot, and Gateways whether the newly bought extension should be added to an existing subscription or a separate license be activated.

No backfill required

Gaps between subscriptions are a legitimate and indeed common occurrence. By contrast to maintenance contracts, which would typically have to go back in one uninterrupted period to the original purchase of the product, a subscription is more like a regular lease. The customer only pays for the agreed period of time and is not accountable for any periods between two subscriptions.

This is reflected in a simple mechanism: Old, expired subscriptions are deleted from the CmContainer once a new subscription is started for the same product. The new subscription would then start from the new activation date.

No turning back

One key transaction is the renewal of a subscription. This should usually happen before it expires, and the newly bought days are added to the remaining subscription period.

Technically, this is done by creating a new subscription and deleting its predecessor from the CmContainer. Once the old and new subscription periods have been added, there is no going back, as the two periods cannot be separated again. This is the standard procedure as modelled e.g. by Microsoft, Sony, and Adobe.

Moving subscriptions to a different CmContainer

Subscriptions can be moved into a different CmContainer by a simple merging feature. All the user needs is the ticket for the last activation, with which the subscription can be returned from the old container and then transferred into the new CmContainer.


It has become standard practice for subscriptions to include a defined set of product features, usually the entire feature set that the product in question has on board. The original idea of offering different feature packages that could be changed while a subscription was already running has proven too complex and has virtually disappeared from the market. The usual route chosen for the selling of add-on features is to place these into separate subscriptions running concurrently to the main one.

Another common limitation is the inability to transfer additional subscriptions for the same product into the same CmContainer.

A final consideration is that subscription models are defined for a specific number of users. Typically, subscriptions are sold for single-user licenses, which makes this limitation hardly ever relevant in practice.

The limitations of subscriptions models can be summed up in a simple definition: 30/90/365-day subscriptions are offered for licenses with fixed feature sets and can be extended by one of several renewal options.


One important aspect to consider when offering subscription licenses is how to integrate resellers as a key sales channel. Expecting your sales partners to only handle the first sale and then hand over the lucrative revenue stream from license renewals back to you is not a reasonable option.

Subscriptions allow you to create any number of tickets for any number of subscriptions and renewals. These tickets can be sold through all sales channels you employ. Whether a user already owns a subscription or needs a new one only comes into play upon the actual activation.

You can put in place individual customer or regional protections if you wish. The simplest way to do so is to create separate articles with custom display names. The rules are simple: Same display name, compatible licenses. Different display name, incompatible licenses.

License Portal

Users have a choice for accessing their licenses: WebDepot, a custom software activation wizard, or the License Portal. They can use the portal to log on and manage their licenses or subscriptions by self-service. One additional advantage of the portal is that users do not need to keep track of their tickets, because they only need their log-in details to get access to their licenses.

In a nutshell

30/90/365-day subscriptions are an excellent choice for selling subscription licenses with fixed feature sets. They can be sold via resellers, and they make it easy to combine subscriptions of different lengths, as two different subscription license tickets are only merged when the second ticket is activated.

The model is also a good option for delivering demo or trial versions, as it is possible to add a dynamic renewal option after a certain period of use.


KEYnote 42 – Edition Fall 2021