Time And Task Manager For WHMCS
(→Predefined Price) |
(→About Time & Task Manager For WHMCS) |
||
(53 intermediate revisions by 8 users not shown) | |||
Line 37: | Line 37: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Generate Invoices Automatically Or Manually | |style="padding: 0px 0px 0px 30px;"|✔ Generate Invoices Automatically Or Manually | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Generate Draft Invoices Only | ||
|} | |} | ||
{| | {| | ||
Line 67: | Line 70: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Add Defined Number Of Prepaid Hours To Your Clients Automatically | + | |style="padding: 0px 0px 0px 30px;"|✔ Add Defined Number Of Prepaid Hours And Incidents To Your Clients Automatically |
|} | |} | ||
{| | {| | ||
Line 133: | Line 136: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Generate Zero Invoices For Prepaid | + | |style="padding: 0px 0px 0px 30px;"|✔ Generate Zero Invoices For Prepaid Entries |
|} | |} | ||
{| | {| | ||
Line 146: | Line 149: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 8.1 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One" |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.12 Back To WHMCS V8.9 |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V13 Or Later | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/time-and-task-manager#open-source-version Open Source Version] | ||
|} | |} | ||
=Installation and Configuration= | =Installation and Configuration= | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure Time & Task Manager For WHMCS.''' <br/> | + | |style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/time-and-task-manager Time & Task Manager For WHMCS.]''' <br/> |
We will guide you step by step through the whole installation and configuration process. | We will guide you step by step through the whole installation and configuration process. | ||
|} | |} | ||
==Installation== | ==Installation== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|'''1. Log in to | + | |style="padding: 10px 0px 20px 15px;"|'''1. Log in to our client area and download the module.''' |
|} | |} | ||
{| | {| | ||
Line 168: | Line 177: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/> |
− | + | In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. --> | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PHP72_74.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/> |
− | The content of | + | The first one supports PHP 5.6 up to PHP 7.1, and the second one addresses PHP 7.2 up to PHP 7.4.<br/> |
+ | '''''Note:''' Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released anymore. Find more info [http://php.net/supported-versions.php here].'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PHP56_74.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 15px;"| <!-- '' '''Important''': This situation does not affect [https://www.modulesgarden.com/products/whmcs/time-and-task-manager#open-source-version '''the open source version'''] of this module which can be applied to any PHP from version 5.6 and later.''<br/>'' --> '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.''' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''3. Extract the package and upload its content into the main WHMCS directory. <br/> | ||
+ | The content of the package to upload should look like this. | ||
|} | |} | ||
{| | {| | ||
Line 183: | Line 203: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Time & Task Manager For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br/> | |style="padding: 0px 0px 15px 15px;"|'''4. When you install Time & Task Manager For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br/> | ||
− | + | The file is located in '' 'modules/addons/TimeTaskManager/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | |
|} | |} | ||
{| | {| | ||
Line 190: | Line 210: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br /> | ||
− | Enter your license key between quotation marks as presented on the following screen. You can find your license key in | + | Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area'' → 'My Products'. '' |
|} | |} | ||
{| | {| | ||
Line 205: | Line 225: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module and set up basic configuration.'''<br/> | + | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step, you need to permit access to this module and set up basic configuration.'''<br/> |
To do so, click on '' 'Configure' ''.<br/> | To do so, click on '' 'Configure' ''.<br/> | ||
− | + | Afterward, choose whether to allow billing for mileage and decide to whom emails ''(Admin Notification Emails)'' should be sent by defining their type ''(System/Account/Support/None).''<br/> Every admin role in your WHMCS system has its email messages types assigned: ''System Settings → Administrator Roles → Details → Email Messages:'' | |
+ | *System Emails - eg. Cron Notifications, Invalid Login Attempts, etc | ||
+ | *Account Emails - eg. Order Confirmations, Details Changes, Automatic Setup Notifications, etc | ||
+ | *Support Emails - eg. New Ticket & Ticket Reply Notifications<br/> | ||
+ | If you select in the addon configuration e.g. '' 'System' '' type, then all email messages from this addon will be labeled as '' 'System Emails' '' and as such delivered to admin users belonging to a group with this email message type selected.<br/> If you select '' 'None', '' no admin user will receive an email notification from the addon. | ||
+ | |||
+ | <br/> | ||
You can also set default settings for a task time entry created [https://www.docs.modulesgarden.com/Time_And_Task_Manager_For_WHMCS#Support_Integration directly from ticket] - these are ''the hourly rate, mileage rate, status, urgency, and the extra hourly rate''.<br/> | You can also set default settings for a task time entry created [https://www.docs.modulesgarden.com/Time_And_Task_Manager_For_WHMCS#Support_Integration directly from ticket] - these are ''the hourly rate, mileage rate, status, urgency, and the extra hourly rate''.<br/> | ||
This way your support operator will need neither to have access to the module nor to create a task with custom settings and rates. | This way your support operator will need neither to have access to the module nor to create a task with custom settings and rates. | ||
Line 215: | Line 241: | ||
'' 'Operator Privileges' ''(1) grant access for the admin roles to the tabs chosen in the '' 'Operator Access Control'. ''<br/> | '' 'Operator Privileges' ''(1) grant access for the admin roles to the tabs chosen in the '' 'Operator Access Control'. ''<br/> | ||
'' 'Operator Access Control' ''(2) defines tabs to which operator should have access to.<br/> | '' 'Operator Access Control' ''(2) defines tabs to which operator should have access to.<br/> | ||
− | + | Afterward, give '' 'Access Control' ''(3) to required admin role groups and press '' 'Save Changes'. '' | |
|} | |} | ||
{| | {| | ||
Line 221: | Line 247: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''8. Additionally, here you can set up invoice description format and predefined price per hour.<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''8. Additionally, here you can set up invoice description format and ''predefined price'' per hour.'''<br /> '''Accept All Time Entries''' - mark this option to let the module bill the additional time entries.<br/> |
− | You can use variables listed under the help sign to define invoice description, each invoice description allows different set of variables. | + | You can use variables listed under the help sign to define invoice description, each invoice description allows a different set of variables. |
|} | |} | ||
{| | {| | ||
Line 240: | Line 266: | ||
Invoice Description Format (Mileage):<br/> | Invoice Description Format (Mileage):<br/> | ||
''{$entry_mileage}''<br/> | ''{$entry_mileage}''<br/> | ||
− | ''{$mileage_value}'' | + | ''{$mileage_value}''<br/> |
+ | Please note that you can use a single '-' character in the '' 'Invoice Description Format' '' field in order to hide the description from the generated invoices.<br/> | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|More about setting up predefined price per hour can be found in the [[Time_And_Task_Manager_For_WHMCS#Predefined_Price_And_Prepaid_Hours|Predefined Price And Prepaid Hours]] section. | + | |style="padding: 0px 0px 20px 15px;"|More about setting up the predefined price per hour can be found in the [[Time_And_Task_Manager_For_WHMCS#Predefined_Price_And_Prepaid_Hours|Predefined Price And Prepaid Hours]] section. |
|} | |} | ||
{| | {| | ||
Line 261: | Line 288: | ||
=Management= | =Management= | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|'''In this section we will show you how to properly set up and use Time & Task Manager For WHMCS.'''<br/> | + | |style="padding: 10px 0px 30px 15px;"|'''In this section, we will show you how to properly set up and use Time & Task Manager For WHMCS.'''<br/> |
− | Our module allows you to easily add and track progress of the tasks ordered by your clients while your staff members are able to easily report time spent on each of them.<br/> | + | Our module allows you to easily add and track the progress of the tasks ordered by your clients while your staff members are able to easily report time spent on each of them.<br/> |
− | Additionally, you can manually bill your clients for the time already spent on their tasks or use cron job to do it automatically.<br/> | + | Additionally, you can manually bill your clients for the time already spent on their tasks or use a cron job to do it automatically.<br/> |
− | Owing to integration code, you can even display current status of tasks assigned to clients in their client area, as well as show them the amount of prepaid hours & incidents they own. | + | Owing to the integration code, you can even display the current status of tasks assigned to clients in their client area, as well as show them the amount of prepaid hours & incidents they own. |
|} | |} | ||
==Predefined Price And Prepaid Hours== | ==Predefined Price And Prepaid Hours== | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|You can easily set up predefined price per hour using Custom Client Fields.<br/> | + | |style="padding: 10px 0px 30px 15px;"|You can easily set up a predefined price per hour using Custom Client Fields.<br/> |
− | Afterwards, you can sell those hours to your clients using provisioning module. | + | Afterwards, you can sell those hours to your clients using the provisioning module. |
|} | |} | ||
===Setting Up Custom Field=== | ===Setting Up Custom Field=== | ||
Line 278: | Line 305: | ||
Copy the regular expression shown below into the validation field as presented on the following screen. | Copy the regular expression shown below into the validation field as presented on the following screen. | ||
^[0-9]*$ | ^[0-9]*$ | ||
+ | '''Note: Only the following values can be used to specify a predefined price: Installation Hours, Support Hours, Development Hours, Incidents.'''<br/><br/> | ||
Now, mark the '' 'Admin Only' '' checkbox and press '' 'Save Changes'. '' | Now, mark the '' 'Admin Only' '' checkbox and press '' 'Save Changes'. '' | ||
|} | |} | ||
Line 304: | Line 332: | ||
|style="padding: 0px 0px 15px 15px;"|Owing to our module, you can even offer prepaid hours and incidents to your clients as a product in your system.<br/> | |style="padding: 0px 0px 15px 15px;"|Owing to our module, you can even offer prepaid hours and incidents to your clients as a product in your system.<br/> | ||
To set up your first product, proceed to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'. ''<br/> | To set up your first product, proceed to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'. ''<br/> | ||
− | Press '' 'Create a New Group' '' to create a new product group or use existing one instead. | + | Press '' 'Create a New Group' '' to create a new product group or use an existing one instead. |
|} | |} | ||
{| | {| | ||
Line 322: | Line 350: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Fill in a product name, choose the previously created group and press '' 'Continue'. '' | + | |style="padding: 0px 0px 20px 15px;"|Fill in a product name, choose the previously created group, and press '' 'Continue'. '' |
|} | |} | ||
{| | {| | ||
Line 334: | Line 362: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Choose a payment type, enable wanted billing cycles and fill in a price for each of them.<br/> | + | |style="padding: 0px 0px 15px 15px;"|Choose a payment type, enable wanted billing cycles, and fill in a price for each of them.<br/> |
Now, go to the '' 'Module Settings' '' tab. | Now, go to the '' 'Module Settings' '' tab. | ||
|} | |} | ||
Line 342: | Line 370: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Choose the '' 'TimeTrackingPrepaid' '' module from the '' 'Module Name' '' dropdown menu.<br/> | |style="padding: 0px 0px 15px 15px;"|Choose the '' 'TimeTrackingPrepaid' '' module from the '' 'Module Name' '' dropdown menu.<br/> | ||
− | + | Afterward, fill in the number of prepaid hours and incidents this product will grant to clients and press '' 'Save Changes'. ''<br/> | |
− | If you select option '' 'Delete Hours On Renew' '' - unused hours from a past billing period will be deleted.<br/>In other words, if a client does not use all the purchased hours they are '''not''' added to the hours purchased from the renewed period, their number is reset instead.<br/><br/> | + | If you select the option '' 'Delete Hours On Renew' '' - unused hours from a past billing period will be deleted.<br/>In other words, if a client does not use all the purchased hours they are '''not''' added to the hours purchased from the renewed period, and their number is reset instead.<br/><br/> |
''Note 1: Prepaid hours can be used to pay for the tasks using the same prepaid hour type.''<br/> | ''Note 1: Prepaid hours can be used to pay for the tasks using the same prepaid hour type.''<br/> | ||
− | ''Note 2: Prepaid incidents can be used to offer one time support services.''<br/> | + | ''Note 2: Prepaid incidents can be used to offer one-time support services.''<br/> |
''Once a task using Incidents is created, they are removed from the client's account.'' | ''Once a task using Incidents is created, they are removed from the client's account.'' | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 30px 25px;"|[[File:TTC2_17.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:TTC2_17.png]] | ||
+ | |} | ||
+ | ==Assigning Configurable Options== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|It is also possible to create and assign configurable options to the Time And Task Manager product. <br/> | ||
+ | To set up your configurable options, proceed to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Configurable Options' '' → '' 'Create New Group'. ''<br/> | ||
+ | Create the following options: | ||
+ | * Installation Service | ||
+ | * Support Hours | ||
+ | * Development Hours | ||
+ | * Incidents <br/> | ||
+ | When creating single options, you may choose between three types of them: '' 'Dropdown', 'Radio' '' and '' 'Quantity'. '' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:TTC2_17_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|When the group of configurable options is ready, move to the product again ''(System Settings → Products Services → Your product → Module Settings)''. <br/> | ||
+ | There define which configurable option shall be assigned to the module options, by typing their names into the proper fields: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:TTC2_17_2.png]] | ||
|} | |} | ||
Line 355: | Line 404: | ||
{| | {| | ||
|style="padding: 10px 0px 30px 15px;"|Addon is the main part of the time tracking process. It is here where all the tasks and time entries are made.<br/> | |style="padding: 10px 0px 30px 15px;"|Addon is the main part of the time tracking process. It is here where all the tasks and time entries are made.<br/> | ||
− | Additionally, from here you can create the tasks ordered by your clients, track the time spent on them and bill your clients accordingly. | + | Additionally, from here you can create the tasks ordered by your clients, track the time spent on them, and bill your clients accordingly. |
|} | |} | ||
===Support Clients=== | ===Support Clients=== | ||
Line 397: | Line 446: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|Start by selecting one of the support clients and fill in a task name.<br/> | |style="padding: 10px 0px 15px 15px;"|Start by selecting one of the support clients and fill in a task name.<br/> | ||
− | + | Afterward, define payment for each hour spent on this task by selecting'' 'Charge From Prepaid Hours' '' or filling in the price into '' 'Hourly Rate'. '' Here you can also set up an<br/>'' 'Extra Hourly Rate' '' to have a wider choice when charging clients. Then you may select special prices to charge for some extra services, these provided in a shorter time <br/>or for any other reason you might have. | |
|} | |} | ||
{| | {| | ||
Line 404: | Line 453: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|You can also set up pricing for mileage.<br/> | |style="padding: 0px 0px 15px 15px;"|You can also set up pricing for mileage.<br/> | ||
− | You can choose from three types of | + | You can choose from three types of mileage: |
− | *Billable - client will have to pay for | + | *Billable - client will have to pay for mileage |
*Reference - client will be able to see only mileages done, no payment required | *Reference - client will be able to see only mileages done, no payment required | ||
*Internal - only administrators will be able to see mileages reported by your staff | *Internal - only administrators will be able to see mileages reported by your staff | ||
Line 413: | Line 462: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Now, choose the task's status and urgency level, fill in the description of the task.<br />In addition, you can also add time | + | |style="padding: 0px 0px 20px 15px;"|Now, choose the task's status and urgency level, and fill in the description of the task.<br />In addition, you can also add time entries, or do it later from the '' 'Work Sheet' '' tab view. <br /> |
Press '' 'Add Task' '' when ready. | Press '' 'Add Task' '' when ready. | ||
|} | |} | ||
Line 431: | Line 480: | ||
Each time you enter the '' 'Work Sheet' '' tab, a form to create a new entry will be already open.<br/> | Each time you enter the '' 'Work Sheet' '' tab, a form to create a new entry will be already open.<br/> | ||
Start by selecting a support client and a task. As soon as you choose the client, the tasks concerning them will be listed.<br/> | Start by selecting a support client and a task. As soon as you choose the client, the tasks concerning them will be listed.<br/> | ||
− | + | Afterward, fill in the number of hours spent, mileage traveled, and a description.<br/> | |
− | Billable entries can be added to queue so they will be shown on the customer's invoices. <br/> | + | Billable entries can be added to the queue so they will be shown on the customer's invoices. <br/> |
Otherwise, they will not be included until the administrator accepts them from the entries list or by manually changing their '' 'Billable' '' status to '' 'Yes' ''.<br/> | Otherwise, they will not be included until the administrator accepts them from the entries list or by manually changing their '' 'Billable' '' status to '' 'Yes' ''.<br/> | ||
− | Create an entry | + | Create an entry by pressing '' 'Submit New Time Entry'. '' |
|} | |} | ||
{| | {| | ||
Line 441: | Line 490: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Below you can find the list of tasks for the current day.<br/> | |style="padding: 0px 0px 15px 15px;"|Below you can find the list of tasks for the current day.<br/> | ||
− | In order to display tasks from the other day, select | + | In order to display tasks from the other day, select them in the calendar as shown on the following screen. |
|} | |} | ||
{| | {| | ||
Line 447: | Line 496: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|All time entries can be | + | |style="padding: 0px 0px 20px 15px;"|All time entries can be afterward modified, removed, and rejected through using buttons marked on the following screen. |
|} | |} | ||
{| | {| | ||
Line 457: | Line 506: | ||
|style="padding: 10px 0px 15px 15px;"|Finally, it is time to show you the place where you can generate invoices for the time spent on your clients' tasks.<br/> | |style="padding: 10px 0px 15px 15px;"|Finally, it is time to show you the place where you can generate invoices for the time spent on your clients' tasks.<br/> | ||
As you can see, here you can find billing for a single time entry with detailed information about each of them.<br/> | As you can see, here you can find billing for a single time entry with detailed information about each of them.<br/> | ||
− | You can find specific ones | + | You can find specific ones by using the filters marked on the following screen.<br/> |
− | Filters allow you to display the time entries from specified time period as well as display only those assigned to a selected support client. | + | Filters allow you to display the time entries from a specified time period as well as display only those assigned to a selected support client. |
|} | |} | ||
{| | {| | ||
Line 464: | Line 513: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Let's generate invoice for client Kate Cole from the time entries created this week.<br/> | + | |style="padding: 0px 0px 15px 15px;"|Let's generate an invoice for client Kate Cole from the time entries created this week.<br/> |
− | Start by filling in the correct time period | + | Start by filling in the correct time period choose Kate Cole from the '' 'Support Client' '' dropdown menu and press '' 'Refresh Filters'. '' |
|} | |} | ||
{| | {| | ||
Line 472: | Line 521: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|As you can see, only the desired time entries are displayed.<br/> | |style="padding: 0px 0px 15px 15px;"|As you can see, only the desired time entries are displayed.<br/> | ||
− | If you wish to display entries that are not | + | If you wish to display entries that are not scheduled cron jobs, tick the '' 'Only Not Queued' '' box.<br/> |
Mark the checkbox as shown on the following screen to mark them all at once.<br/> | Mark the checkbox as shown on the following screen to mark them all at once.<br/> | ||
Now, press '' 'Invoice Now' '' to generate invoice for the selected time entries.<br/> | Now, press '' 'Invoice Now' '' to generate invoice for the selected time entries.<br/> | ||
Line 481: | Line 530: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Generated invoice records contain information in the format defined | + | |style="padding: 0px 0px 15px 15px;"|Generated invoice records contain information in the format defined in the module configuration.<br /> |
− | ''Note: Prices inside of the addon are displayed | + | ''Note: Prices inside of the addon are displayed based on the default WHMCS currency.''<br/> |
− | ''Invoices are converted to currencies used by your clients | + | ''Invoices are converted to currencies used by your clients based on conversion rates defined in your WHMCS system.'' |
|} | |} | ||
{| | {| | ||
Line 493: | Line 542: | ||
|style="padding: 10px 0px 15px 15px;"|You can easily generate reports of the work done for your clients.<br/> | |style="padding: 10px 0px 15px 15px;"|You can easily generate reports of the work done for your clients.<br/> | ||
Proceed to the '' 'Reports' '' tab to do so.<br/> | Proceed to the '' 'Reports' '' tab to do so.<br/> | ||
− | Now, fill in a report name, date range and select the client you wish to generate the report for.<br/> | + | Now, fill in a report name, and date range and select the client you wish to generate the report for.<br/> |
Select the order of tasks: by date or according to task order.<br/> | Select the order of tasks: by date or according to task order.<br/> | ||
− | Next choose the elements you want to be displayed in the report.<br/> | + | Next, choose the elements you want to be displayed in the report.<br/> |
− | Confirm | + | Confirm by pressing '' 'Generate PDF Report'. '' |
|} | |} | ||
{| | {| | ||
Line 502: | Line 551: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|On the following screen you can see the report for client Test Tester. | + | |style="padding: 0px 0px 20px 15px;"|On the following screen you can see the report for the client Test Tester. |
|} | |} | ||
{| | {| | ||
Line 510: | Line 559: | ||
===Cron=== | ===Cron=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In the cron tab you can define the behavior of cron, find path to cron, view all queued entries and manually invoice them.<br/> | + | |style="padding: 10px 0px 15px 15px;"|In the cron tab you can define the behavior of cron, find the path to cron, view all queued entries, and manually invoice them.<br/> |
1. To alter cron behavior, choose the desired option from '' 'Cron Billing Action' '' as shown on the following screen.<br/> | 1. To alter cron behavior, choose the desired option from '' 'Cron Billing Action' '' as shown on the following screen.<br/> | ||
− | ''Note 1: If there are at least two time entries bounded to the same client, a single summary invoice for that client will be created.''<br/> | + | ''Note 1: If there are at least two-time entries bounded to the same client, a single summary invoice for that client will be created.''<br/> |
''Note 2: In order to apply tax to such an invoice, mark '' 'Billable Items' '' at your tax rule.''<br/> | ''Note 2: In order to apply tax to such an invoice, mark '' 'Billable Items' '' at your tax rule.''<br/> | ||
2. It is possible to enable the '' 'Auto Credit Applying On Invoice Generation' '' option for invoices created by the module, regardless of the WHMCS settings.<br/> | 2. It is possible to enable the '' 'Auto Credit Applying On Invoice Generation' '' option for invoices created by the module, regardless of the WHMCS settings.<br/> | ||
− | 3. Enable the '' 'Zero Invoices For Prepaid Entries' '' option to generate an invoice with 0.00 total that will serve as the confirmation of prepaid hours utilization. | + | 3. Enable the '' 'Zero Invoices For Prepaid Entries' '' option to generate an invoice with 0.00 total that will serve as the confirmation of prepaid hours utilization.<br/> |
+ | |||
+ | '''''Important:''' Remember to set the cron task to run at least '''once a day'''.'' | ||
|} | |} | ||
{| | {| | ||
Line 534: | Line 585: | ||
===Integration Code=== | ===Integration Code=== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 15px 15px;"|Follow the integration code, shown below, to display tasks and prepaid hours in your client area.<br/> |
+ | The exact line number might change, but what is important is that the integration code: <code>{include file=$template|cat:'/ttc_homepage.tpl'}</code><br/> | ||
+ | is added before the last '' 'closing element' '' as shown on the screenshot. | ||
|} | |} | ||
{| | {| | ||
Line 541: | Line 594: | ||
{| | {| | ||
|style="padding: 0px 0px 20px 15px;"|Here you can also select a product from the list of your available ones that will be by default added to a cart if a client decides to purchase some additional hours.<br/> | |style="padding: 0px 0px 20px 15px;"|Here you can also select a product from the list of your available ones that will be by default added to a cart if a client decides to purchase some additional hours.<br/> | ||
− | Read more about this option [ | + | Read more about this option [https://www.docs.modulesgarden.com/Time_And_Task_Manager_For_WHMCS#Client_Area here]. |
|} | |} | ||
{| | {| | ||
Line 547: | Line 600: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|If all the integration codes have been inserted correctly, this is how Client Area home page should look like.<br/> On the screen below you can see a list of open and closed tasks and the button to purchase additional hours. | + | |style="padding: 0px 0px 20px 15px;"|If all the integration codes have been inserted correctly, this is how the Client Area home page should look like.<br/> On the screen below you can see a list of open and closed tasks and the button to purchase additional hours. |
|} | |} | ||
{| | {| | ||
Line 556: | Line 609: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|On the '' 'Predefined Tasks' '' page you are able to set up predefined tasks.<br/> | |style="padding: 10px 0px 15px 15px;"|On the '' 'Predefined Tasks' '' page you are able to set up predefined tasks.<br/> | ||
− | Those tasks can be used to instantly create new tasks during creation of a | + | Those tasks can be used to instantly create new tasks during the creation of a worksheet entry.<br/> |
Press '' 'Add New Predefined Task' '' to proceed. | Press '' 'Add New Predefined Task' '' to proceed. | ||
|} | |} | ||
Line 563: | Line 616: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Now, fill in a predefined task name, hourly rate and an extra hourly rate, price per mileage and a description.<br/> | + | |style="padding: 0px 0px 15px 15px;"|Now, fill in a predefined task name, hourly rate and an extra hourly rate, price per mileage, and a description.<br/> |
− | Additionally, choose prepaid hours (optional), mileage type and the initial status of the task.<br/> | + | Additionally, choose prepaid hours (optional), mileage type, and the initial status of the task.<br/> |
Press '' 'Add Predefined Task' '' to save it. | Press '' 'Add Predefined Task' '' to save it. | ||
|} | |} | ||
Line 585: | Line 638: | ||
==Support Integration== | ==Support Integration== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|Owing to the integration with support department, your staff members can easily create a task that will be assigned to a ticket. | + | |style="padding: 10px 0px 20px 15px;"|Owing to the integration with the support department, your staff members can easily create a task that will be assigned to a ticket. |
|} | |} | ||
{| | {| | ||
Line 598: | Line 651: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|As soon as you get back to the ticket, you will notice that the '' 'Create Task' '' button has changed | + | |style="padding: 0px 0px 15px 15px;"|As soon as you get back to the ticket, you will notice that the '' 'Create Task' '' button has changed to'' 'Edit Task'. ''<br/> |
There are also options to '' 'Start Counter' '' (if it was not started automatically) , '' 'Show Report' '' and '' 'Add Time Entries' ''.<br/> | There are also options to '' 'Start Counter' '' (if it was not started automatically) , '' 'Show Report' '' and '' 'Add Time Entries' ''.<br/> | ||
This means that a previously created task is assigned to a ticket. | This means that a previously created task is assigned to a ticket. | ||
Line 606: | Line 659: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|At this point you may also start the counter and begin counting hours spent on solving a given ticket. | + | |style="padding: 0px 0px 20px 15px;"|At this point, you may also start the counter and begin counting hours spent on solving a given ticket. |
|} | |} | ||
{| | {| | ||
Line 618: | Line 671: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Select whether you want to bill the client for the time spent on solving the ticket, choose rate (normal or extra if set up). | + | |style="padding: 0px 0px 20px 15px;"|Select whether you want to bill the client for the time spent on solving the ticket, and choose the rate (normal or extra if set up). |
|} | |} | ||
{| | {| | ||
Line 640: | Line 693: | ||
{| | {| | ||
|style="padding: 0px 0px 20px 15px;"|Note that the entries created in this way will be settled at the default rates set in part 7 of the [https://www.docs.modulesgarden.com/Time_And_Task_Manager_For_WHMCS#Configuration_Of_Addon addon configuration]. <br/> | |style="padding: 0px 0px 20px 15px;"|Note that the entries created in this way will be settled at the default rates set in part 7 of the [https://www.docs.modulesgarden.com/Time_And_Task_Manager_For_WHMCS#Configuration_Of_Addon addon configuration]. <br/> | ||
− | In this way, the support operator may still add entries, but without the possibility of modifying the rates or even | + | In this way, the support operator may still add entries, but without the possibility of modifying the rates or even accessing the Time And Task Manager addon. <br/> |
Moreover, these entries will also have the '' 'Billable' '' status set to '' 'No' '' by default, so they will be billed on the customer's invoice only after the administrator's approval. | Moreover, these entries will also have the '' 'Billable' '' status set to '' 'No' '' by default, so they will be billed on the customer's invoice only after the administrator's approval. | ||
|} | |} | ||
Line 650: | Line 703: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|In the client area your clients can view all the unused prepaid hours and incidents.<br/> | |style="padding: 10px 0px 15px 15px;"|In the client area your clients can view all the unused prepaid hours and incidents.<br/> | ||
− | In the top right-hand corner of the tab there is also a current balance of either available or exceeded hours. | + | In the top right-hand corner of the tab, there is also a current balance of either available or exceeded hours. |
|} | |} | ||
{| | {| | ||
Line 656: | Line 709: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Additionally, they can see the tasks concerning them with basic information like a current status, hours spent on it and an hourly billing rate. | + | |style="padding: 0px 0px 20px 15px;"|Additionally, they can see the tasks concerning them with basic information like a current status, hours spent on it, and an hourly billing rate. |
|} | |} | ||
{| | {| | ||
Line 662: | Line 715: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Underneath, there is also a list of all closed | + | |style="padding: 0px 0px 20px 15px;"|Underneath, there is also a list of all closed tasks with the same details on each one of them. |
|} | |} | ||
{| | {| | ||
Line 668: | Line 721: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|As you can see, your client can order provisioning module with additional hours by pressing '' 'Buy Additional Hours'. ''<br/> | + | |style="padding: 0px 0px 15px 15px;"|As you can see, your client can order a provisioning module with additional hours by pressing '' 'Buy Additional Hours'. ''<br/> |
By default, it will move your clients to the order form of the provisioning module selected in the Time & Task Manager For WHMCS addon.<br/> | By default, it will move your clients to the order form of the provisioning module selected in the Time & Task Manager For WHMCS addon.<br/> | ||
− | To change it move to the '' [ | + | To change it move to the '' [https://www.docs.modulesgarden.com/Time_And_Task_Manager_For_WHMCS#Integration_Code Integration Code]'' section. |
|} | |} | ||
{| | {| | ||
Line 681: | Line 734: | ||
==Sample Workflow== | ==Sample Workflow== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Let's | + | |style="padding: 10px 0px 15px 15px;"|Let's take a look at a sample workflow, starting from setting up prepaid hours through ordering a task to invoice generation.<br/> |
− | If any part of this workflow seems unclear to you, please make sure you have read carefully the rest of this documentation | + | If any part of this workflow seems unclear to you, please make sure you have read carefully the rest of this documentation. |
|} | |} | ||
{| | {| | ||
Line 699: | Line 752: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|5. | + | |style="padding: 0px 0px 15px 15px;"|5. Afterward, he requested development work on his website.<br/> |
You went to '' 'Addons' '' → '' 'Time & Task Manager' '' → '' 'Tasks' '' and created a new task for this client concerning his request.<br/> | You went to '' 'Addons' '' → '' 'Time & Task Manager' '' → '' 'Tasks' '' and created a new task for this client concerning his request.<br/> | ||
The task was named '' 'Development Work'. '' | The task was named '' 'Development Work'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|6. You | + | |style="padding: 0px 0px 15px 15px;"|6. You spent on this task 2 hours on the 16th of July and instructed your staff member John Smith to take it over.<br/> |
− | Of course you have added time entry at the '' 'Work Sheet' '' tab reporting to your client that you have spent 2 hours on the 16th | + | Of course, you have added time entry at the '' 'Work Sheet' '' tab reporting to your client that you have spent 2 hours on the 16th of July. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|7. In next days John Smith reported three time entries: | + | |style="padding: 0px 0px 20px 15px;"|7. In the next days, John Smith reported three time entries: |
*6 hours spent on 17th, July | *6 hours spent on 17th, July | ||
*8 hours spent on 18th, July | *8 hours spent on 18th, July | ||
*2 hours and 30 minutes spent on 21st, July | *2 hours and 30 minutes spent on 21st, July | ||
+ | <!-- | ||
'' 'Note: In order to report for example 2 hours and 30 minutes fill in 2.50 into '' 'Hours' '' field at the time entry.'' | '' 'Note: In order to report for example 2 hours and 30 minutes fill in 2.50 into '' 'Hours' '' field at the time entry.'' | ||
+ | --> | ||
|} | |} | ||
{| | {| | ||
Line 721: | Line 776: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|9. Now, you have decided to bill your client for the task. <br/> | |style="padding: 0px 0px 15px 15px;"|9. Now, you have decided to bill your client for the task. <br/> | ||
− | To do so, you have gone to '' 'Billing' '' tab and chosen '' 'Tim Black' '' from support client filter.<br/> | + | To do so, you have gone to '' 'Billing' '' tab and chosen '' 'Tim Black' '' from the support client filter.<br/> |
Additionally, you set up time period filter to be wider than 16th - 21st, July. <br/> | Additionally, you set up time period filter to be wider than 16th - 21st, July. <br/> | ||
− | 4 time entries were shown, so you | + | 4 time entries were shown, so you marked them all and pressed '' 'Invoice Now' '' at the bottom of the page. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|10. Marked time entries were summarized, 18 and a half were spent on | + | |style="padding: 0px 0px 15px 15px;"|10. Marked time entries were summarized, 18 and a half were spent on Tim Black's task.<br/> |
The task is using '' 'Development Hours' '' prepaid hours and Tim has 10 prepaid hours of this type.<br/> | The task is using '' 'Development Hours' '' prepaid hours and Tim has 10 prepaid hours of this type.<br/> | ||
Therefore, he still has to pay for 8 and a half an hour of development work. | Therefore, he still has to pay for 8 and a half an hour of development work. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|11. | + | |style="padding: 0px 0px 20px 15px;"|11. The invoice is generated with 4 items, one per each time entry. |
*2 hours on 16.07 - no payment required (8 prepaid hours left) | *2 hours on 16.07 - no payment required (8 prepaid hours left) | ||
*6 hours on 17.07 - no payment required (2 prepaid hours left) | *6 hours on 17.07 - no payment required (2 prepaid hours left) | ||
Line 739: | Line 794: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|This is only sample and simple workflow of our module.<br/> | + | |style="padding: 0px 0px 30px 15px;"|This is only a sample and simple workflow of our module.<br/> |
− | Therefore, it shows only a | + | Therefore, it shows only a small part of Time & Task Manager For WHMCS possibilities. |
|} | |} | ||
=Tips= | =Tips= | ||
{| | {| | ||
− | |style="padding: 10px 0px 10px 15px;"|1. Prepaid hours can be afterwards used to pay for | + | |style="padding: 10px 0px 10px 15px;"|1. Prepaid hours can be afterwards used to pay for tasks using the same prepaid hour type. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 15px;"|2. If you are manually generating an invoice from at least two time entries | + | |style="padding: 0px 0px 10px 15px;"|2. If you are manually generating an invoice from at least two time entries bound to the same client, one summary invoice for that client will be created. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 15px;"|3. Cron generates one invoice per support client. Of course invoice will not be generated if no time entries exist for invoiced client. | + | |style="padding: 0px 0px 10px 15px;"|3. Cron generates one invoice per support client. Of course, the invoice will not be generated if no time entries exist for the invoiced client. |
|} | |} | ||
{| | {| | ||
Line 757: | Line 812: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|5. As this module supports | + | |style="padding: 0px 0px 30px 15px;"|5. As this module supports a template system, any changes made in the module's template files will be saved after the upgrade process. |
|} | |} | ||
=Update Instructions= | =Update Instructions= | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"| | + | |style="padding: 10px 0px 30px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/> |
− | + | Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/> Additionally, you will find a current list of supplementary actions necessary for a smooth update process there. | |
− | + | |} | |
+ | =Upgrade Guide= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/> | ||
+ | |||
+ | Opt for the [https://www.modulesgarden.com/products/whmcs/time-and-task-manager#open-source-version Open Source version] of your Time & Task Manager For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/> | ||
+ | |||
+ | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | ||
|} | |} | ||
Line 775: | Line 837: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|3. If you have problems with updating the module to a newer version, please follow the standard [https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module Modules Update] guide. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|4. If you encounter a situation where the number of the client's remaining prepaid hours is greater than the number of actually bought ones, use the recalculation script to reset them to the number of the actually bought hours.<br/> You can run it by executing the command below: | ||
+ | |||
+ | php -q path_to_whmcs/modules/addons/TimeTaskManager/shell/recalculateScript.php | ||
+ | |||
+ | Note that it will have no effect on the clients whose number of remaining prepaid hours is lower than the purchased hours. | ||
|} | |} |
Latest revision as of 13:28, 17 February 2025
Contents |
[edit] About Time & Task Manager For WHMCS
Time & Task Manager For WHMCS will let you add various tasks, track their development basing on the time spent on their execution and charge your customers accordingly. The module enables your clients to order and monitor products with a chosen number of hours that can be spent on performance of your services. |
- Addon Module Features:
✔ Add/Edit/Remove Support Clients |
✔ Add/Edit/Remove Tasks |
✔ Add/Edit/Remove Predefined Tasks |
✔ Add/Edit/Remove Time Entries - Time Spent On Task |
✔ Create/Edit Custom Tasks Connected To Specific Tickets |
✔ Create/Edit Tasks With Default Rates, Status And Urgency From Tickets |
✔ Define Billable Time Entries |
✔ View List Of Billable Time Entries |
✔ Generate Invoices Automatically Or Manually |
✔ Generate Draft Invoices Only |
✔ Add Invoice Creation To Cron Queue |
✔ Bill For Time Spent On Solving Tickets |
✔ Define And Bill For Mileages Traveled |
✔ Set Predefined Prices |
✔ Send Email Notifications - New Task/New Time Entry |
✔ Generate And View Fully Configurable Reports On Your Clients And Administrators |
✔ Choose The Type Of Configurable Permissions - Full Privileges And Operator Privileges |
✔ View Logs |
- Provisioning Module Features:
✔ Create Support Client Accounts Upon Module Activation |
✔ Add Defined Number Of Prepaid Hours And Incidents To Your Clients Automatically |
✔ Supports One Time & Recurring Payment Types |
- Client Area Features:
✔ View Lists Of Opened And Closed Tasks |
✔ View Current Task Status, Worked Hours And Hourly Rate |
✔ View Purchased Prepaid Hours |
✔ View Balance Of Available Or Exceeded Hours |
✔ Buy Additional Hours |
- Task Configuration:
✔ Support Client |
✔ Task Name |
✔ Predefined Incidents |
✔ Predefined/Custom Charge Per Hour |
✔ Custom Charge Per Extra Hour |
✔ Charge Per Mileage |
✔ Mileage Type - Billable / Visible For Client And Administrators / Visible For Administrators Only |
✔ Task Status |
✔ Task Urgency |
✔ Description |
✔ Time Entries |
- Available Cron Job Behavior Settings:
✔ Generate Invoices For Queued Time Entries Only |
✔ Generate Invoices For All Time Entries From Previous Week |
✔ Generate Invoices For All Time Entries From Previous Month |
✔ Generate Zero Invoices For Prepaid Entries |
✔ Enable Auto Credit Application On Invoice Generation |
- General Info:
✔ Multi-Currency Support |
✔ Multi-Language Support |
✔ Supports PHP 8.2 Back To PHP 8.1 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.12 Back To WHMCS V8.9 |
✔ Requires ionCube Loader V13 Or Later |
✔ Easy Module Upgrade To Open Source Version |
[edit] Installation and Configuration
This tutorial will show you how to successfully install and configure Time & Task Manager For WHMCS. We will guide you step by step through the whole installation and configuration process. |
[edit] Installation
1. Log in to our client area and download the module. |
![]() |
2. In the downloaded file you might find one or two packages that support different PHP versions. In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later. |
![]() |
Previous updates of the module may contain two packages dedicated to various PHP versions. The first one supports PHP 5.6 up to PHP 7.1, and the second one addresses PHP 7.2 up to PHP 7.4. |
![]() |
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
3. Extract the package and upload its content into the main WHMCS directory. The content of the package to upload should look like this. |
![]() |
4. When you install Time & Task Manager For WHMCS for the first time you have to rename 'license_RENAME.php' file. The file is located in 'modules/addons/TimeTaskManager/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
![]() |
5. In order to configure your license key, you have to edit a previously renamed 'license.php' file. Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'. |
![]() |
[edit] Configuration of Addon
6. Now you have to activate the module in your WHMCS system. Log in to your WHMCS admin area. Go to 'Setup' → 'Addon Modules'. Afterwards, find 'Time & Task Manager' and press the 'Activate' button. |
![]() |
7. In the next step, you need to permit access to this module and set up basic configuration. To do so, click on 'Configure' .
If you select in the addon configuration e.g. 'System' type, then all email messages from this addon will be labeled as 'System Emails' and as such delivered to admin users belonging to a group with this email message type selected.
|
![]() |
8. Additionally, here you can set up invoice description format and predefined price per hour. Accept All Time Entries - mark this option to let the module bill the additional time entries. You can use variables listed under the help sign to define invoice description, each invoice description allows a different set of variables. |
Invoice Description Format: {$admin_name} |
More about setting up the predefined price per hour can be found in the Predefined Price And Prepaid Hours section. |
![]() |
9. You have just successfully installed Time & Task Manager For WHMCS! You can access your module in 'Addons' → 'Time & Task Manager'. |
![]() |
Remember to clear templates_c folder when migrating to Time & Task Manager 1.3.0 version or a newer one! |
[edit] Management
In this section, we will show you how to properly set up and use Time & Task Manager For WHMCS. Our module allows you to easily add and track the progress of the tasks ordered by your clients while your staff members are able to easily report time spent on each of them. |
[edit] Predefined Price And Prepaid Hours
You can easily set up a predefined price per hour using Custom Client Fields. Afterwards, you can sell those hours to your clients using the provisioning module. |
[edit] Setting Up Custom Field
First of all, set up Custom Client Fields visible only from the admin area. To do so, proceed to 'Setup' → 'Custom Client Fields'. Fill in its name, choose 'Text Box' as your 'Field Type' . ^[0-9]*$ Note: Only the following values can be used to specify a predefined price: Installation Hours, Support Hours, Development Hours, Incidents. |
![]() |
You can set up prepaid incidents the same way. The only difference is placing 'incident' into the 'Select Options' field. |
![]() |
[edit] Predefined Price
Once you have created a custom client field, proceed to 'Setup' → 'Addon Modules' and press 'Configure' next to 'Time & Task Manager'. Afterward, fill in a predefined price per hour for the previously created custom field and press 'Save Changes'. |
![]() |
[edit] Prepaid Hours & Incidents
Owing to our module, you can even offer prepaid hours and incidents to your clients as a product in your system. To set up your first product, proceed to 'Setup' → 'Products/Services' → 'Products/Services'. |
![]() |
Fill in a product group name and press 'Save Changes'. |
![]() |
Now, create a new product, press 'Create a New Product' to proceed. |
![]() |
Fill in a product name, choose the previously created group, and press 'Continue'. |
![]() |
Uncheck the 'Require Domain' checkbox and proceed to the 'Pricing' tab. |
![]() |
Choose a payment type, enable wanted billing cycles, and fill in a price for each of them. Now, go to the 'Module Settings' tab. |
![]() |
Choose the 'TimeTrackingPrepaid' module from the 'Module Name' dropdown menu. Afterward, fill in the number of prepaid hours and incidents this product will grant to clients and press 'Save Changes'. |
![]() |
[edit] Assigning Configurable Options
It is also possible to create and assign configurable options to the Time And Task Manager product. To set up your configurable options, proceed to 'System Settings' → 'Products/Services' → 'Configurable Options' → 'Create New Group'.
When creating single options, you may choose between three types of them: 'Dropdown', 'Radio' and 'Quantity'. |
![]() |
When the group of configurable options is ready, move to the product again (System Settings → Products Services → Your product → Module Settings). There define which configurable option shall be assigned to the module options, by typing their names into the proper fields: |
![]() |
[edit] Addon
Addon is the main part of the time tracking process. It is here where all the tasks and time entries are made. Additionally, from here you can create the tasks ordered by your clients, track the time spent on them, and bill your clients accordingly. |
[edit] Support Clients
In the 'Support Clients' tab you are able to view the list of clients who bought prepaid hours of work or for whom accounts were created by your staff. |
![]() |
Let's create an account for client Kate Cole, press 'Add Support Client' to proceed. |
![]() |
Select a desired client from the 'WHMCS Client' dropdown menu and fill in the name under which the client will be visible in the addon. Additionally, you can add a note to this client. |
![]() |
By using the buttons marked on the following screen you can easily remove and edit support clients' accounts. |
![]() |
[edit] Tasks
All tasks for which your clients can be billed are stored in the 'Tasks' tab. Press 'Add New Task' to create a new task. |
![]() |
[edit] New Task
Start by selecting one of the support clients and fill in a task name. Afterward, define payment for each hour spent on this task by selecting 'Charge From Prepaid Hours' or filling in the price into 'Hourly Rate'. Here you can also set up an |
![]() |
You can also set up pricing for mileage. You can choose from three types of mileage:
|
![]() |
Now, choose the task's status and urgency level, and fill in the description of the task. In addition, you can also add time entries, or do it later from the 'Work Sheet' tab view. Press 'Add Task' when ready. |
![]() |
[edit] Work Sheet
In 'Work Sheet' your staff members are able to report hours spent on existing tasks or create a new task by choosing one from the predefined tasks. |
![]() |
Let's create a new entry for the previously created task. Each time you enter the 'Work Sheet' tab, a form to create a new entry will be already open. |
![]() |
Below you can find the list of tasks for the current day. In order to display tasks from the other day, select them in the calendar as shown on the following screen. |
![]() |
All time entries can be afterward modified, removed, and rejected through using buttons marked on the following screen. |
![]() |
[edit] Billing
Finally, it is time to show you the place where you can generate invoices for the time spent on your clients' tasks. As you can see, here you can find billing for a single time entry with detailed information about each of them. |
![]() |
Let's generate an invoice for client Kate Cole from the time entries created this week. Start by filling in the correct time period choose Kate Cole from the 'Support Client' dropdown menu and press 'Refresh Filters'. |
![]() |
As you can see, only the desired time entries are displayed. If you wish to display entries that are not scheduled cron jobs, tick the 'Only Not Queued' box. |
![]() |
Generated invoice records contain information in the format defined in the module configuration. Note: Prices inside of the addon are displayed based on the default WHMCS currency. |
![]() |
[edit] Reports
You can easily generate reports of the work done for your clients. Proceed to the 'Reports' tab to do so. |
![]() |
On the following screen you can see the report for the client Test Tester. |
![]() |
[edit] Cron
In the cron tab you can define the behavior of cron, find the path to cron, view all queued entries, and manually invoice them. 1. To alter cron behavior, choose the desired option from 'Cron Billing Action' as shown on the following screen. Important: Remember to set the cron task to run at least once a day. |
![]() |
[edit] Logs
The 'Logs' tab contains the logs of all the actions made inside of Time & Task Manager For WHMCS. There are two columns similar to each other, 'Data' and 'Old Data'. |
![]() |
[edit] Integration Code
Follow the integration code, shown below, to display tasks and prepaid hours in your client area. The exact line number might change, but what is important is that the integration code: |
![]() |
Here you can also select a product from the list of your available ones that will be by default added to a cart if a client decides to purchase some additional hours. Read more about this option here. |
![]() |
If all the integration codes have been inserted correctly, this is how the Client Area home page should look like. On the screen below you can see a list of open and closed tasks and the button to purchase additional hours. |
![]() |
[edit] Predefined Tasks
On the 'Predefined Tasks' page you are able to set up predefined tasks. Those tasks can be used to instantly create new tasks during the creation of a worksheet entry. |
![]() |
Now, fill in a predefined task name, hourly rate and an extra hourly rate, price per mileage, and a description. Additionally, choose prepaid hours (optional), mileage type, and the initial status of the task. |
![]() |
You can manage the predefined tasks the same way you manage the regular tasks. |
![]() |
On the following screen you can see how the predefined tasks look in a new work entry form. |
![]() |
[edit] Support Integration
Owing to the integration with the support department, your staff members can easily create a task that will be assigned to a ticket. |
![]() |
Ticket tasks are created in the same manner as the regular tasks. As you can see on the screen below the only difference is the direct link to the ticket. |
![]() |
As soon as you get back to the ticket, you will notice that the 'Create Task' button has changed to 'Edit Task'. There are also options to 'Start Counter' (if it was not started automatically) , 'Show Report' and 'Add Time Entries' . |
![]() |
At this point, you may also start the counter and begin counting hours spent on solving a given ticket. |
![]() |
Control the time while solving a ticket, when you are done press 'Add Response' and the timer will stop. |
![]() |
Select whether you want to bill the client for the time spent on solving the ticket, and choose the rate (normal or extra if set up). |
![]() |
You may also preview this task report from this point. |
![]() |
![]() |
The 'Add Time Entries' button allows the operator to add a new time entry directly from a given task. |
![]() |
Note that the entries created in this way will be settled at the default rates set in part 7 of the addon configuration. In this way, the support operator may still add entries, but without the possibility of modifying the rates or even accessing the Time And Task Manager addon. |
![]() |
[edit] Client Area
In the client area your clients can view all the unused prepaid hours and incidents. In the top right-hand corner of the tab, there is also a current balance of either available or exceeded hours. |
![]() |
Additionally, they can see the tasks concerning them with basic information like a current status, hours spent on it, and an hourly billing rate. |
![]() |
Underneath, there is also a list of all closed tasks with the same details on each one of them. |
![]() |
As you can see, your client can order a provisioning module with additional hours by pressing 'Buy Additional Hours'. By default, it will move your clients to the order form of the provisioning module selected in the Time & Task Manager For WHMCS addon. |
![]() |
![]() |
[edit] Sample Workflow
Let's take a look at a sample workflow, starting from setting up prepaid hours through ordering a task to invoice generation. If any part of this workflow seems unclear to you, please make sure you have read carefully the rest of this documentation. |
1. Configure client custom field 'Development Hours' with 'Admin Only' checkbox marked. |
2. Proceed to the Time & Task Manager For WHMCS addon configuration and set up 40 USD/h for 'Development Hours'. |
3. Prepare Time & Task Manager For WHMCS provisioning product set up with recurring payment type and name it '10 Development Hours'. Fill in 10 into 'Development Hours' field in 'Module Settings'. |
4. Your client Tim Black ordered '10 Development Hours' product from your client area. As soon as the product was activated, he received 10 prepaid development hours. |
5. Afterward, he requested development work on his website. You went to 'Addons' → 'Time & Task Manager' → 'Tasks' and created a new task for this client concerning his request. |
6. You spent on this task 2 hours on the 16th of July and instructed your staff member John Smith to take it over. Of course, you have added time entry at the 'Work Sheet' tab reporting to your client that you have spent 2 hours on the 16th of July. |
7. In the next days, John Smith reported three time entries:
|
8. John finished 'Development Work' task on 21th, July. You had set up 'Operator Privileges' for John Smith, therefore he could not close the task by himself. |
9. Now, you have decided to bill your client for the task. To do so, you have gone to 'Billing' tab and chosen 'Tim Black' from the support client filter. |
10. Marked time entries were summarized, 18 and a half were spent on Tim Black's task. The task is using 'Development Hours' prepaid hours and Tim has 10 prepaid hours of this type. |
11. The invoice is generated with 4 items, one per each time entry.
Invoice on 340$ will be generated for Tim Black. |
This is only a sample and simple workflow of our module. Therefore, it shows only a small part of Time & Task Manager For WHMCS possibilities. |
[edit] Tips
1. Prepaid hours can be afterwards used to pay for tasks using the same prepaid hour type. |
2. If you are manually generating an invoice from at least two time entries bound to the same client, one summary invoice for that client will be created. |
3. Cron generates one invoice per support client. Of course, the invoice will not be generated if no time entries exist for the invoiced client. |
4. In order to apply tax to such invoice, make sure you marked 'Billable Items' at your tax rule. |
5. As this module supports a template system, any changes made in the module's template files will be saved after the upgrade process. |
[edit] Update Instructions
An essential guidance through the process of updating the module is offered here. Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues. |
[edit] Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Time & Task Manager For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
[edit] Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. Make sure you have pricing set up in every used in your system currency, otherwise problems may occur. |
3. If you have problems with updating the module to a newer version, please follow the standard Modules Update guide. |
4. If you encounter a situation where the number of the client's remaining prepaid hours is greater than the number of actually bought ones, use the recalculation script to reset them to the number of the actually bought hours. You can run it by executing the command below: php -q path_to_whmcs/modules/addons/TimeTaskManager/shell/recalculateScript.php Note that it will have no effect on the clients whose number of remaining prepaid hours is lower than the purchased hours. |