Version 1.0.2 · For WHMCS administrators
This guide takes VPS Reseller Pro for Contabo from purchase to a working setup: installation, connecting your Contabo account, products and pricing, the renewal guard, importing the servers you already have, the client panel, updating and troubleshooting. If something here does not match what you see in your WHMCS, open a ticket (see Support).
Formerly “Arahoster Cloud VPS for Contabo”. Only the name changed: folders, settings and licence keys are the same.
Contents
- Overview
- Requirements
- Buy, download & licence
- Installation
- Connect your Contabo account
- Activate your licence
- Create a product
- Prices, licences, locations and add-ons
- Client e-mails
- Automatic snapshots
- Monitoring alerts
- How the renewal guard protects you
- Importing the servers you already have
- The client panel
- Admin tools
- Languages
- Updating
- Troubleshooting
- Uninstalling
- Support
Overview
VPS Reseller Pro for Contabo lets you sell Contabo Cloud VPS and Cloud VDS from WHMCS under your own brand. It has two parts that are installed together:
- The server module (
modules/servers/arahoster_cloud) creates, manages and cancels servers at Contabo and gives your clients a complete control panel in the client area. The provider's name is never shown to clients. - The admin addon (
modules/addons/arahoster_cloud_admin, shown as Addons → VPS Reseller Pro) is where you set up everything: products, prices, locations, licences, renewal protection, import, profit reports, health checks and updates.
Three things make it different from a plain provisioning module:
- Renewal guard. Contabo renews servers automatically. The module keeps each client's due date a few days ahead of the Contabo renewal and cancels unpaid servers in time, so you never pay for a server your client has not paid for.
- Pricing that runs itself. Every plan and extra is priced at Contabo cost + your margin, in every WHMCS currency, or you keep your own plan prices and only the extras are priced automatically.
- True profit. The cost of every server (plan, location, Windows or other licences, extras) is calculated per service, so the Profit tab shows what you really earn.
Requirements
- WHMCS 8.0 or newer
- PHP 7.4, 8.0, 8.1, 8.2 or 8.3 with cURL and JSON
- ionCube Loader (the module files are encoded)
- The WHMCS cron running every 5 minutes. The renewal guard runs on every cron run.
- A Contabo account with API access: Customer Control Panel → API. You need the Client ID, the Client Secret, your API user (login e-mail) and your API password.
- A USD currency in WHMCS (Setup → Payments → Currencies). If your Contabo account bills in EUR or GBP, add that currency as well.
Buy, download & licence
- Order VPS Reseller Pro for Contabo in our store at me.arahoster.com (Store → Arahoster Marketplace). It is $7.99 per month, or $59 per year. Every feature is included.
- After payment, open Services → My Services → VPS Reseller Pro for Contabo in the client area. Your licence key is shown there, together with the download.
- Download the zip. Inside you'll find:
vps-reseller-pro-for-contabo-1.0.2/
├── README.md
├── CHANGELOG.md
├── LICENSE.txt
└── upload/ ← upload the contents of this folder to your WHMCS root
└── modules/
├── servers/arahoster_cloud/
└── addons/arahoster_cloud_admin/
One licence covers one WHMCS installation (one domain). Updates and support are included while the licence is active.
Installation
- Unzip the package and upload the contents of the
upload/folder to your WHMCS root directory. The foldersmodules/servers/arahoster_cloud/andmodules/addons/arahoster_cloud_admin/merge into the existing ones. - Go to System Settings → Addon Modules, find VPS Reseller Pro, click Activate, then Configure and give your admin role access.
- Open Addons → VPS Reseller Pro. All settings are on this page. The addon configuration screen in WHMCS has none.
On a fresh install the page opens on the Setup tab: six short steps (licence, Contabo API, your margin, first product, publish prices, cron check). The tab disappears once everything is done. The sections below describe the same steps in detail.
Connect your Contabo account
The quickest way is Setup → Connect your provider account: paste the four values from Contabo → API, and they are tested before anything is saved. The server entry and a "Cloud VPS" server group are created for you. To do it by hand:
- System Settings → Servers → Add New Server
- Module: VPS Reseller Pro for Contabo
- Hostname:
api.contabo.com - Username: your Contabo API user (login e-mail)
- Password: your Contabo API password
- Access Hash:
CLIENT_ID|CLIENT_SECRET. Use your Client ID, a vertical bar, then your Client Secret.
- Click Test Connection, then save.
- Create a server group that contains this server (System Settings → Servers → Create New Group). New orders are provisioned on the group's server.
Activate your licence
Addons → VPS Reseller Pro → Settings → Licence: paste the key from your Arahoster client area and click Save & activate. No key yet? Buy a monthly or annual licence from the link on that card.
- The key is checked once a day. After a successful activation, the module keeps working for 7 days if the licence server cannot be reached. Your server must allow outbound HTTPS to
me.arahoster.com. - Without an active licence, new servers cannot be created and prices cannot be published. Your existing servers, the renewal guard, suspensions, cancellations and your clients' control panel always keep working, so a lapsed licence never costs you money or harms your clients.
Create a product
- System Settings → Products/Services → Create a New Product. Choose type Server/VPS, give it a name and save.
- On the Module Settings tab:
- Module: VPS Reseller Pro for Contabo. Server group: the group you created.
- Provider Product ID: the Contabo plan, for example
V92. Click Open the full manager to pick it from a list. - Monthly Cost: what Contabo charges you for the plan.
- Choose when the server is created (usually "after first payment").
- Open Addons → VPS Reseller Pro → Products → Manage on the new product. Everything for this product is on one screen:
- Server plan & price: the plan, its cost, your margin and a live preview of the client price for every billing cycle. Set Plan price to Keep my own WHMCS prices if you price plans yourself in WHMCS: publishing then never changes the plan price or setup fees, and only locations, licences and add-ons are priced at cost + margin.
- Store description: the feature lines clients read on the order page.
- Licences & add-ons: Windows, cPanel, Plesk, automatic backups, an extra IPv4 and private networking, each with its own cost and on/off switch.
- Locations: which Contabo regions are offered, each with its own surcharge.
- Operating systems: which images are offered on the order form and for reinstall, and which one is the default.
- Provisioning: default location, login user, contract length, hostname pattern and an optional cloud-init script.
- Renewal protection: invoice lead time, grace period and the final safety window.
- Client panel: which self-service features your clients get.
- Click Save & publish. The module writes the prices in every currency and builds the order form options: location, operating system, backups, extra IP and private network.
The licences, locations, operating systems and add-ons are also on the product's Other tab in WHMCS. Both screens edit the same settings.
Prices, licences, locations and add-ons
- Client price = provider cost + your margin. The default margin is 30%. Change it under Settings, or override it per product.
- Minimum profit: a plan never sells for less than cost plus this amount per month.
- Billing cycles: choose the cycles you offer and an optional discount for paying ahead. Monthly is always offered.
- Round up to .99: for example, 12.34 becomes 12.99.
- Every extra is priced the same way. Locations, Windows, cPanel, Plesk, backups, extra IPs and private networking are all priced at cost plus your margin, and never below cost.
- A licensed system is never given away. Windows, cPanel or Plesk only appears on the order form once you have entered its cost.
- Provider currency: if your Contabo account bills in EUR or GBP, set it under Settings. You then enter costs in that currency, and the module converts them to USD with your WHMCS exchange rates.
- Fetch provider prices (Settings) reads your real plan prices from Contabo. It needs at least one linked server.
- Re-apply prices daily (optional) keeps prices in line with exchange-rate changes. Existing services keep the price they were sold at.
- Profit tab: revenue, provider cost and profit per server, with Export CSV. You also get an e-mail alert when a server sells below your minimum profit, and a monthly report on the 1st of each month.
- Price history: every publish that changes a price is logged per product, and Restore puts the previous prices back.
- Bulk actions: publish several products at once (Products), or sync several servers at once (Renewal Guard).
- Location availability: if Contabo has no capacity in a location, that location is hidden on the order forms for 12 hours. You get an e-mail, and it comes back on its own.
Client e-mails
- Cloud VPS Ready is sent once, when a new server is running and has its IP address. It includes the IP, username and password, and how to connect. Tip: set the product's own "Welcome Email" to none, so clients get one complete e-mail.
- Cloud VPS Alert carries the monitoring alerts.
Both templates are installed automatically in 11 languages. Edit them under System Settings → Email Templates, or switch the "ready" e-mail off under Settings → Client e-mails.
Automatic snapshots
Per product (Products → Manage → Automatic snapshots), choose one of:
- Not offered
- Included for free
- Paid add-on at a fixed monthly price. The order form then gets an "Automatic Snapshots" option.
Clients choose a daily or weekly time and how many automatic snapshots to keep (1–3). The oldest automatic snapshot is replaced, and manual snapshots are never touched. The provider does not charge for snapshots, so the paid add-on is pure profit.
Monitoring alerts
Once the monitoring agent is installed, clients get e-mail alerts when:
- CPU or memory stays above their thresholds for 15 minutes
- the disk passes its threshold
- the server stops reporting for 20 minutes, and again when it is back
Each alert type is sent at most once every 6 hours. Clients change or switch off alerts on the Monitoring tab.
How the renewal guard protects you
Contabo renews servers automatically. The renewal guard keeps your clients' billing in step with Contabo and cancels unpaid servers in time:
- Due date alignment. After provisioning, the client's due date is moved to a few days (default 5) before the Contabo renewal. It is only ever moved earlier, and never while an unpaid invoice exists.
- Grace period. If the client has still not paid a set number of days (default 3) after the due date, the server is cancelled at Contabo and the WHMCS service is suspended.
- Final safety window. Whatever happens, an overdue server is cancelled no later than a set number of hours (default and minimum 12) before Contabo's cut-off. Contabo accepts a cancellation until the day before the last paid day, counted in German time. The module always uses German time, whatever time zone your WHMCS server runs in.
- Verification. After every cancellation the module reads back the termination date from Contabo. If that date is later than the current term, you get an e-mail straight away.
- Terminate means terminate. Terminating a service in WHMCS cancels it at Contabo and removes its stored secrets, SSH keys and firewall. Deleting a service also cancels it at Contabo.
- Daily checks. Every linked server is synced. You get a report of servers running at Contabo without an active service, and you can exclude your own servers from it.
- Late payments. If a client pays after the server was cancelled, you get an e-mail. Use Revoke Cancellation in the Contabo panel before the termination date to keep the server.
All renewal settings can be changed per product. The Renewal Guard tab lists every server with its next renewal and whether that term is paid.
Importing the servers you already have
Addons → VPS Reseller Pro → Import brings every server on your Contabo account under this module. It works whatever you use today: another Contabo module, a generic module, or products with no module at all.
Servers that already have a service in WHMCS
- Each service is matched to its Contabo server automatically: by an instance ID or vmi name kept on the service (custom field, username or hostname), by its dedicated IP, or by its assigned IPs. The preview shows how each one was matched, the calculated renewal date and the client's due date. Overdue services are marked.
- Services that were not matched get a drop-down of the unlinked servers on your account, so you can link them by hand.
- For each ticked product choose either Switch this product to the VPS Reseller Pro module (plan and location are detected from its servers, the old module's configurable options are unlinked), or Move linked services into one of your existing Cloud VPS products (useful when the old product is a generic one).
- Linked services get a branded hostname if they still have the provider's default one, and Contabo's default reverse DNS is replaced.
Servers that are not in WHMCS at all
- Every server on your Contabo account that no service claims is listed under Servers not in WHMCS yet.
- Tick it, choose the client, product, billing cycle, price (or the product price) and the next due date (default: the next renewal minus the invoice lead days). The service is created and linked to that server: no order e-mail, no invoice, and nothing is ordered at Contabo.
After importing
- For 7 days, overdue imported services are not cancelled automatically. You get a daily e-mail for each one, so you can sort out payment arrangements first.
- A 1-month Contabo contract is assumed. For longer contracts set Renewal Date Override on the service.
- Deactivate the old module afterwards so its own automation stops.
The client panel
The client area never shows the provider's name. Clients can:
- See status, IPv4/IPv6, specs and the login details
- Start, stop, restart and shut down the server
- Reset the root password and manage SSH keys
- Reinstall the operating system, optionally with a one-click app: Docker, Portainer, Coolify, n8n, WireGuard (wg-easy) or LAMP
- Create, restore and delete snapshots
- Edit reverse DNS and the hostname
- Boot the rescue system
- Manage a network firewall, with presets and lock-out protection
- Turn on monitoring: CPU, memory, disk, load and network charts for 24 hours, 7 days and 30 days, with e-mail alerts
- Schedule automatic snapshots (when the product offers them)
- Lock the server against accidental reinstalls
- Read an activity log of every action
You can switch each feature on or off per product. Reinstalling, restoring a snapshot and locking ask the client to type the hostname to confirm; other destructive actions ask for confirmation. Sub-users need the "Perform product actions" permission to make changes.
Admin tools
- Health tab: checks PHP and its extensions, the uploaded files against the shipped version, PHP's opcode cache (with a Clear PHP cache button for after an update), the licence, when the cron last ran, the database tables, every Contabo API connection and every product's setup. Include a screenshot of it with support requests.
- Instant notifications: Settings → Instant notifications. Everything that needs you (a failed or unconfirmed cancellation, a client who paid after their server was cancelled, a guard error, a plan upgrade to finish) is pushed to Telegram and/or Discord as well as e-mailed. Optionally also cancellations done and upcoming cancellations.
- Provider price watch: once a day the module reads Contabo's current plan prices. If a plan costs more than the cost entered on your product, you are alerted with the profit the current client price leaves.
- Plan upgrades: pick the bigger plans a client may move to under WHMCS → product → Upgrades. Clients then see an Upgrade plan button. WHMCS invoices the difference; after payment you get an alert to switch the plan in the Contabo panel, because Contabo's API cannot change a plan.
- Service page: the complete server panel (power, reinstall, snapshots, firewall, network, monitoring, access, activity) plus an admin card with cost, client price, profit and renewal guard state. It also works on suspended servers. Below it: Automatic Cancellation (on, or watch only), link or unlink an instance, override the renewal date, see recent client actions, and list the available images.
- Buttons: Sync now, Start, Shutdown, Restart, Find Instance by IP, Cancel at Provider Now.
- Dashboard: active servers, revenue, cost, profit, renewals in the next 14 days, pending cancellations and a "needs attention" list.
- Activity: every client, admin and system action, filterable.
- Module log: every API call, with secrets masked.
Languages
The client panel includes English, Arabic (right-to-left), German, French, Spanish, Italian, Dutch, Portuguese (Brazil), Turkish, Russian and Norwegian. It follows the language the client has chosen in WHMCS.
To add a language, copy modules/servers/arahoster_cloud/lang/english.php, name the copy after the WHMCS language (for example swedish.php) and translate the values.
Updating
When a new version is released, every page of Addons → VPS Reseller Pro shows an Update available notice. Open the Update tab and click Update now:
- the package is downloaded from the Arahoster licence server and checked against a signed checksum;
- both module folders (
modules/servers/arahoster_cloudandmodules/addons/arahoster_cloud_admin) are backed up first (the last 3 backups are kept undermodules/addons/.arahoster_updates/); - if anything fails, the backup is put back automatically. Any backup can also be restored by hand from the same tab.
Requirements: an active licence, a Full Administrator account, and the PHP zip, curl and sodium extensions with write access to both module folders (the tab checks all of this). Language files and the client area template are replaced by the new version; extra language files you added are kept. If your server cannot update itself, download the new version from your Arahoster client area and upload it over the old files.
Troubleshooting
| Problem | What to do |
|---|---|
| Test Connection fails | Check the Access Hash format: CLIENT_ID|CLIENT_SECRET. The username and password are the API user and password from Contabo → API. |
| "Licence is not active" | Settings → Licence → Check now. Make sure the WHMCS server can reach https://me.arahoster.com. |
| Order options are missing | Open the product in VPS Reseller Pro and click Save & publish. A licensed OS needs its cost before it is offered. |
| Due dates do not move | The WHMCS cron must run every 5 minutes (Health tab → WHMCS cron). A due date with an unpaid invoice is never moved. |
| Renewal guard / monitoring never run | WHMCS only loads a module's cron jobs once it has registered them. Opening VPS Reseller Pro (or saving any Cloud VPS product) does this automatically; the Health tab shows "Module hooks registered". |
| An error right after uploading a new version | PHP may still run the old files from its cache: Health tab → Clear PHP cache. The Health tab also lists files that were not uploaded completely. |
| Prices look wrong with an EUR account | Settings → Provider account currency = EUR, and both EUR and USD exist under Setup → Payments → Currencies. |
The module log (Utilities → Logs → Module Log) shows every API call, with secrets masked.
Uninstalling
- Move all services to another module, or terminate them. Termination cancels the servers at Contabo.
- Deactivate VPS Reseller Pro under System Settings → Addon Modules. Module data is kept.
- Delete
modules/servers/arahoster_cloud/andmodules/addons/arahoster_cloud_admin/. - Optional: to remove all data, drop the database tables that start with
mod_ahcloud_.
Support
Open a ticket at me.arahoster.com/submitticket.php. Please include your WHMCS version, your PHP version and the related lines from the module log.
Contabo is a trademark of Contabo GmbH. This module is an independent product by Arahoster and is not affiliated with or endorsed by Contabo GmbH.