WHMCS
TREX OTT WHMCS Integration Guide
Getting from a paid invoice to a working customer line without touching the panel. Configure one product completely and test it end to end before you build the rest.
Order of work
- Install the module
Download it from the reseller panel dashboard, upload it to
modules/servers/in WHMCS. Full steps on the module page. - Add a server entry
System Settings → Products/Services → Servers, using your API credentials. Test the connection here, before you touch products.
- Create one product
Pick your best-selling package. Set the module fields so it maps to the right package and duration on the panel side.
- Turn auto-setup on for that product
Product → Module Settings → Automatically setup the product. “On payment” is what most resellers want.
- Run a full test order
Order it as a client, pay the invoice, confirm the line appears in the panel with the right package and expiry. Then suspend, unsuspend and terminate it from WHMCS, checking the panel after each.
- Only then clone the product
Duplicate the working product for your other packages and change the mapping. Building ten products before testing one is how you get ten broken products.
Mapping products correctly
Each WHMCS product maps to one package and one duration. A one-month and a twelve-month version of the same package are two WHMCS products, not one product with two billing cycles — unless you have confirmed otherwise for your configuration. Getting this wrong creates lines with the wrong expiry, which you will discover from customers rather than from WHMCS.
Set WHMCS billing cycles to match the line duration. A monthly billing cycle against a twelve-month line means you invoice a customer eleven more times for something they already have.
Reading a failure
| What WHMCS shows | Usual cause | Fix |
|---|---|---|
| Module Command Error on every action | Wrong API credentials, or wrong server host | Re-enter credentials from the panel; copy, do not retype |
| Action hangs, then times out | Outbound HTTPS blocked on the WHMCS host | Test a plain HTTPS request from that host to the panel |
| Invoice paid, no line created | Auto-setup off, or product not mapped to the module | Product → Module Settings, then the auto-setup option |
| Line created with the wrong duration | Product mapped to the wrong package/duration | Correct the mapping, fix the affected line by hand in the panel |
| Suspensions firing too early | WHMCS overdue automation, not the module | WHMCS → Automation Settings |
Before you go live
- Test all five actions, not just create.
- Check the WHMCS automation schedule — the module obeys it exactly.
- Confirm the customer-facing email contains the connection details and a setup link.
- Keep your API credentials out of chats, screenshots and repositories — see panel security.
Questions
Can I run multiple panels from one WHMCS?
Yes — one server entry per panel, and point each product at the right one.
Does it handle upgrades between packages?
The module implements create, suspend, unsuspend, terminate and renew. Treat anything else as a manual change in the panel.
My customers get credentials before I do. Is that normal?
Yes — provisioning fires on payment and WHMCS emails them straight away. Check your welcome email template says something useful about setup.

