Everything DDLS Can Do
A complete breakdown of features included in the free core plugin.
License Management
Create, track, and validate software licenses with complete lifecycle control.
License Creation
- Automatic license generation when WooCommerce orders complete
- Manual license creation for custom scenarios
- Unique license key generation with configurable format
- Link licenses to products and customers
License Properties
- Status tracking: Active, expired, suspended, cancelled, revoked
- Activation limits: Set maximum sites/devices per license (1, 5, 10, or unlimited)
- Expiration dates: Time-based licenses or lifetime (never expire)
- License types: Categorize licenses (e.g., personal, professional, business)
- Grace period: Configurable days after expiration before access is blocked
License Operations
- View and edit license details
- Search licenses by key, customer, or product
- Change license status with reason logging
- Track license renewal dates
- Link licenses to subscriptions
- Support for product variations (different license terms per variation)
Activation Tracking
Monitor where licenses are installed and enforce activation limits.
Site/Device Tracking
- Track site URL for each activation
- Record site name, IP address, and user agent
- Unique activation token per installation
- Last check-in date tracking
Activation Management
- View all activations per license
- Deactivate sites remotely (admin or customer)
- Activation limit enforcement (block new activations when limit reached)
- Activation history preserved as audit records
Subscription Management
Built-in subscription system for recurring revenue. No additional plugins required.
Subscription Features
- Billing periods: Daily, weekly, monthly, or yearly
- Billing intervals: Every period, every 2 periods, etc.
- Payment token storage: Securely store payment method for renewals
- Multiple payment gateways: Works with WooCommerce payment gateways
Subscription Statuses
- Pending (awaiting first payment)
- Active (payments processing normally)
- Trial (in trial period)
- Past due (failed payment, in retry process)
- Cancelled
- Expired
Payment Handling
- Track next payment date
- Record last payment date
- Failed payment counter
- Dunning stage tracking (retry attempts)
- Next retry date scheduling
Version and File Management
Organize product versions and deliver files securely.
Version Management
- Create and manage multiple versions per product
- Version numbering (semantic versioning support)
- Release date tracking
- Mark versions as stable or beta
- Version status (active, deprecated, archived)
- Download count per version
File Management
- Multiple files per version
- Platform-specific files (Windows, Mac, Linux, All)
- File metadata (name, size, type)
- File hash verification (SHA256)
- Upload date tracking
- Support for various file types (zip, exe, dmg, deb, etc.)
Secure Downloads
Protected file delivery with access control and tracking.
Download Security
- License validation before download
- Files served through WordPress (no direct access)
- Download logging for every file access
Download Tracking
- Log every download event
- Track customer, license, file, and version
- Record IP address and user agent
- Download date and time
- Complete download history per customer
Customer Portal
Self-service portal where customers manage their licenses and downloads.
Portal Pages (6 Total)
- Dashboard – Overview of licenses, subscriptions, and recent activity
- Licenses – View all licenses, copy license keys, see activation status
- Downloads – Access product files, select versions, download files
- Subscriptions – View subscription status, billing dates, payment info
- Support Contracts – View support/maintenance contract status
- Account – Update profile, change password, manage settings
Portal Features
- Secure login with email/password
- Password reset functionality
- Copy license key with one click
- View download history
- Configurable portal URL slug
WooCommerce Integration
Seamless integration with WooCommerce for selling licensed products.
Product Integration
- Licensed product type for simple products
- Variable licensed product type for products with variations
- Checkbox-based UI for enabling licensing on products
- Per-variation licensing settings (different limits, expiration per variation)
- Progressive disclosure UI matching WooCommerce patterns
Order Processing
- Automatic license generation on order completion
- License linked to customer and order
- Support for mixed orders (licensed and non-licensed items)
- Subscription creation for recurring products
Customer Sync
- WooCommerce customers synced to DDLS customers
- Customer lookup by email
- Order history linked to customer record
REST API
Complete API for integrating with your software products.
License Endpoints
- GET /licenses – List licenses
- GET /licenses/{id} – Get single license
- POST /licenses – Create license
- PUT /licenses/{id} – Update license
- DELETE /licenses/{id} – Delete license
- POST /licenses/validate – Validate license key (public)
- GET /licenses/{id}/activations – Get license activations
- POST /licenses/{id}/activate – Activate license (public)
- DELETE /licenses/{id}/activations/{id} – Deactivate (public)
Authentication
- API key authentication
- WordPress cookie authentication
- WordPress application passwords
API Features
- Rate limiting support
- SSL requirement (configurable)
- Detailed error responses
- Request logging
Admin Interface
Complete WordPress admin interface for managing your licensing business.
Admin Pages
- Dashboard – Overview with key metrics and recent activity
- Licenses – List, search, create, edit licenses
- Customers – View customers, their licenses and orders
- Products – Manage licensed products
- Versions – Manage product versions and files
- Subscriptions – View and manage subscriptions
- Activations – Monitor site activations
- Downloads – View download activity
- Reports – Sales, licenses, downloads, revenue, variations
- Background Jobs – Monitor automated job status
- Settings – Configure plugin options
Admin Features
- List tables with search and filtering
- Bulk actions support
- Screen options for customization
- Native WordPress admin styling
Background Jobs
Automated processing for licenses, subscriptions, and maintenance.
Automated Jobs (8 Total)
- License Expiration Check – Expire licenses past their expiration date
- Subscription Renewal – Process subscription renewals
- Email Queue Processing – Send queued emails
- Database Cleanup – Remove old logs and temporary data
- Stale Activations Check – Identify inactive activations
- Failed Payment Retry – Retry failed subscription payments
- Support Contract Expiration – Expire ended support contracts
- Support Contract Renewal – Process support contract renewals
Job Features
- Powered by Action Scheduler (reliable background processing)
- Configurable batch sizes
- Self-healing (auto-reschedule missing jobs)
- Job status monitoring in admin
- Manual trigger option for testing
Email Notifications
Transactional emails for licenses, subscriptions, and account events.
Email Types
Customer Emails:
- License created
- License activated
- License expiring (30, 14, 7 days)
- License expired
- License renewed
- License suspended
- Subscription created
- Subscription renewed
- Subscription failed
- Payment retry notice
- Subscription cancelled
- Password reset
- New version available
Admin Emails:
- New order notification
- New license created
- License activated
- License expired
- Failed renewal
- Suspicious activation
- System errors
Email Features
- Email queue for reliable delivery
- Email logging (success/failure tracking)
- Configurable notification settings
- Retry logic for failed sends
- Configurable retention periods
Reports
Business intelligence for your digital product sales.
Report Types
- Sales – Order and revenue tracking
- Licenses – License creation and status
- Downloads – File download activity
- Revenue – Revenue trends and totals
- Variations – Performance by product variation
Report Features
- Date range filtering
- 30, 60, 90, 180, 365 day views
- Chart visualizations (Chart.js)
- Tabular data display
Logging and Audit
Track activity for debugging and compliance.
Audit Log
- Track who did what and when
- Object type and ID
- Action performed (created, updated, deleted)
- Old and new values
- User ID and timestamp
Email Log
- Every email sent or attempted
- Recipient, subject, template
- Status (sent, failed, queued)
- Error messages for failures
- Configurable retention
Download Log
- Every file download
- Customer, license, file, version
- IP address and user agent
- Timestamp
Settings
Configure DDLS to match your business needs.
Settings Tabs
- General – Company name, support email, debug mode
- Licenses – Default activation limits, expiration settings
- Email – From name/email, notification toggles
- API – Enable/disable API, rate limiting
- Portal – Portal URL slug, enable/disable portal
- System – Uninstall behavior, data retention
Ready to Get Started?
DDLS is free. Download it and start managing licenses today.
