Pricing and billing cycles
Oct 15, 2026
Billing cycles
The cycles you can sell on are managed under Settings > Billing Cycles. Each cycle can have a name in every enabled language. A cycle is a Name, a Time Unit (Days, Weeks, Months or Years) and an Amount of Units. WHBMP starts with these:
| Cycle | Meaning |
|---|---|
| One-Time | Paid once, never renewed |
| Monthly | Every month |
| Quarterly | Every 3 months |
| Semi-Annually | Every 6 months |
| Annually | Every year |
| Biennially | Every 2 years |
| Triennially, Every 5 Years, Every 10 Years | Every 3, 5 or 10 years (switched off for the storefront until you turn them on) |
Add your own with Add Cycle, for example 6 Years (Time Unit Years, Amount of Units 6) or Weekly (Time Unit Weeks, Amount of Units 1). A service on a cycle of days or weeks has its due date moved on by that many days each time an invoice is paid; months and years move it by calendar months. The list is kept shortest first, and every price screen then shows the new cycle: each product's Pricing tab, the add-on prices under Configurable Options, and the discount rules of a coupon.
- A cycle that services or orders already use can be renamed or switched off, but not shortened and not deleted, because those services keep the cycle they were sold on.
- Offer on the storefront (the Edit dialog) switches a cycle off for customers everywhere. Products and services that already use it keep working.
- Deleting a cycle that nothing uses also removes the prices that were entered for it.
- Two cycles cannot have the same length (7 days and 1 week are the same length; 30 days and 1 month are not). One-Time cannot be deleted, because add-on setup charges use it.
The customer picks a cycle at checkout and the service renews on that cycle.
Prices on a product
A product's prices are on its Pricing tab: one row per billing cycle, with a Price, a Setup fee and Allow in signup?. There is one tab per currency, the base currency first.
- Price: enter a price for each cycle you want to offer. A cycle with no price is not offered for this product.
- Setup: a fee charged once, on the first invoice, when the product is ordered on that cycle. Leave it empty for no setup fee. Each cycle has its own setup fee, so a longer cycle can have a lower one, or none.
- Allow in signup?: untick it to stop customers choosing this cycle for this product, while keeping the price for staff who create orders.
Server locations
When a product is sold from more than one server (its Locations tab), each location uses the same billing cycles as the product. For every cycle the product has a price for, a location can have its own Price and Setup fee; an empty field means the location charges what the product charges.
To charge more or less at a location without typing every price, set Adjust prices by in the location's header, for example 10 for 10% more or -15 for 15% less. The percentage is applied to the product's price and setup fee of every cycle (in every currency) and the grey numbers in the fields show the result. A price or setup fee you type for one cycle is a fixed amount and is not changed by the percentage. The cycle's Allow in signup? setting of the product applies to every location.
Currencies
Prices in the first tab are in the base currency. In every other currency's tab, leave a field empty to follow the base price at that currency's exchange rate (the grey number shows the result), or type a value to set a real price in that currency for this product only. See Currencies.
Tax
Whether the prices you type include tax depends on Exclusive or Inclusive in Tax.
Domains
Domain prices are not set on a product. They are set per extension (TLD) under Settings > Domain Pricing. See Domain pricing.
Change many prices at once
Install the Bulk Price Update plugin. It updates the price of many products, domains or configurable options in one go, including (if you choose) the recurring amount that active clients are billed. A cycle you added yourself appears in the plugin once you update it to the version that matches this release.
Price changes and existing services
Editing a product's price changes what new orders pay. A running service keeps the recurring amount it was sold at, unless you use Bulk Price Update with the option to update active services, or change the service's recurring amount by hand on the service page.
Free trials and discounts
Use a coupon for a discount. WHBMP has no free-trial mode; offer a low-priced first cycle or a 100% first-invoice coupon instead.
Selling by the hour
A VPS or dedicated server product can also be sold by the hour, with its own rate, cap and deposit. It is not a billing cycle and does not appear in the list above: see Hourly billing.