License Management System¶
Overview¶
At dubas.pro, we developed a custom License Management System integrated into EspoCRM to streamline how we manage software licenses for our products and services. This tailored solution allows us to automatically issue, track, and notify customers about their software licenses, enhancing transparency and improving customer experience.
🎯 Purpose of the License Management System¶
- Centralize and automate license management for both publicly available and custom-developed extensions.
- Ensure timely and professional communication with customers regarding their license status.
- Offer a self-service customer dashboard with access to downloads, release notes, and updates.
- Maintain accurate records for billing, license types, and usage tracking.
🧩 Implementation Details¶
Our License Management System was built directly within EspoCRM using its extension development framework and custom entities. Key components include:
- Custom License Entity: Stores all relevant data about each software license.
- Automation Workflows: Handles post-purchase actions like email notifications and dashboard updates.
- Customer Portal Integration: Allows customers to log in and view/download licensed products.
- Scheduled Jobs: Monitor expiration dates and trigger renewal reminders.
📦 How the System Works¶
1. Purchase via devcrm.it or Email¶
- When a customer purchases a product through our website (devcrm.it) or directly by email:
- A license is automatically created in EspoCRM.
- The customer receives an email with license details and login credentials.
- The product becomes available in the customer dashboard, along with access to:
- Current and previous versions.
- Associated release notes.
2. Custom Development Deliveries¶
- When a custom extension is developed for a client:
- A dedicated license is created for that custom product.
- All future updates or revisions are uploaded and visible in the customer dashboard.
- Clients can download the latest version with custom changes at any time.
3. Public Extension Updates¶
- For all customers with active licenses for public extensions:
- We send email notifications about new releases.
- Customers can review release notes and download updates via the dashboard.
4. License Expiration Notices¶
- Automated email reminders are sent before a license expires.
- Customers are prompted to renew to maintain access to updates and support.
🧾 Information Tracked in Each License¶
Each license record contains the following critical fields:
Field | Description |
---|---|
Name of License | A descriptive label for easy identification. |
Product | The software or extension associated with the license. |
Start Date | When the license becomes active. |
End Date | When the license expires. |
Status | Indicates whether the license is Active, Expired, Pending, etc. |
Type of License | Differentiates between commercial, trial, or custom. |
Account | Links the license to the customer's organization or individual record. |
License Key | A unique identifier or activation code. |
Related Websites | Domains where the licensed product is authorized to be used. |
Billing Details | Includes invoice links, payment status, and method of purchase. |
💡 Practical Benefits¶
Our license management system has brought substantial improvements to our operations:
✅ For Our Team¶
- Faster onboarding of new customers through automation.
- Improved support workflow with clear license visibility.
- Reduced manual work in license issuance and expiration tracking.
- Enhanced ability to deliver updates for custom projects in a structured way.
✅ For Our Customers¶
- Access to a self-service dashboard to manage purchases and updates.
- Proactive communication regarding new releases and renewals.
- Full transparency on license terms, duration, and usage scope.
🔍 Real-World Examples¶
Example 1: Automatic License Creation¶
A customer purchases our "CRM Exporter" extension via devcrm.it. Within seconds, the system: - Creates the license in EspoCRM. - Sends a confirmation email with download and login info. - Displays the extension in their dashboard, with version history and changelogs.
Example 2: Custom Extension Delivery¶
A client orders a custom module for sales automation. We: - Generate a license tagged as "Custom". - Upload new versions as the project evolves. - Provide access only to the client, who can download any version from their dashboard.
🚀 Summary¶
The custom License Management System we built in EspoCRM is a cornerstone of our software delivery and customer success strategy. By automating critical tasks and offering transparent access to updates, we've enhanced both internal efficiency and customer satisfaction.
We believe that effective license management isn't just a backend feature—it's a value-added service that builds trust, reduces friction, and improves overall user experience.