Skip to content

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:

FieldDescription
WHMCS URLThe base URL of your WHMCS installation (e.g., https://billing.example.com)
API IdentifierYour WHMCS API credential identifier, created in WHMCS under Setup > Staff Management > API Credentials
API SecretThe 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:

ModuleDescription
ProductsSynchronizes WHMCS products/services with BadgerPanel server packages
OrdersSynchronizes orders and invoices between both systems
TicketsSynchronizes 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:

IssueSolution
Connection refusedVerify the WHMCS URL is correct and accessible from the panel server
Authentication failedCheck that the API identifier and secret are valid and have not been revoked in WHMCS
Timeout errorsThe WHMCS server may be overloaded - check WHMCS performance and try again
Product mismatchEnsure products in WHMCS have matching package configurations in BadgerPanel
Partial syncCheck 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.

BadgerPanel Documentation