WHMCS Integration
License Required
WHMCS integration requires the WHMCS Integration license add-on. Without this license, the WHMCS integration will not be available.
BadgerPanel integrates with WHMCS to synchronize products, orders, invoices, and support tickets between the two systems.
Connecting WHMCS
Navigate to Admin > Billing > WHMCS and enter your WHMCS connection details:
| Field | Description |
|---|---|
| WHMCS URL | The base URL of your WHMCS installation (e.g., https://billing.example.com) |
| API Identifier | Your WHMCS API credential identifier, created in WHMCS under Setup > Staff Management > API Credentials |
| API Secret | The corresponding API secret for the identifier |
Click Save after entering your credentials.
Testing the Connection
Click Test Connection to verify that BadgerPanel can reach your WHMCS installation and authenticate with the provided API credentials. A success or error message will appear immediately.
Sync Modules
The WHMCS integration includes three sync modules that can be enabled independently:
| Module | Description |
|---|---|
| Products | Synchronizes WHMCS products/services with BadgerPanel server packages |
| Orders | Synchronizes orders and invoices between both systems |
| Tickets | Synchronizes support tickets bidirectionally |
Enable or disable each module from the WHMCS settings page.
Product Sync
When product sync is enabled, BadgerPanel pulls product definitions from WHMCS and maps them to server packages in the panel. This ensures that when a customer purchases a hosting product in WHMCS, BadgerPanel knows which server resources to allocate. Changes to product configuration in WHMCS are reflected in BadgerPanel on the next sync cycle.
Order and Invoice Sync
Order sync keeps billing data consistent between WHMCS and BadgerPanel:
- New orders placed in WHMCS trigger server provisioning in BadgerPanel
- Invoice payment status is synchronized so BadgerPanel can suspend or unsuspend servers based on payment
- Overdue invoices in WHMCS can automatically trigger server suspension in BadgerPanel
- Terminated services in WHMCS remove the corresponding server in BadgerPanel
Ticket Sync
Ticket sync provides bidirectional synchronization between WHMCS and BadgerPanel support systems:
- Tickets created in WHMCS appear in BadgerPanel's support system
- Tickets created in BadgerPanel appear in WHMCS
- Replies added in either system are synced to the other
- Status changes (open, closed, answered) are reflected in both systems
This allows support staff to work from either interface while maintaining a single conversation thread.
Sync Intervals and Manual Trigger
Each sync module runs on a configurable interval. By default, synchronization occurs every 5 minutes. To trigger an immediate sync, click the Sync Now button next to any module on the WHMCS settings page.
Sync Logs and Statistics
The WHMCS settings page displays sync statistics including:
- Last sync time for each module
- Records synced in the most recent cycle
- Total records synchronized since the integration was enabled
Click View Logs to see a detailed log of all sync operations, including timestamps, record counts, and any errors encountered during synchronization.
Troubleshooting Sync Failures
Common causes of sync failures and their solutions:
| Issue | Solution |
|---|---|
| Connection refused | Verify the WHMCS URL is correct and accessible from the panel server |
| Authentication failed | Check that the API identifier and secret are valid and have not been revoked in WHMCS |
| Timeout errors | The WHMCS server may be overloaded - check WHMCS performance and try again |
| Product mismatch | Ensure products in WHMCS have matching package configurations in BadgerPanel |
| Partial sync | Check the sync logs for specific records that failed and review their data for inconsistencies |
If sync errors persist, review the full sync log for detailed error messages and verify that the WHMCS API credentials have sufficient permissions for all enabled modules.
