> **Before you begin:** The Timesheet module works as a field inside Form Builder, not as a separate menu item.
> The fastest way to start is to load the ready-made **Project Timesheet** template from
> **Settings → System Customize → Templates**. You can also add a **Timesheet** field to any of your own
> custom forms from the Form Builder field list. See [Getting Started](#getting-started) below for both options.
What Is the Timesheet Module?
The Timesheet module lets you track how many hours each team member works on a project, review and approve those hours, and turn them into payroll-ready reports. It combines four things in one place:
- A **personnel roster** — who is logged for this project, their hourly rate, and who manages them.
- A **self-service logging screen** — where each team member records their own work hours.
- An **approval workflow** — for hours logged outside the normal window, and for after-the-fact corrections.
- **Reports and dashboard widgets** — hours and cost broken down by employee and by role.

Real-World Example
Here is how a project team typically uses the Timesheet module:
- A project manager creates a **Project Timesheet** entry for a new project and builds the personnel roster: which employees are on the project, their hourly rate, and who their manager is.
- Each day, every team member opens **My Timesheets** and logs their start and end time for the work they did.
- If someone logs hours for a date far in the past or the future, that entry is automatically flagged **Pending Approval** and waits for a manager's decision.
- If someone notices a mistake in an entry after the fact, they submit a **correction request** instead of editing it directly — a manager reviews the proposed change before it takes effect.
- At the end of the pay period, the project manager opens **Reports** to see total hours and total cost per employee and per role, and exports the numbers to Excel for payroll.
Benefits
- **Accurate work-hour tracking** — every entry records who logged it and when.
- **Built-in approval control** — late or early submissions and after-the-fact corrections always go through a manager before they count.
- **Full accountability** — rejections show who rejected the entry, when, and why.
- **Flexible management hierarchy** — each employee can have multiple manager levels (direct manager, second-level manager, and so on); any of them can review that employee's requests.
- **Payroll-ready reporting** — hours and cost reports, grouped by currency, with charts, filters, printing, and Excel export.
- **Reusable rosters** — a personnel list can be duplicated or attached to more than one project at once.
Getting Started
There are two ways to start using the Timesheet module, depending on whether you want a ready-made project tracker or want to add timesheets to a form you already use.
Option A — Using the Ready-Made Project Timesheet Template
- Go to **Settings → System Customize**.
- In the **Templates** section, click the **Project Timesheet** button.
- Confirm by clicking **Yes** in the dialog that appears.
- A new **Project Timesheet** menu item is created, ready to use. Each entry you create there has a **Project Name**, an optional **Project Code**, a person you can link to the project, and a **Timesheet** field with all the tabs described in this guide.

Option B — Adding a Timesheet Field to an Existing Form
- Go to **Settings → System Customize** and open the form you want to add timesheets to.
- Add a new field and choose **Timesheet** as the field type.
- Save the field. The Timesheet tabs described in this guide will appear wherever that field is shown.

Permissions
Every Timesheet tab has its own permission, so you can give different people access to exactly the parts they need. Permissions are granted per form — if you have the Timesheet field on more than one form, each form's permissions are separate.
Granting Access
- Go to **Settings → Role Management**.
- Find the role you want to give access to and click **Edit Role Permissions**.
- Locate the Timesheet permissions for the form in question.
- Toggle on the permissions this role needs (see the table below).
- Click **Save**.

| Permission | What it allows |
|---|---|
| View Personnel Definition | View the personnel roster (read-only) |
| Edit Personnel Definition | Create/attach lists and add, edit, or remove personnel |
| View My Timesheets | Log and view your own work hours |
| Request timesheet corrections | Submit a correction request on your own past entries |
| Review timesheet correction requests | Approve or reject correction requests and out-of-window submissions |
| View Personnel Timesheets | View every managed employee's logged hours |
| Edit personnel timesheets | Edit managed employees' entries and approve/reject them |
| View Performance Reports | View the hours-based report |
| View Amount-Based Reports | View the cost-based report |
| View the Rejected & Pending Report | View the rejected/pending-approval summary report |
| Manage Timesheet Settings | Change the currency and approval policy |
| Act as manager for every employee's timesheets | Review, edit, and report on every employee on this form, even without a direct management relationship |
> **Note:** Tabs that require managing someone (Approvals, Personnel Timesheets, Reports) only appear for a user who actually manages at least one person on the roster — either as an assigned manager or through the "act as manager for every employee" permission above.
Timesheet Tabs Overview
The Timesheet field shows one or more of the following tabs, depending on your permissions:
| Tab | Purpose |
|---|---|
| **Personnel Definition** | Build the roster: who is on this project, their hourly rate, and their managers |
| **My Timesheets** | Log your own work hours and track their status |
| **Approvals** | Review correction requests and out-of-window submissions from people you manage |
| **Personnel Timesheets** | Browse and edit every managed employee's logged hours, grouped by status |
| **Reports** | Performance, Amount-Based, and Rejected & Pending reports |
| **Settings** | Currency and approval-policy configuration |
If you don't have access to any of these tabs, the field shows a message saying you don't have access to any Timesheet section.
Personnel Definition Tab
This tab manages the roster of people who can log hours against this project.
Attaching or Creating a Roster
The first time you open this tab, you are asked to attach a roster (called a **list**):
- Search existing lists by name, or
- Select one from the **Select an existing list...** dropdown and click **Attach**, or
- Type a name in **New list name...** and click **Create list**.
> A list can be attached to more than one project at once — editing personnel in one place updates every project that uses it.

Managing the Current List
Once a list is attached, you can:
- **Rename** the list.
- **Duplicate as new list** — creates a full copy of the roster (personnel, rates, and manager levels) under a new name, so you can start a similar project without rebuilding everything.
- **Change list** — detach the current list and attach or create a different one.
Adding Personnel
- Click **+ Add personnel**.
- Use the search box to pick the WordPress user.
- Enter their **Hourly Rate** (leave at 0 if this person's hours are not paid by the hour).
- Add one or more **Manager Levels** by clicking **+ Add manager level** and picking a manager for each level. Level 1 is the direct manager; you can add as many levels as needed. Any manager at any level can review that employee's correction requests and pending submissions.
- Click **Save** on the row.
To remove someone, click **Remove** on their row. If that person already has logged hours, they are hidden from the active roster but their historical entries and reports are kept intact.

My Timesheets Tab
This is where every team member logs and tracks their own hours.
Logging a New Entry
- Enter the **Start Date & Time** and **End Date & Time** for the work you did.
- Optionally add **Notes**.
- Click **Add Entry**.
The entry is saved immediately as **Normal** (already counted), unless it falls outside the allowed submission window set on the [Settings tab](#settings-tab) — in that case it is marked **Pending Approval** until a manager reviews it. The system also blocks an entry whose time range overlaps with one you already logged.

Viewing Your Previous Entries
Below the entry form, **My Previous Entries** lists every entry you have logged, with its hours, notes, who created it, and its current status. The **Total Hours** row at the bottom adds up every entry that has not been rejected. Click **Export Excel** to download the full list.
Understanding Status
Click a status badge that reads **Pending Approval**, **Rejected**, or **Correction Pending** to open a details window:
- **Pending Approval** — shows the entry you submitted, awaiting a manager's decision.
- **Rejected** — shows the reason your manager gave, who rejected it, and when.
- **Correction Pending** — shows the change you requested (new start/end/notes), your explanation, and how much the duration changes.

Editing an Entry Directly
If your administrator has set an edit grace period (see [Settings](#settings-tab)), you can click **Edit** on your own entry for a limited time after creating it, change the details, and click **Save** — no approval needed. Once that window closes, use a correction request instead.
Requesting a Correction
Once an entry is outside the self-edit window, click **Request Correction** on it:
- Adjust the **Start Date & Time**, **End Date & Time**, and **Notes** to what they should have been.
- Explain why the correction is needed in the **Explanation** field (required).
- Click **Submit**.
The entry now shows **Correction Pending** until any of your managers approves or rejects the change. Approving replaces the entry with your proposed values; rejecting leaves the original entry untouched.

Approvals Tab
Managers use this tab to review requests from the people they manage.
Correction Requests
Each card shows who is requesting the change, when, the **Current** values side by side with the **Requested** values, their explanation, and — if the new duration is meaningfully longer or shorter than the original — a warning highlighting the difference in hours and minutes.
- Optionally add a **Review note (optional)**.
- Click **Reject** to discard the request (the original entry is kept as-is), or **Approve** to apply the requested change.

Pending Submissions
Entries that were logged too far outside the allowed submission window appear here, together with a warning explaining exactly how late or how early the entry was submitted.
- Optionally add a rejection reason.
- Click **Reject** or **Approve**.
Approving marks the entry as counted (Normal); rejecting marks it Rejected and stores your reason so the employee can see it.

Personnel Timesheets Tab
This tab gives managers a full, searchable view of every employee they manage, grouped by status.
Searching
Use the search box to filter by employee name or entry notes.
Status Groups
Each employee's entries are grouped into four collapsible sections, each showing the section's total hours in its header:
| Section | Contents |
|---|---|
| **Approved Timesheets** | Normally counted entries |
| **Rejected Timesheets** | Entries a manager rejected, with the reason, who rejected it, and when |
| **Pending Approval Timesheets** | Entries awaiting a decision, with a submission-timing warning |
| **Pending Correction Approval Timesheets** | Open correction requests, with the current vs. requested values and a duration-difference warning |

Editing and Deciding from This Tab
With edit permission, you can:
- Click **Edit** on any entry (in any section) to change its start/end/notes directly.
- On a **rejected** entry, click **Approve** to reverse the rejection and count it.
- On a **pending approval** entry, click **Reject** or **Approve** directly.
- On a **pending correction** card, click **Edit** to adjust the proposed values before deciding, or **Reject**/**Approve** to decide as submitted.
Exporting
Use the export toolbar to download:
- **Export All (Consolidated)** — every employee, every status, in one file.
- **Export All Approved / Rejected / Pending / Pending Corrections** — one status across all employees.
- **Export Excel** on an individual employee's header — that employee's full breakdown.
Reports Tab
The Reports tab has up to three sub-tabs, depending on your permissions.
Performance Reports
Total hours broken down by personnel and by role, each with a bar chart. Use the **All personnel** / **All roles** filters to narrow the view, then **Print** or **Export Excel**.

Amount-Based Reports
Total cost (hours × hourly rate) broken down by personnel and by role. Amounts are grouped and labeled by currency, and never mixed across currencies in the same chart or total. Filters, printing, and Excel export work the same way as Performance Reports.

Rejected & Pending Report
For each employee: how many entries were rejected and how many hours that represents, and how many entries are still pending approval and how many hours those represent — with a comparison chart.

Settings Tab
Configure the roster's currency and approval rules from one place. These settings apply to the whole roster (list), not to individual employees.
| Setting | Description |
|---|---|
| **Currency** | The currency every hourly rate and cost report on this roster is paid and shown in. Defaults automatically based on your site's language, but can be changed to any supported currency. |
| **Self-edit grace period (minutes)** | How long after logging an entry an employee can edit it directly. Set to 0 to require a correction request for every change. |
| **Allowed days in the past** | How many days back an entry can be dated before it needs manager approval. -1 means unlimited. |
| **Allowed days in the future** | How many days ahead an entry can be dated before it needs manager approval. -1 means unlimited. |
Click **Save** after making changes.

Dashboard Widgets
Two widgets are available for your CRM dashboard so you can monitor a project's timesheet activity without opening the project itself.
Timesheet Summary Report
Shows total hours and total cost (per currency) for one project, plus an hours-by-role chart and table.
Timesheet Comparison Report
Compares hours or cost — whichever you choose — both by role and by personnel, for one project, side by side.
Adding a Widget
- Open the **CRM Dashboard** and click **Edit Dashboard**.
- Click **Add Widget** and find **Timesheet Summary Report** or **Timesheet Comparison Report**.
- Click the widget to add it, then drag it to your preferred position.
- Click the widget's **settings** icon to choose the project post type, then search for the project by name, code, or ID.
- For the Comparison widget, also choose whether to compare by **Hours** or **Cost**.
- Click **Done** to save your dashboard layout.
