Using ERPNext for Software Company

Hello friends!

I am going to setup a company to sell software license, and I will use ERPNext to manage license keys.

Each user can only use one machine for one subscription. Users can install the software on other machines, but they have to buy a new license for each machine, otherwise they can use the software on the new machines for only 14 days before it is locked. There is no problem here.

I am going to solve the above business flow like this:

  • Automatically generate a new Serial No, using client’s MAC Address, when the software is installed on a new machine → then automatically generate a new Installation Note using the recent Serial No.
  • When free trial time ends, the user wants to buy subscription for the first time → automatically generate a new Sales Order → Sales Invoice → Subscription

Everything will work fine if each person uses only one machine.

If Frank, for example, one day sells his laptop to someone, or his friend borrows the laptop for a while, and that laptop has the software installed and activated with Frank’ license key (which is connected to the old owner) before, and now the new owner of the laptop wants to buy a license.

Has anyone encountered this problem before? Please share your advice.

Thanks in advance!

1 Like

Your key should be generated on the basis of unique information. As you’ve discovered, MAC aren’t necessarily unique. The solution here is to figure out what your “unit” of licensing is, and then to find identifiers to map that license one-to-one.

This isn’t really an ERPNext question per se, but once you find a suitable algorithm for generating keys it should be relatively simple to integrate it with an ERP workflow.