Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 31 additions & 29 deletions add-ons/client/mainwp-time-tracker-extension.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ addonType: extension
id="addon-data"
style={{display: 'none'}}
data-title="Time Tracker"
data-purchase-url="https://mainwp.com/extension/time-tracker/"
data-purchase-url="https://mainwp.com/add-on/time-tracker/"
data-pricing-tier="pro"
data-bundle="MainWP Pro"
data-addon-type="extension"
data-version="5.0"
data-version="5.1.1"
data-developer="MainWP"
data-changelog-url="https://mainwp.com/changelog/mainwp-time-tracker-extension/"
data-owned-by="Jestart LLC"
Expand Down Expand Up @@ -45,32 +45,34 @@ addonType: extension

## Introduction

The Time Tracker Extension allows users to track the work they do for their clients directly from their Dashboard or Browser Extension. The Time Tracker extension integrates seamlessly with the MainWP Clients Module, allowing users to create time-tracking entries for custom work performed for clients. This extension is particularly useful for MainWP managers who need to monitor the time dedicated to various tasks, ensuring accurate billing and reporting.
The Time Tracker Extension allows users to track the work they do for their clients directly from their Dashboard or Browser Extension. The Time Tracker extension integrates seamlessly with the MainWP Clients feature, allowing users to create time-tracking entries for custom work performed for clients. This extension is particularly useful for MainWP managers who need to monitor the time dedicated to various tasks, ensuring accurate billing and reporting.

## Key Features

\- **Buckets:** Users can create "Buckets," which are pools of hours assigned specific price tags for different services offered to clients. - **Time Counting and Rounding**: Offers the ability to count time up from 0 or down from a specific time and offers rouncing of entries up or down for neat and understandable reporting. - **Flexible Settings**: Users can adjust settings globally or per client, catering to diverse client needs and billing practices.
- **Buckets:** Users can create "Buckets," which are pools of hours assigned specific price tags for different services offered to clients.
- **Time Counting and Rounding:** Offers the ability to count time up from 0 or down from a specific time and round entries up or down for neat and understandable reporting.
- **Flexible Settings:** Users can adjust settings globally or per client, catering to diverse client needs and billing practices.

## Setting Up Time Tracker

### **Creating Buckets:**

![Time Tracker create bucket](/images/add-ons/time-tracker-logs-page.gif)

1. Navigate to **Dashboard -> Add-ons -> Time Tracker -> Buckets**, and click **Create Buckets** button
1. Navigate to **Add-ons > Time Tracker > Buckets** and click the **Create Bucket** button
1. Enter the bucket title and description
2. Enter the number of hours in this bucket
3. Select the clients to associate them with this bucket
4. Enter the hourly price for the bucket **NOTE**: Enter just the numeric value here. The currency is defined in the Settings.
5. Click the Save Bucket
4. Enter the hourly price for the bucket **NOTE**: Enter just the numeric value here. The currency is defined in the settings.
5. Click **Save Bucket**

### **Buckets Page**

The Buckets Page allows for the creation and management of buckets, showing details like hours, recurrence, and pricing. Users can view detailed usage of buckets and edit or delete them as needed. ![Time Tracker Manage buckets](/images/add-ons/time-tracker-buckets-page.png)

### **Settings**

Navigate to **Dashboard -> Add-ons -> Time Tracker -> Settings**
Navigate to **Add-ons > Time Tracker > Settings**

1. Default timer mode
1. Count Up: the timer will start counting up from 0
Expand All @@ -86,11 +88,11 @@ Navigate to **Dashboard -> Add-ons -> Time Tracker -> Settings**

## Time Tracking a Task

To **initiate time tracking a task**:
To **initiate time tracking a task**:

<Steps>
<Step title="Click on the Clock icon, then New Task menu entry to open the Time Tracker modal">
Click on the Clock icon, then **New Task** menu entry to open the Time Tracker modal
<Step title="Click the stopwatch icon, then select New Task to open the Time Tracker modal">
Click the stopwatch icon in the header actions, then select **New Task** to open the Time Tracker modal.
Comment on lines +91 to +95

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar in the task-start lead-in.

Line 91 reads awkwardly (“initiate time tracking a task”). Suggest “initiate time tracking for a task” (or “start tracking a task”).

✏️ Proposed wording tweak
-To **initiate time tracking a task**:
+To **initiate time tracking for a task**:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@add-ons/client/mainwp-time-tracker-extension.mdx` around lines 91 - 95, The
lead-in phrase "To **initiate time tracking a task**" is grammatically awkward;
update that heading text to either "To initiate time tracking for a task" or "To
start tracking a task" and ensure the corresponding markup around the Steps/Step
block (the "To **initiate time tracking a task**" string and any duplicated
instances) is replaced so the Step title ("Click the stopwatch icon, then select
New Task to open the Time Tracker modal") remains unchanged.

</Step>
<Step title="Select the client, sites (if applicable), buckets, and enter task details.">
</Step>
Expand All @@ -99,41 +101,41 @@ Click on the Clock icon, then **New Task** menu entry to open the Time Tracker
</Steps>


![Time Tracker start a new task](/images/add-ons/time-tracker-start-task.gif) You can now dismiss the popup modal by clicking the X icon in the top right of the modal and continue with your work. When you are ready to **finish tracking** this task, navigate to the Time Tracker **Logs** page, locate the running task and from the ellipsis menu, select **Continue,** and then from the popup modal, select **Stop and Submit**. ![Complete time tracker task](/images/add-ons/time-tracker-working-task.png)
![Time Tracker start a new task](/images/add-ons/time-tracker-start-task.gif) You can now dismiss the popup modal by clicking the X icon in the top right of the modal and continue with your work. When you are ready to **finish tracking** this task, navigate to the Time Tracker **Logs** page, locate the running task, and from the ellipsis menu, select **Continue**, then from the popup modal, select **Stop and Submit**. ![Complete time tracker task](/images/add-ons/time-tracker-working-task.png)

### View Task details

![View task details](/images/add-ons/time-tracker-task-details.png) Navigate to the Time Tracker **Logs** page, locate the running task, and click its name in the table. Alternatively, from the ellipsis menu, you can select **View Details**. Here, you get a brief overview of all information related to that specific task.
![View task details](/images/add-ons/time-tracker-task-details.png) Navigate to the Time Tracker **Logs** page, locate the running task, and click its name in the table. Alternatively, from the ellipsis menu, you can select **View Detail**. Here, you get a brief overview of the information related to that task.

### Edit a Task

Navigate to the Time Tracker **Logs** page, locate the running task, and from the ellipsis menu, select **Edit.** From the popup modal, you can change all information related to the task that you selected earlier when starting it. In addition to that information, you can now also change the **Payment status** and **Task status** of the task.
Navigate to the Time Tracker **Logs** page, locate the running task, and from the ellipsis menu, select **Edit**. From the popup modal, you can change all information related to the task that you selected earlier when starting it. In addition to that information, you can now also change the **Payment status** and **Task status** of the task.

### Delete a task

Navigate to the Time Tracker **Logs** page, locate the running task, and from the ellipsis menu, select **Delete** and then from the popup modal, select **Yes, Proceed**.
Navigate to the Time Tracker **Logs** page, locate the running task, and from the ellipsis menu, select **Delete**, then confirm the deletion.

## Description of Payment statuses
## Payment Statuses

1. **Draft** - The bill has been created but not yet finalized or sent to the recipient. This status is used for bills that are still being worked on.
2. **Sent** - The bill has been finalized and sent to the recipient but has not yet been paid. This indicates that the bill is awaiting action from the recipient.
3. **Pending** - The payment for the bill is pending; this can indicate awaiting payment from the recipient or that the payment process has been initiated but not yet completed.
4. **Paid** - The bill has been fully paid. This status is used once the payment has been received and processed.
5. **Partially Paid** - Part of the bill's amount has been paid, but there is still an outstanding balance.
6. **Overdue** - The bill has not been paid by the due date. This status is used for bills that are past their payment deadline.
7. **Canceled** - The bill has been canceled and is no longer valid. This status can be used if the bill was issued in error or if the services/products were not delivered as expected.
8. **Disputed** - The recipient has disputed the bill. This status is used when there are disagreements about the bill's charges, services, or products provided.
9. **Refunded** - The bill has been paid, but the amount paid was later refunded to the payer. This status might be used in cases of overpayment or if the services/products were found unsatisfactory and a refund was agreed upon.
10. **Write-Off** - The bill is considered uncollectible and has been written off as a loss. This status is used for bills that have not been paid for an extended period, and the issuer has decided not to pursue collection further.
11. **Unbilled** \- The default status that will be applied to a task.
1. **Draft** - The bill has been created but not yet finalized or sent to the recipient. This status is used for bills that are still being worked on.
2. **Sent** - The bill has been finalized and sent to the recipient but has not yet been paid. This indicates that the bill is awaiting action from the recipient.
3. **Pending** - The payment for the bill is pending; this can indicate awaiting payment from the recipient or that the payment process has been initiated but not yet completed.
4. **Paid** - The bill has been fully paid. This status is used once the payment has been received and processed.
5. **Partially Paid** - Part of the bill's amount has been paid, but there is still an outstanding balance.
6. **Overdue** - The bill has not been paid by the due date. This status is used for bills that are past their payment deadline.
7. **Canceled** - The bill has been canceled and is no longer valid. This status can be used if the bill was issued in error or if the services/products were not delivered as expected.
8. **Disputed** - The recipient has disputed the bill. This status is used when there are disagreements about the bill's charges, services, or products provided.
9. **Refunded** - The bill has been paid, but the amount paid was later refunded to the payer. This status might be used in cases of overpayment or if the services/products were found unsatisfactory and a refund was agreed upon.
10. **Write-Off** - The bill is considered uncollectible and has been written off as a loss. This status is used for bills that have not been paid for an extended period, and the issuer has decided not to pursue collection further.
11. **Unbilled** - The default status that will be applied to a task.

## Widgets and table information

The extension provides widgets for both Site Overview and Client View pages, displaying tasks related to the selected site or client. ![Time Tracker widget](/images/add-ons/time-tracker-widget.webp) Manage Sites and Clients columns in the respective tables to show the number of **Completed** and **In Progress** tasks. ![Time tracker table column](/images/add-ons/time-tracker-table-column.webp)
The extension provides widgets on the individual site overview and client overview pages, displaying tasks related to the selected site or client. ![Time Tracker widget](/images/add-ons/time-tracker-widget.webp) It also adds a **Tasks** column to the Manage Sites and Manage Clients tables that shows in-progress and completed task counts. The in-progress count includes both paused and working tasks. ![Time tracker table column](/images/add-ons/time-tracker-table-column.webp)

## Time Tracker REST API

The Time Tracker extension supports REST API for integration with the MainWP Browser Extension, allowing for seamless time tracking and management across platforms. All MainWP REST API calls, including full documentation and examples, are now publicly available on [Postman](https://www.postman.com/mainwp/workspace/mainwp/overview). Please refer to our REST API document for more details on enabling REST API and managing Keys: [REST API Overview](/api-reference/rest-api/overview)
The Time Tracker extension supports REST API for integration with the MainWP Browser Extension, allowing for seamless time tracking and management across platforms. All MainWP REST API calls, including full documentation and examples, are now publicly available on [Postman](https://www.postman.com/mainwp/workspace/mainwp/overview). Version 1 registers routes under `wp-json/mainwp/v1/time-tracker/...` when the MainWP REST API is enabled. Version 2 registers routes under `wp-json/mainwp/v2/time-tracker/...` for tasks, settings, clients, sites, and buckets. For authentication and key management, see [REST API Overview](/api-reference/rest-api/overview).

---

Expand Down