License Management¶
Applies to: All subscriptions
Purpose¶
Keep a clear record of what the customer is entitled to, keep the configured system inside it, and make sure a licensing question never becomes a go-live surprise.
Audience¶
The customer's system administrator and commercial owner. Implementation consultants during onboarding.
Prerequisites¶
- The Complifly agreement, with its entitlements
- Administrator access to the permissions matrix and user list
Reference¶
Verify: Complifly's commercial packaging — which modules are separately licensed, how registrations and users are counted, and whether non-production environments are included — is not derivable from the platform. Confirm against your contract. Recorded as assumption D1 in the Assumptions Register.
What is typically counted¶
| Dimension | What it means | Where it shows in the system |
|---|---|---|
| Modules | Which capabilities are licensed | Feature flags per registration |
| Registrations | How many GSTINs may be configured | The registration list |
| Users | How many named accounts | The user list |
| Environments | Whether non-production is included | Your deployment inventory |
| Provider call volume | Contracted with the GSP, not with Complifly | Provider consumption reporting |
The last row is worth separating explicitly, because it is a different supplier. Complifly licensing and GSP call charges are separate commitments, and a customer surprised by one is usually surprised by the other.
Keep an entitlement record¶
Maintain a simple record, outside the application, that states what was bought:
| Field | Example |
|---|---|
| Modules licensed | e-Invoice, e-Way Bill |
| Registrations entitled | 12 |
| Users entitled | 40 |
| Environments | Production, plus one non-production |
| Renewal date | With an owner |
| Provider agreement | Separate; its own volumes and renewal |
Without this, the only record of entitlement is a contract nobody reads, and drift goes unnoticed until renewal.
Reconcile configuration against entitlement¶
Do this monthly, as part of the access review:
| Check | Method |
|---|---|
| Modules enabled match modules licensed | Compare the permissions matrix against the entitlement record |
| Registration count within entitlement | Count configured registrations |
| Active user count within entitlement | Count enabled accounts — disabled accounts should not count, but confirm how yours are counted |
| Environments match | Inventory your deployments |
| Provider volume tracking to plan | Compare consumption against the contracted allowance |
The user count is where drift accumulates fastest, because accounts are created readily and disabled reluctantly. The monthly access review is where both are corrected.
When a module appears that was not bought¶
Enabling a flag is a technical act; it is not a purchase. If a module is enabled that the customer is not entitled to, that is a configuration error to correct, not a windfall — and correcting it after users have begun relying on it is considerably harder than not enabling it.
Verify entitlement before enabling a module, not after a user asks for it.
Renewals¶
| Item | Lead time |
|---|---|
| Complifly licence renewal | Per the agreement |
| GSP agreement renewal | Involves a third party; start early |
| Provider credentials | Expire independently of the agreement |
Provider credentials are the trap. They can expire while the commercial agreement is perfectly current, and their expiry stops all government operations without warning. Track the credential expiry separately from the contract date.
Validation¶
| Check | Pass condition |
|---|---|
| Entitlement record exists | Written down, outside the application |
| Configuration matches entitlement | Modules, registrations, users and environments all within |
| Provider volume tracking to plan | Reviewed monthly |
| Renewal dates known and owned | Both Complifly and the provider |
| Credential expiry tracked separately | Not conflated with the contract date |
| Reconciliation is scheduled | Part of the monthly review |
Troubleshooting¶
| Symptom | Cause | Action |
|---|---|---|
| A module a user expected is absent | Not licensed, or not enabled for that registration | Check entitlement first, then the flag |
| User count exceeds entitlement | Accounts created and never disabled | Disable departed users. That is also the security position |
| A registration cannot be added | Entitlement reached | Commercial conversation, not a technical one |
| Provider bill above expectation | Volume above plan, or a polling read | Review the calling pattern first |
| Government operations stopped despite a current contract | Provider credentials expired, not the agreement | Track credential expiry separately |
| Nobody knows what was bought | No entitlement record | Create one from the contract now |
| A module was enabled that was not purchased | Configuration error | Correct it before users depend on it |
Related Articles¶
- Modules and Licensing — what each module covers
- Feature Flags — how modules are enabled
- Monthly Checks — where reconciliation sits
- Commercial and Statutory Prerequisites