PUQ Support by Time provisioning  module

PUQ Support by Time provisioning module

Developed By PUQ Software

Compatible with WHMCS v9.0

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.

Main features

  • Hour packages — configurable number of support hours included per month per product
  • Overtime billing — per-currency hourly rate charged for hours used outside the package
  • Two billing modes — recurring (monthly reset) or One Time (fixed bucket of hours, auto-terminate when depleted)
  • Time granularity — time tracked and entered in HH:MM (minute precision)
  • Manual time entry — operators log spent time directly when responding to a ticket
  • Live timer — start/stop a server-anchored timer on the ticket; a floating widget shows all running timers on every admin page
  • Multi-entry per ticket — every save (or timer stop) is recorded as its own entry, so "10 min triage + 30 min fix" is preserved as two lines with individual notes and operators
  • Notes & operator tracking — each entry stores an optional note and the WHMCS admin who logged it
  • Audit trail — append-only log of every action (time logged, edited, deleted, timer start/stop/cancel, service ordered, ticket billed) shown on the ticket and on the service page
  • Operator report — per-operator hours and entry counts for the current and previous month
  • Two save actions — save time without closing the ticket, or close the ticket and save time
  • Quick service ordering — when a client without an active support service opens a ticket, the operator can order one straight from the ticket page
  • Ticket protection — once a ticket has been billed, its time entries are locked against edit/delete/reopen
  • Past-month tickets — tickets logged in earlier months are flagged as already charged and require splitting/re-creating
  • Automatic monthly billing — daily cron creates one WHMCS billable item per ticket for the previous month's overage hours
  • Configurable invoice action — choose between Invoice on next cron, Add to user's next invoice or Do not invoice
  • Usage notifications — email the client when monthly usage crosses configurable thresholds (e.g. 80%, 100%)
  • Client transparency — card-based client area with a usage progress bar, an interactive cost calculator and a 12-month usage chart; an optional toggle reveals the operator note + name per ticket
  • Multi-currency — separate hourly rate per WHMCS-configured currency
  • Multi-language — 26 language files (25 languages + dual Ukrainian aliases) with automatic fallback to English
  • Modern architecture (v4.0.0+) — unencoded hooks.php wrapper for ionCube 15 compatibility, Guzzle HTTP client for robust licensing, and CSRF token protection on all AJAX endpoints

System requirements

Requirement Minimum WHMCS 8.x+, 9.x+ PHP 7.4, 8.1, 8.2, 8.3, 8.4 ionCube Loader v15+

Note: The module uses ionCube encoding. Make sure ionCube Loader is installed and active on your server.

Links

  • Product page: https://puqcloud.com/whmcs-module-support-by-time.php
  • Documentation: https://doc.puq.info/books/support-by-time-whmcs-module
  • Support: https://puqcloud.com/submitticket.php?step=2&deptid=1
  • Community: https://community.puqcloud.com/

 

There are no reviews yet!

Be the first to review PUQ Support by Time provisioning module.

Version Compatibility


Compatible with WHMCS v9.0

Full Version Compatibility


  • All versions of WHMCS v9.0
  • All versions of WHMCS v8.13
  • All versions of WHMCS v8.12
  • All versions of WHMCS v8.11
  • Selected versions of WHMCS v8.10
        8.10.0
  • Selected versions of WHMCS v8.9
        8.9.0
  • Selected versions of WHMCS v8.8
        8.8.0
  • All versions of WHMCS v8.7
  • All versions of WHMCS v8.6
  • All versions of WHMCS v8.5
  • All versions of WHMCS v8.4
  • All versions of WHMCS v8.3
  • All versions of WHMCS v8.2
  • All versions of WHMCS v8.1
  • All versions of WHMCS v8.0

System Requirements


  • WHMCS: 8.x+, 9.x+
  • PHP: 7.4, 8.1, 8.2, 8.3, 8.4
  • ionCube Loader: v15+

* Requirements listed are in addition to the WHMCS default system requirements.

Support for this product

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.

Developed By PUQ Software

Changelog

v4.0.0 Released October 7th, 2026

Latest Version


  • Dynamic Ticket Service Selection & Status Guard:
    • Automatically pre-selects the first usable active service when opening a ticket, prioritizing packages with available quota.
    • Reactive service dropdown updates time forms and quota displays immediately without page reload, preserving entered notes.
    • Action buttons and live timer dynamically adapt to service lifecycle: non-active (Terminated/Suspended) services and depleted One Time packages are strictly locked.
    • Server-side validation rejecting timer start or time saves on non-active services.
  • One Time vs Recurring Package Architecture:
    • Detailed separation of billing mechanics: Recurring packages track billable overage, while One Time packages enforce hard quota limits.
    • Automated termination hook (AfterCronJob) that terminates One Time services upon 100% hour consumption.
  • Inline Package Ordering & Service Activation:
    • Direct order placement form embedded in ticket header for clients without an active support package.
    • One-click activation button for pending support services directly from the ticket view.
  • Modernized Client Area UI:
    • Card-based layout with visual progress bar and real-time overage indicators.
    • Interactive cost calculator with preset buttons (+30m, +1h, +2h, +5h, 0) and clean 2-decimal currency formatting.
    • Expandable per-ticket time entry accordions.
  • Full 26-Language Localization (i18n):
    • Canonical 146-key coverage across all 26 WHMCS languages with zero missing keys or English fallbacks.
    • Complete sync of ukranian.php and ukrainian.php.
    • Typographic apostrophe compliance (’ / \u2019) across all translation files.
  • Unencoded Hooks Architecture (v4.0.0+ / ionCube 15): hooks.php distributed as unencoded plain PHP wrapper for ionCube 15 and WHMCS dynamic hook loading.
  • Guzzle HTTP Client: API and license verification requests migrated to GuzzleHttp\Client with timeouts and robust error handling.

 

Previous Versions


v3.0 Released June 4th, 2026

View/hide detailed changelog

  • Compatibility: supports PHP 7.4 / 8.1 / 8.2+ and WHMCS 8.x / 9.x. Published as a separate ionCube build per PHP version ? 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.
  • Module rewritten on the new PUQ module skeleton:
    • License class moved into the main module file (puqSupportByTime.php)
    • New puqSupportByTimeModuleSettings class for product configuration with structured JSON in configoption24
    • Product configuration UI rendered through the AdminAreaFooterOutput hook
    • License alert added on the WHMCS admin homepage (AdminHomepage hook)
  • Schema versioning: new puq_module_versions table + migration runner so updates apply schema changes automatically and idempotently on first load.
  • Redesigned client area (cards, progress bar, modern stat panels)
  • Redesigned ticket header (Bootstrap panels, icons)
  • Redesigned admin product page (summary table, history navigator)
  • AJAX ticket header: the entire time-logging header on the admin ticket page is now rendered and driven by AJAX. Save / Close+Save / Reopen / Start-Stop timer / Order service no longer reload the page.
  • Multi-entry per ticket: every Save Time (and every timer stop) is recorded as its own entry instead of overwriting, so a ticket keeps a full breakdown of sessions. Each entry has its own note, operator and timestamp.
  • Per-entry notes + operator tracking: every time entry can carry an optional note (shown to the client when Show work log to client is enabled) and stores the WHMCS admin who logged it. Columns on puqSupportByTime_items: note, admin_id, created_at, ticket_record_id.
  • Parent ticket records: new 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.
  • Live timer: Start / Stop / Cancel on the ticket page with a server-anchored running clock. New table 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.
  • Audit trail: append-only log of every state change (time logged / updated / deleted, timer start / stop / cancel, service ordered, ticket billed). New table puqSupportByTime_audit. Shown on the ticket header and on the service page.
  • Operator report: per-operator hours and entry counts for the current and previous month on the service page.
  • Cost calculator in the client-area home screen ? interactive "if I use ___ more hours" predictor.
  • Usage chart in the client-area history tab ? last 12 months as a Google ComboChart with a package line and bars coloured by overage status.
  • Usage notifications: email the client when monthly usage crosses configured thresholds (e.g. 80 %, 100 %). New table puqSupportByTime_notifications for idempotent per-(month, threshold) tracking.
  • Show work log to client toggle per product ? reveals the operator name + note per ticket in the client area.
  • Date filter rewritten to use Y-m-t instead of the literal -31
  • Custom admin path now read from configuration.php consistently
  • Backward-compatible settings migration: legacy values stored in configoption3 (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.

 

v2.1 Released September 20th, 2025

View/hide detailed changelog

  1. Support for custom admin path

 

v2.0 Released September 23rd, 2024

View/hide detailed changelog

Module is coded ionCube v13

Supported php version:

  • php 7.4 WHMCS 8.11.0 -
  • php 8.1 WHMCS 8.11.0 +
  • php 8.2 WHMCS 8.11.0 +

 

v1.3 Released October 19th, 2023

View/hide detailed changelog

  1. Added the ability to delete reserved time positions in the admin panel.
  2. Changed check of one-time packages, from daily cron to every cron, to change to terminator state.

 

v1.2.5 Released October 11th, 2023

View/hide detailed changelog

  1. Supported WHMCS v8.8.0
  2. Translations added/updated (Arabic, Azerbaijani, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Farsi, French, German, Hebrew, Hungarian, Italian, Macedonian, Norwegian, Polish, Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian)

 

v1.2 Released August 2nd, 2023

View/hide detailed changelog

  1. Added the possibility of one-time support packages with a limit of hours
  2. The display of time in the client and admin zones is displayed in a human-readable format
  3. Other display and logic improvements

 

v1.1 Released March 21st, 2023

View/hide detailed changelog

  1. Changes in design in the client area.
  2. Added translations
  3. Support WHMCS V8.6
  4. Support IonCube PHP Loader v12
  5. Support for PHP 8.1
  6. Support for PHP 7.4
  7. Added a field with a description of the position on the invoice

 

v1.0 Released October 1st, 2022

View/hide detailed changelog

1.0 Initial version

 

See also

Accept Bitcoin and cryptocurrency payments - CoinGate for WHMCS

Easily accept Bitcoin, Tether, Ethereum and many other crypto payments on your WHMCS website

Free
Account Statements Module

Send account statements to customers

Free
GST WHMCS Module For India

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.

Commercial
Handling Fees

A handling fee are the costs that business owners incur when processing payments from customers.

Free
Free Opensource Gateway Fees

Gateway no fees Addon

Free