ImpulsePlesk
Plans & WHMCS products
Plan-based billing with per-plan feature flags. Define hosting plans in the addon (or import them from a Plesk service plan), map each to a WHMCS product, and toggle exactly which features it includes.
1. Define or import a hosting plan
Section titled “1. Define or import a hosting plan”Open ImpulsePlesk → Plans & Products. You have two ways to create a plan:
- Define one — give it a slug, a name, the exact Plesk service plan name, and limits (disk, bandwidth, domains, subdomains, aliases, mailboxes, databases), and tick the per-feature checkboxes it includes.
- Import from a Plesk server — list the service plans on one of your registered servers and import one (name and limits), or type a plan’s exact name to import it directly.
Each hosting plan maps to a Plesk service plan name, which is what the module applies at provisioning and plan-change time; that Plesk service plan sets the quotas on the server. The module keeps its own copy of the limits for the client area — import the plan again (Update) to pick up limit changes made in Plesk. The limits live in the module, not in WHMCS configurable options.
2. Set the feature flags
Section titled “2. Set the feature flags”Each plan carries a set of per-feature flags that control which client-area tabs and actions a customer on that plan can use: email, databases, SSL/TLS, DNS editor, FTP accounts, PHP settings, scheduled tasks, log rotation, protected directories, applications, WordPress, Node.js, Git, backups, and restore.
3. Understand the license tiers
Section titled “3. Understand the license tiers”Which features you can offer at all is set by your ImpulseCore license tier:
| Tier | Key prefix | What it enables |
|---|---|---|
| Licensed | IPLSK- |
The full feature set — every plan feature flag can be offered. No server, plan or service limits. |
| Developer | IPLSKDEV- |
Same features, capped for testing: 3 hosting services, 2 servers, 3 plans. Developer keys aren’t sold with the module. |
| No key (Standard) | — | Orders still provision, but every feature-gated client-area tab stays off. |
Set the key in ImpulseCore → Modules & Licensing → Licenses; ImpulsePlesk reads the cached tier from Core. See Installation & activation for entering the key.
4. Wire a WHMCS product
Section titled “4. Wire a WHMCS product”Create a WHMCS product and point it at the module:
- Go to System Settings → Products/Services and create a product (or edit one).
- On the Module Settings tab, set Module: ImpulsePlesk.
- Pick the Hosting Plan from the dropdown — that single field carries the plan’s limits and feature flags.
- Leave the product with no required server group. The module resolves the target Plesk server itself, so a WHMCS server group is not needed.
5. Prove one provision before selling
Section titled “5. Prove one provision before selling”Place a test order on the product and confirm the end-to-end flow:
- When WHMCS runs the module’s Create command, it creates a Plesk customer and subscription, persists the service row, stores the FTP/system secret in Core, and attaches the service to a Core Project. If it is interrupted, the
provisioncron (every 2 min) retries it. - Open the service in the client area — the Managed Web Hosting dashboard should render scoped to the customer’s own domain and resources only.
- Walk suspend → unsuspend → terminate (a non-destructive fence) → day-7 purge to confirm the lifecycle.