# How to implement software subscription

You can use QLM Professional to implement a software subscription model.

When a customer purchases a subscription for your product, say for 1 year, you issue an activation key that has a 1-year expiry date.

When the customer activates the license, they will receive a computer bound key that has the same expiry date.

At the day of the expiry of the license, you can extend the license by another period in several ways:

1\. From the QLM Console / Manage Keys / Extend Expiry.

2\. From the QLM Portal

3\. From the API, by calling the RenewSubscription method.

4\. Through our [eCommerce integration.](/docs/3rd-party-integration/integrated-ecommerce-providers.md)

Once the QLM server has the new subscription expiry date, the customer must contact the server to activate this new expiry date. This can be done in several ways:

1\. By enabling [server-side validation](/docs/fundamental-concepts/server-side-license-validation.md), your application connects to the server and reactivates the license automatically without any user input.&#x20;

2\. The customer simply re-activates his license using the same registration form that was used to activate the license the first time (this could be the QLM License Wizard, the QLM .NET controls or the license registration form that you created).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.soraco.co/docs/fundamental-concepts/how-to-implement-software-subscription.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
