Common issues across the three modules, roughly in the order you'll meet them.
The row is only saved after a live OVH API call succeeds, so a save failure is a credentials problem:
eu.api.ovh.com fails on ovh-ca/ovh-us.US is only valid on ovh-us. See OVH API Credentials, Endpoints & Subsidiaries for the valid pairs.Package fields load live through a module row, so add the row before creating packages. If a row exists, check Tools > Logs > Module for the failing API call — an expired consumer key shows up here first.
Activation is done by the 5-minute cron tasks (Check … Orders / Sync OVH Public Cloud Instances), so:
The OVH account has no preferred payment method, or it was declined. Set one in the OVH Control Panel (Billing > Payment methods) and retry. Remember: auto-ordering spends real money — test packages with the import path (enter an existing service/instance name on the admin add-service form) before opening them for sale.
Expected on ranges without IPMI hardware — most Kimsufi and some other Eco plans. It is not a module or credentials error.
By design: cancel turns renewal off (deleteAtExpiration) and the service lapses at its OVH expiry date. Immediate termination requires a confirmation token OVH emails to the account holder, so it must be completed in the OVH Control Panel. Until expiry, OVH keeps billing you. (Public Cloud is the opposite: cancel deletes the instance immediately and permanently.)
The daily Sync … Option Prices task rebuilds each OVH VPS - {package} / OVH Dedicated - {package} group from the OVH catalog, overwriting manual edits. Adjust the package's Options Margin (%) instead, and let the next sync (or a manual cron run) reprice everything.
Every OVH API request and response is logged under Tools > Logs > Module (API keys are never written to the log, and console-access URLs are masked) — nearly every problem above leaves its explanation there.