How to license product using multiple licensing models


We distribute our product on a subscription basis and want to upsell some premium features. How can we achieve this with NetLicensing?


Ability to use multiple licensing models in one product configuration is one of the unique NetLicensing features.

Follow this guide to configure the product using Subscription and Multi-Feature licensing models.

  • Add a new product or use demo data view to speed-up product creation.
  • Add the first module and choose Subscription model. Add some packages (e.g. 1-week default and 1-month).
  • Add the second module and choose Multi-Feature model. Add some feature packages (e.g. “Feature BI” default and “Backup”).

Your final product configuration should be similar to this one.

The validation response will return the customer status per module:

$ curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/xml' --header 'Authorization: Basic ZGVtbzpkZW1v' -d 'productNumber=PM8DA463B-DEMO' '' | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:netlicensing xmlns="" xmlns:ns2="" ttl="2020-04-02T12:23:50.738Z">
    <ns2:item type="ProductModuleValidation">
      <ns2:property name="productModuleNumber">MMX6HXDSZ</ns2:property>
      <ns2:property name="productModuleName">Upsell Features</ns2:property>
      <ns2:property name="licensingModel">MultiFeature</ns2:property>
      <ns2:list name="FEATURE-BI">
        <ns2:property name="valid">true</ns2:property>
        <ns2:property name="featureName">BI &amp; Reporting</ns2:property>
      <ns2:list name="FEATURE-BCK">
        <ns2:property name="valid">false</ns2:property>
        <ns2:property name="featureName">Backup</ns2:property>
    <ns2:item type="ProductModuleValidation">
      <ns2:property name="productModuleNumber">MTYWTJ3BL-DEMO</ns2:property>
      <ns2:property name="valid">true</ns2:property>
      <ns2:property name="expires">2020-04-12T11:23:50.738Z</ns2:property>
      <ns2:property name="productModuleName">Subscription</ns2:property>
      <ns2:property name="licensingModel">Subscription</ns2:property>