The Support by Time WHMCS module turns your WHMCS into a fully automated platform for selling paid technical support measured in hours. It lets you sell a recurring support plan that includes a fixed amount of hours per month, with an automatically calculated hourly rate for time used outside the package — or a one-time bucket of hours that the service consumes until it auto-terminates.
Operators log time directly from the ticket page — manually or with a built-in start/stop timer — the module aggregates totals per ticket, per service and per month, keeps a full audit trail of who logged what, and WHMCS billable items are created automatically by the daily cron.
hooks.php wrapper for ionCube 15 compatibility, Guzzle HTTP client for robust licensing, and CSRF token protection on all AJAX endpointsNote: The module uses ionCube encoding. Make sure ionCube Loader is installed and active on your server.
Be the first to review PUQ Support by Time provisioning module.
The best place to start if you need help with a specific product is to contact the developer. All WHMCS Marketplace developers have both a website and support URL listed.
AfterCronJob) that terminates One Time services upon 100% hour consumption.+30m, +1h, +2h, +5h, 0) and clean 2-decimal currency formatting.ukranian.php and ukrainian.php.’ / \u2019) across all translation files.hooks.php distributed as unencoded plain PHP wrapper for ionCube 15 and WHMCS dynamic hook loading.GuzzleHttp\Client with timeouts and robust error handling.
php74, php81, php82 (use php82 for PHP 8.2 and any newer PHP). WHMCS 8 runs on PHP 7.4 / 8.1 / 8.2; WHMCS 9 runs on PHP 8.2.puqSupportByTime.php)puqSupportByTimeModuleSettings class for product configuration with structured JSON in configoption24
AdminAreaFooterOutput hookAdminHomepage hook)puq_module_versions table + migration runner so updates apply schema changes automatically and idempotently on first load.puqSupportByTime_items: note, admin_id, created_at, ticket_record_id.puqSupportByTime_tickets table holds per-ticket billing state (one billable item per ticket) and a snapshot of package hours / hourly rate, while puqSupportByTime_items becomes a pure time log.puqSupportByTime_timers. Stop rounds up to the nearest minute and saves a regular time entry. A floating widget on every admin page lists all of the operator's running timers.puqSupportByTime_audit. Shown on the ticket header and on the service page.puqSupportByTime_notifications for idempotent per-(month, threshold) tracking.Y-m-t instead of the literal -31
configuration.php consistentlyconfigoption3 (hours / invoice action / item name) and configoption4 (per-currency hourly rate) are read transparently when the new configoption24 slot is empty, so existing v2.x products keep working without any reconfiguration. The first save through the v3.0 form moves everything into configoption24.Note: No manual reconfiguration is required after updating to v3.0 ? settings are migrated automatically on first read. Re-saving the product through the new form is recommended but not mandatory.
Module is coded ionCube v13
Supported php version:
Easily accept Bitcoin, Tether, Ethereum and many other crypto payments on your WHMCS website
As WHMCS does provide tax rules options where you can configure your GST tax but we have some extra features in our module that makes it stand out and necessary to use.
A handling fee are the costs that business owners incur when processing payments from customers.