Personal tools
Namespaces

Variants
Actions

Time & Task Manager For WHMCS

From ModulesGarden Wiki
Revision as of 11:21, 27 July 2017 by Gregor (Talk | contribs)

Jump to: navigation, search

Contents

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 amount of hours that can be spent on performance of your services.
Additionally, you can offer your customers prepaid hours and incidents as well as manage tasks connected to specific support tickets.

  • 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 Tasks Connected To Specific Tickets
✔ View List Of Billable Time Entries
✔ Generate Invoices Automatically Or Manually
✔ Add Invoices 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 About Your Clients And Admins
✔ Choose From Two Types 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 To Your Clients Automatically
✔ Supports One Time & Recurring Payment Types
  • 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
  • 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
  • General Info:
✔ Multi-Currency Support
✔ Multi-Language Support
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7

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.

Installation

1. Log in to your client area and download the module.
TTC 1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.

Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.

TTC 2.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

Dfgrt.png
4. When you install Time & Task Manager For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/TimeTaskManager/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

TTC 3.png
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 your client area → 'My Products'.

TTC 4.png

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 'Activate' button.

TTC2 5.png
7. In the next step you need to permit access to this module and set up basic configuration.

To do so, click on 'Configure' button.
Afterwards, define whether to allow billing for mileage and define to whom emails should be sent by defining their type (System/Account/Support/None).
Assign permissions to admin roles in your system, you can grant 'Full Privileges' and 'Operator Privileges'.
'Full Privileges' (1) grant access to all tabs of Time & Task Manager addon.
'Operator Privileges' (1) grant access for the admin roles to tabs chosen in the 'Operator Access Control'.
'Operator Access Control' (2) defines tabs to which operator should have access to.
Afterwards, give 'Access Control' (3) to required admin role groups and press 'Save Changes'.

TTC2 6.png
8. Additionally, here you can set up invoice description format and predefined price per hour.

You can use variables listed under a help sign to define invoice description, each invoice description allows different set of variables.

Invoice Description Format:

{$admin_name}
{$task_name}
{$entry_date}
{$entry_hours}
{$entry_description}
{$entry_raw_hours}
{$entry_raw_description}

Invoice Description Format (Prepaid):
{$prepaid_hours_used}
{$used_prepaid_hours_value}
{$prepaid_raw_hours_used}
{$prepaid_raw_minutes_used}

Invoice Description Format (Mileage):
{$entry_mileage}
{$mileage_value}

More about setting up predefined price per hour in Predefined Price And Prepaid Hours section.
TTC2 6 1.png
9. You have just successfully installed Time & Task Manager For WHMCS!

You can access your module in 'Addons' 'Time & Task Manager'.

TTC2 7.png
Remember to clear templates_c folder when migrating to Time & Task Manager 1.3.0 version!

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 progress of tasks ordered by your clients while your staff are able to easily report time spent on each of them.
Additionally, you can manually bill your clients for time already spent on their tasks or use cron job to do it automatically.
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.

Predefined Price And Prepaid Hours

You can easily set up predefined price per hour using client custom fields.

Afterwards, you can sell those hours to your clients using provisioning module.

Setting Up Custom Field

First of all, set up client custom field visible only from the admin area.

To do so, proceed to 'Setup' → 'Custom Client Fields'. Fill in its name, choose 'Text Box' field type.
Additionally, you can ensure that only numerical values will be placed there.
Copy regular expression shown below into validation field as presented on the following screen.

^[0-9]*$

Now, mark 'Admin Only' checkbox and press 'Save Changes'.

TTC2 8.png
You can set up prepaid incidents the same way.

The only difference is placing 'incident' into 'Select Options' field.

TTC2 9.png

Predefined Price

As soon as you create a custom client field, proceed to 'Setup' 'Addon Modules' and press 'Configure' next to 'Time & Task Manager'.

Afterwards, fill in predefined price per hour for previously created custom field and press 'Save Changes'.

TTC2 10.png

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 the first product, proceed to 'Setup' 'Products/Services' 'Products/Services'.
Press 'Create a New Group' to create a new product group or use existing one instead.

TTC2 11.png
Fill in product group name and press 'Save Changes'.
TTC2 12.png
Now, create a new product, press 'Create a New Product' to proceed.
TTC2 13.png
Fill in product name, choose previously created group and press 'Continue'.
TTC2 14.png
Uncheck 'Require Domain' checkbox and proceed to 'Pricing' tab.
TTC2 15.png
Choose payment type, enable wanted billing cycles and fill in price for each of them.

Now, go to 'Module Settings' tab.

TTC2 16.png
Choose a 'TimeTrackingPrepaid' module from 'Module Name' dropdown menu.

Afterwards, fill in the amount of prepaid hours and incidents this product will grant to clients and press 'Save Changes'.
If you select option 'Delete Hours On Renew' - unused hours from a past billing period will be deleted.
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.

Note 1: Prepaid hours can be used to pay for tasks, using the same prepaid hour type.
Note 2: Prepaid incidents can be used to offer one time support services.
Incidents are removed from the client account during the creation of a task using those incident.

TTC2 17.png

Addon

Addon is the main part of time tracking process. It is here where all the tasks and time entries are made.

Additionally, from here you can create tasks ordered by your clients, track time spent on them and bill your clients accordingly.

Support Clients

In '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.
TTC2 18.png
Let's create an account for client Kate Cole, press 'Add Support Client' to proceed.
TTC2 19.png
Select a desired client from '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.
Select status 'Active' or 'Inactive' and press 'Add Support Client' to confirm and save this account.

TTC2 20.png
Using buttons marked on the following screen you can easily remove and edit support clients' accounts.
TTC2 21.png

Tasks

All tasks for which your clients can be billed are stored in 'Tasks' tab.

Press 'Add New Task' to create a new task.

TTC2 22.png

New Task

Start by selecting one of the support clients and fill in task name.

Afterwards, define payment for each hour spent on this task by selecting from 'Charge From Prepaid Hours' or filling in price into 'Hourly Rate'. Here you can also set up
'Extra Hourly Rate' to have a wider choice when charging clients. You may select then special prices to charge for some extra or provided in shorter time services
or for any other reason you might have.

TTC2 23.png
You can also set up pricing for mileage.

You can choose from three types of mileages:

  • Billable - client will have to pay for mileages
  • 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
TTC2 24.png
Now, choose the task's status and urgency level, fill in description of the task and press 'Add Task'.
TTC2 25.png

Work Sheet

In 'Work Sheet' your staff members are able to report hours spent on existing tasks or create a new task by choosing them from predefined tasks.
TTC2 26.png
Let's create a new entry for the previously created task.

Each time you enter 'Work Sheet' tab, a form to create a new entry will be already open.
Start by selecting a support client and a task. As soon as you choose the client, the tasks concerning them will be listed.
Afterwards, fill in the number of hours spent, mileages traveled and description.
Create entry through pressing 'Submit New Time Entry'.

TTC2 27.png
Below you can find the list of tasks in the current day.

In order to display tasks from the other day, select it in the calendar as shown on the following screen.

TTC2 28.png
All time entries can be afterwards modified and removed through using buttons marked on the following screen.
TTC2 29.png

Billing

Finally, it is time to show you the place where you can generate invoices for time spent on your clients' tasks.

As you can see, here you can find billing per each time entry with detailed information about each of them.
You can find specific ones through using filters marked on the following screen.
Filters allow you to display time entries from specified time period as well as display only those assigned to selected support client.

TTC2 30.png
Let's generate invoice for client Kate Cole from all time entries created this week.

Start by filling in correct time period and choose Kate Cole from 'Support Client' dropdown menu and press 'Refresh Filters'.

TTC2 31.png
As you can see only desired time entries are displayed.

Mark checkbox as shown on the following screen to mark them all at once.
Now, press 'Invoice Now' to generate invoice for selected time entries.
You can also press 'Add to Queue' which will add selected entries to cron queue.

TTC2 32.png
Generated invoice records contain information in format defined at the module configuration.

Note: Prices inside of the addon are displayed basing on default WHMCS currency.
Invoices are converted to currencies used by your clients basing on conversion rates defined in your WHMCS system.

TTC2 33.png

Reports

You can easily generate reports on work done for your clients.

Proceed to 'Reports' tab to do so.
Now, fill in report name, date range and select a client for which you wish to generate the report.
Select order of tasks: by date or according to task order.
Confirm through pressing 'Generate PDF Report'.

TTC2 34.png
On the following screen you can see the report for client Test Tester.
TTC2 35.png

Cron

In the cron tab you can define the behavior of cron, find path to cron, view all queued entries and manually invoice them.

1. To alter cron behavior, choose desired option from 'Cron Billing Action' as shown on the following screen.
Note 1: If there are at least two time entries bounded to the same client, one summary invoice for that client will be created.
Note 2: In order to apply tax to such an invoice, mark 'Billable Items' at your tax rule.
2. It is possible to enable 'Auto Credit Applying On Invoice Generation' option to invoices created by the module, regardless of WHMCS settings.
3. Enable 'Zero Invoices For Prepaid Entries' option to generate an invoice with 0.00 total that will serve as confirmation of prepaid hours utilization.

TTC2 36.png

Logs

'Logs' tab contains the logs of all actions made inside of Time & Task Manager For WHMCS.

There are two columns similar to each other, 'Data' and 'Old Data'.
In 'Data' column you can find details, these are the data from the time after ordering logged action.
While 'Old Data' contains data from the time before ordering logged action if there were such.

TTC2 37.png

Integration Code

Follow integration code, shown on the following screen, to display tasks and prepaid hours in your client area.
TTC2 38.png
Here you can also select a product from the list of your available that will be by default added to a cart if client decides to purchase some additional hours.

Read more about this option here.

TTC2 38 1.png
If all the integration codes have been inserted correctly, this is how Client Area home page should look like.
On the screen below you can see a list of open and closed tasks and a button to purchase additional hours.
TTC2 38 2.png

Predefined Tasks

On 'Predefined Tasks' page you are able to set up predefined tasks.

Those tasks can be used to instantly create new tasks during creation of work sheet entry.
Press 'Add New Predefined Task' to proceed.

TTC2 39.png
Now, fill in predefined task name, hourly rate and extra hourly rate, price per mileage and description.

Additionally, choose prepaid hours (optional), mileage type and initial status of the task.
Press 'Add Predefined Task' to save it.

TTC2 40.png
You can manage the predefined tasks the same way you manage regular tasks.
TTC2 41.png
On the following screen you can see how the predefined tasks look in the new work entry form.
TTC2 42.png

Support Integration

Owing to integration with support department, your staff members can easily create task that will be assigned to a ticket.
TTC2 43.png
Ticket tasks are created in the same manner as the regular tasks.

As you can see on the screen below the only difference is a direct link to the ticket.

TTC2 44.png
As soon as you get back to the ticket, you will notice that 'Create Task' button changed into 'Edit Task'.

There is also option to 'Start Counter' and 'Show Report'.
This means that a previously created task is assigned to the ticket.

TTC2 45.png
At this point you may also start the counter and begin counting hours spent on solving this single ticket.
TTC2 45 1.png
Control the time while solving the ticket, when finished press 'Add Response' and the timer will be stopped.
TTC2 45 2.png
Select whether you want to bill the client for the time spent on solving the ticket, choose rate (normal or extra if set up).
TTC2 45 3.png
You may also preview this task report from this point.
TTC2 45 4.png
TTC2 45 5.png

Client Area

In the client area your clients can view all unused prepaid hours and incidents.
TTC2 46.png
Additionally, they can see all tasks concerning them with basic information like current status, hours spent on it and hourly billing rate.
TTC2 47.png
Underneath, there is also a list of all closed task with the same details on each one of them.
TTC2 48.png
As you can see, your client can order 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.
To change it move to Integration Code section.

TTC2 49.png
TTC2 50.png

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 firstly.

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. Afterwards, he requested development work inside of his website.

You went to 'Addons' 'Time & Task Manager' 'Tasks' and created a new task for this client concerning his request.
The task was named 'Development Work'.

6. You have spent on this task 2 hours on the 16th, 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, July.

7. In next days John Smith reported three time entries:
  • 6 hours spent on 17th, July
  • 8 hours spent on 18th, 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.

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.
He told you that task was closed, therefore you edited the task and changed its status to 'Closed'.

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 support client filter.
Additionally, you set up time period filter to be wider than 16th - 21st, July.
4 time entries were shown, so you have marked them all and pressed 'Invoice Now' at the bottom of the page.

10. Marked time entries were summarized, 18 and a half were spent on the Tim Black's task.

The task is using 'Development Hours' prepaid hours and Tim has 10 prepaid hours of this type.
Therefore, he still has to pay for 8 and a half an hour of development work.

11. Invoice is generated with 4 items, one per each time entry.
  • 2 hours on 16.07 - no payment required (8 prepaid hours left)
  • 6 hours on 17.07 - no payment required (2 prepaid hours left)
  • 8 hours on 18.07 - payment for 6 hours required (0 prepaid hours left)
  • 2 hours 30 minutes spent on 21.07 - full payment required

Invoice on 340$ will be generated for Tim Black.

This is only sample and simple workflow of our module.

Therefore, it shows only a little part of Time & Task Manager For WHMCS possibilities.

Tips

1. Prepaid hours can be afterwards used to pay for task using the same prepaid hour type.
2. If you are manually generating invoice from at least two time entries bounded to the same client, one summary invoice for that client will be created.
3. Cron generates one invoice per support client. Of course invoice will not be generated if no time entries exist for 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 templates system, any changes made in the module's templates files will be saved after the upgrade process.

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.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Time And Task Manager For WHMCS