Skip to content
Impulse SoftwareDOCS
Get modules

ImpulseVPS

Server plans & WHMCS products

A server plan is the reusable infrastructure policy: one provider account plus the sizes, locations, operating systems, and client tools customers can choose. A WHMCS product connects to a server plan and keeps its own pricing.

ImpulseVPS → Plans & Products → Setup Guide walks one provider account from credentials to a published product and marks the next step that still needs doing:

  1. Connect a provider account
  2. Map selling locations
  3. Refresh operating systems
  4. Add server sizes
  5. Create a server plan
  6. Connect and publish a WHMCS product
  7. Price your server sizes

Steps 1 and 2 are covered in Provider accounts & regions. Skipping one of the first six steps never produces a wrong server, but it doesn’t stop the sale either: WHMCS takes the order, and ImpulseVPS refuses it only when WHMCS runs the module’s Create — after checkout and, with the usual automatic-setup setting, after payment. The service stays Pending and WHMCS shows you the reason; the customer isn’t told why. Skipping the seventh refuses nothing: an unpriced size sells at the product’s own price, or free (see Price every choice before you sell below). The Setup Guide and Diagnostics → Health Checks name any product WHMCS can still sell that isn’t connected to an active server plan or whose provider account isn’t set up — a provider account that isn’t set up is caught only when the server is created, after the service is already Active — so finish setup before a product goes on sale.

On the Images tab, click Refresh catalog to pull operating systems from your provider accounts (they also refresh automatically every day). Review the suggested matches and save a mapping for every operating system you want to offer.

Where the provider has an application catalog (Vultr today), open Applications, click Refresh catalog, make available the applications customers may install, and group them in a Collection. A server plan can offer one Collection. Applications belong to the exact provider account they were synced from — the same application name on two providers is never treated as the same thing.

Under Plans & Products → Server Sizes, click Import provider sizes for an account, or add a size by hand. A size is your own named shape — for example “2 vCPU / 4 GB” — that carries the provider’s plan code, so one size can be reused across server plans.

A size can only be delivered in a location where its provider sells that plan code. The order form offers sizes and locations as separate choices, so it can’t stop a customer ordering a size in a location that doesn’t sell it. That is caught when the server is created, after the order is accepted and usually paid: nothing is created at the provider, the customer is told setup hit a problem (never why), and you get a critical alert. A size whose plan code the provider has retired fails the same way until you update the size. Allow only locations that sell every size on the server plan.

Under Plans & Products → Server Plans, create a plan and pick the provider account it uses. The editor then shows only the sizes, locations, operating systems, and applications that account can deliver. Set:

  • Choices — the allowed sizes, locations, and operating systems (and an application Collection, if any), plus the defaults.
  • Client tools — Reinstallation, Console, Firewall, Snapshots, and Reverse DNS for the client area.
  • Paid options — Backups, Additional Storage, and IPv6 become choices customers buy on the order form. On Linode, Backups is also what makes snapshots available, and every Linode server gets IPv6 anyway, so IPv6 is never offered as a paid choice there.
  • Provider visibility — hidden (the default) keeps customer copy provider-neutral; branded shows the provider’s name.
  1. In WHMCS, go to System Settings → Products/Services and create a product (or edit one).
  2. On the Module Settings tab, choose Cloud VPS as the module. No server or server group is needed — ImpulseVPS doesn’t use WHMCS server records.
  3. In ImpulseVPS → Plans & Products → WHMCS Products, select the product and an active server plan, and save.
  4. Click Publish choices. ImpulseVPS writes the server plan’s choices — Plan, Region, Deployment (operating system or application), IPv6, Backups, and Additional Storage — to WHMCS as configurable options. A choice the provider can’t deliver is left out.
  5. Set the price of each choice in WHMCS under Configurable Options.

Publish again whenever you change a server plan, size, location, or operating system. Choices that drop out of a server plan are hidden on the order form, never deleted, so existing services keep their settings.

Additional Storage is sold in 10 GB blocks. It lets the customer create block-storage volumes from the client area up to the amount they bought; it isn’t extra root disk, and nothing is attached when the server is created. Vultr locations that offer only the standard storage tier (Dallas, Miami, and San Jose among them) create volumes of 40 GB or more, so a customer there needs at least 40 GB of Additional Storage to add a volume.

To let customers add an SSH key or a first-boot script while ordering, add these custom fields to the WHMCS product. The names must match exactly:

Field name Type What it does
SSH Public Key Text area An OpenSSH public key, such as ssh-ed25519 AAAA…. It is saved to the customer’s keys and installed on the server. Private keys are always refused.
Startup Script Text area A #cloud-config document or shell script that runs at first boot. It is checked when the order is placed and can be reused when the server is rebuilt.

Access is key-first, and ImpulseVPS never generates a password:

  • With an SSH key on the order or saved in the customer’s account, the key is installed and password login is turned off. No credential is stored at all.
  • Without a key, the provider’s own one-time root password is captured where the provider issues one; otherwise ImpulseVPS creates an Ed25519 key pair for the customer.

Either way, the credential is revealed exactly once on the client area’s Access tab and then deleted. It is never emailed, and no copy is kept afterwards — for a generated key pair, only the public key and its fingerprint remain.

  • New orders are accepted immediately and created at the provider in the background, so the customer sees a progress view until the server is ready.
  • Upgrades made in WHMCS resize the server at the provider. A server never moves to a size with a smaller disk, but WHMCS still lets a customer choose one under Upgrade/Downgrade Options. When WHMCS applies that change, ImpulseVPS refuses the resize: WHMCS records the module’s error, which advises a snapshot and a rebuild onto the smaller size, and the refusal is listed under Diagnostics → Activity, but no alert is raised. The server keeps its current size while the service in WHMCS now names the smaller one, so set the service back to the server’s size, or rebuild the customer onto the smaller size.
  • Suspension powers the server off at the provider and keeps it intact. Unsuspending powers it back on.
  • Termination powers the server off too; nothing is deleted at that moment.
  • Grace and purge. A suspended or terminated service has a grace window (7 days by default; the suspension grace is set under Settings → Advanced), and the customer gets a final warning 2 days before it ends. If the service isn’t restored in time, the server is deleted at the provider, and so are the snapshots and volumes the customer made, so nothing is left billing.
  • Restore. During the grace window, Customers → Restore from grace brings back the same server with the same access. If the server is already gone, the restore fails with an alert — ImpulseVPS never quietly hands the customer a new, empty server instead.