---
title: "WHMCS Module FAQ"
description: "Short answers to the questions the support team receives most about the WHMCS module: product setup, Sub-Reseller products, credits, keys, bulk tools, updates, Cloudflare and what the module does and does not do."
---

Each answer is deliberately short and links to the page with the full detail. If your question is not here, the [Troubleshooting](/docs/?page=whmcs-module-troubleshooting) page covers error messages, and the support team can be reached from your client area.

## Setting up products

**When I create a product I only see line packages. Where is the option for a credits or sub-reseller product?**
It is inside the same product. Open the product's **Module Settings** tab and change **Account Type** from **Line (default)** to **Sub-Reseller**. The **Credits** and **Sub-Reseller Member Group** fields are hidden until you switch that dropdown, and they appear right below it once you do. Package and Bouquets are ignored for that account type. Step by step in the [Quickstart](/docs/?page=whmcs-module-quickstart#5-create-a-sub-reseller-product-optional).

**Do I need an admin key or is a reseller key enough?**
For Line products a reseller key is enough. Sub-Reseller products, connection counts that differ from the package, product upgrades and downgrades, and the expiry buttons all need an admin key. The complete matrix is in [Reseller vs Admin Keys](/docs/?page=whmcs-module-key-types).

**What do I put in the API URL field?**
Your panel domain with the scheme and nothing else: `https://panel.example.com`. No trailing slash, no `/panel-api/v1` and no panel folder. With the folder in the URL most actions still work, but the line status check on the service page answers 404.

**Where do I find the member group id for a Sub-Reseller product?**
On your panel, open the **Group Permissions** page. The id is the first column of the list. The group must exist on the panel; with a wrong id the order fails with `The panel rejected the request values.`

**Can one product have several connection counts?**
Yes. Attach a configurable option named `extra_connections` (added on top of the package count) or `max_connections` (replaces it) and let the customer choose at checkout. This needs an admin key. See [Configure](/docs/?page=whmcs-module-configure).

**Which billing cycle should the product have?**
The one that matches the package duration: a 1 month package on Monthly, a 3 months package on Quarterly, a 12 months package on Annually. Mismatched cycles make the panel expiry and the WHMCS due date drift at every renewal.

## Credits and sub-resellers

**Does the module handle reseller credit refills?**
Yes, in two ways. Automatically: the **Credits** value of a Sub-Reseller product is added to the account on creation and again on every renewal of the service. Manually: in **Addons → Xtream AI Panel → Sub-Resellers**, each account has a field where you type a positive or negative amount, an optional reason, and press **Apply**. Both need an admin key. Details in [Provisioning Modes](/docs/?page=whmcs-module-provisioning-modes#sub-reseller-mode).

**Can a reseller key create sub-resellers?**
No. The panel only issues the `resellers:*` scopes to admin keys, so a reseller cannot create other resellers through WHMCS. This is a rule of the panel, not of the module.

**What happens to a sub-reseller when the WHMCS service is suspended or terminated?**
Today nothing on the panel: the module records the state in WHMCS and leaves the account as it is. To disable a sub-reseller, do it from your panel. The reasons are explained in [Provisioning Modes](/docs/?page=whmcs-module-provisioning-modes#suspend-unsuspend-and-terminate).

## Lines and daily operation

**Does suspending a service in WHMCS disable the line?**
By default yes, and unsuspending enables it again. If you prefer suspended services to keep streaming until the line's own expiry date, set the product's **Suspend action** to `Leave the line untouched, let it expire`.

**Does terminating a service delete the line?**
Yes. Terminate removes the line from the panel. If you want to keep the line, suspend instead of terminating.

**A renewal reset the extra connections of a line. Why?**
Update the module. The panel's renewal applies the package's connection count, and from module 1.5.3 the renewal re-applies the product's connection count right after, on admin keys. Older module versions do not.

**Can a customer upgrade or downgrade between two of my products?**
Yes, with an admin key and a panel updated on 2026-09-14 or later. The module moves the line to the new package in one call, keeping its expiry date. On a reseller key the panel refuses the package change. See the ChangePackage section of [Provisioning Modes](/docs/?page=whmcs-module-provisioning-modes#changepackage-whmcs-product-change).

**Can I change a line's password from WHMCS?**
Yes. The WHMCS password change is sent to the panel; if the customer typed a password the module keeps it, otherwise it generates one with your credential settings.

**What does my customer see in the client area?**
The username, the password, the expiry date, the connection count, and the M3U and EPG URLs you configured on the panel entry, with the credentials already filled in. Nothing else: no panel links, no reseller data.

## Existing lines and bulk tools

**I already have lines on the panel. How do I attach them to WHMCS services?**
Use the **Bulk tools** tab of the addon in this order: **Index** reads every line of the panel, **Link** matches them to your WHMCS services (first by the `WHMCS:<service id>` tag in the line notes, then by username), **Sync** re-applies the product configuration to every linked service, and **Align panel expiry to WHMCS** sets every line's expiry from its due date. The page is [Bulk Tools](/docs/?page=whmcs-module-bulk-tools).

**Do I need to run Index before Align panel expiry to WHMCS?**
Only if some services are not linked yet. Align runs over the services that already show a panel line on their service page. Services created by the module are linked from the start; lines that existed before the module need Index and Link once. Unlinked services are simply left out of the run, so running Align without indexing is safe, it just covers fewer services.

**Does Sync change the expiry date?**
No. Sync pushes bouquets, notes and connection count only. The expiry is handled by the two expiry buttons on the service page and by the Align card in Bulk tools.

## Updates, keys and connectivity

**How do I update the module?**
From the addon dashboard: when a new version exists a card shows it with an **Update now** button. The module downloads the release, verifies it, swaps the two folders and rolls back on any failure. Manual installation is only needed the first time. See [Install](/docs/?page=whmcs-module-install#upgrading-from-an-earlier-release).

**Test Connection fails or every call returns 403 since I moved the panel domain to Cloudflare.**
Cloudflare's proxy (orange cloud) answers the module's requests with a browser challenge that a server cannot pass. Either set the panel's DNS record to DNS only (grey cloud), or add a WAF rule in Cloudflare that skips the challenge for paths starting with `/panel-api/`. Nothing needs to change in the module.

**I revoked a key by mistake. What now?**
Create a new key on the panel with the same scopes, edit the panel entry in the addon, paste the new token and press Test Connection. Existing services keep working; only the token changed.

**Where are the module's logs?**
In **Addons → Xtream AI Panel → Module Logs**, a view of WHMCS's own module log filtered to this module. Every panel call is recorded; tokens never appear there, so the log is safe to share with support.

**Is the module free?**
Yes. It is open source under the MIT license, published at [github.com/Xtream-AI/whmcs-xtreamai](https://github.com/Xtream-AI/whmcs-xtreamai). Only the panel license is paid.

**Which WHMCS and panel versions do I need?**
WHMCS 8.0 or newer, PHP 7.2 or newer, and an Xtream AI Panel on 2.1.2 or newer with the Panel API enabled. Product upgrades and downgrades additionally need a panel updated on 2026-09-14 or later.
