Time Tracker — User Guide
Everything this extension does, in plain language.
Contents
- What Time Tracker does
- Key words you'll see
- First-time setup checklist (admins)
- The Time Tracker panel (day-to-day use)
- Logging time with the timer
- Logging time manually
- Reading your logs
- Settings
- Reports
- Sync New User
- Field reference
- Messages you might see
- Troubleshooting
- Things it deliberately does not do
1. What Time Tracker does
Time Tracker lets your team record how long they spend on CRM records — Deals, Leads, Contacts and Accounts — and turns that into hours and money.
There are four places you'll meet it:
| Where | What it's for |
|---|---|
| Time Tracker panel on a Deal/Lead/Contact/Account | Start and stop timers, log time manually, see that record's history |
| Time Tracker Reports tab (left nav) | Org-wide totals, charts, tables and CSV export |
| Settings (inside the extension) | Turn modules on/off, manage tasks, control who sees reports |
| Sync New User button on the Time Loggers list | Create Time Logger records for your CRM users |
Everything is stored in three CRM modules the extension creates for you:
Time_Logs, Time_Loggers and Time_Tracker_Tasks. You don't normally
open these directly — the widgets manage them — but they're ordinary CRM
records, so you can view, report on and back them up like anything else.
2. Key words you'll see
Time Logger
A person who can have time logged against them. Each one is a record in
the Time_Loggers module. A Time Logger is not the same thing as a CRM
user — that distinction matters, see below.
Org user vs external Some Time Loggers are your own staff (they have a CRM login); others are contractors or freelancers who don't. A checkbox called Is Org User marks the internal ones. In every person dropdown you'll see them grouped:
Organization users
Alice Brown (org)
Bob Diaz (org)
External
Ext Contractor One
The (org) tag is there because a dropdown only shows the selected
name once it's closed, where the group heading is no longer visible.
Why this matters: one CRM user can own several Time Logger records — their own plus any external people they set up. Without the Is Org User tick, the system can't tell which record is actually them, which can mis-assign the default person and mis-scope their reports. Keep it ticked on staff records and unticked on external ones.
Task
What the time was spent doing ("Client call", "Proposal writing"). Tasks
live in Time_Tracker_Tasks and each one is tagged with the modules it
applies to, so a Deal-only task won't clutter the Leads dropdown.
Billable / Non-billable A tick on each time entry. Billable entries are multiplied by the hourly rate to produce an amount; non-billable ones count toward hours but earn nothing.
Hourly rate snapshot When you start a timer or save a manual entry, the person's hourly rate is copied onto that entry and frozen there. If their rate changes next quarter, old entries keep billing at the rate that applied when the work was done. This is deliberate — it's what stops a rate change from silently rewriting your billing history.
Timer status - Running — the clock is ticking. - Paused — time is banked, clock stopped. - Completed — finished and saved. Completed entries are what reports count.
3. First-time setup checklist (admins)
Do these once, in order. (Technical detail for each step is in SETUP.md.)
- Create the Time Loggers. Open the Time Loggers module list view and click Sync New User. This creates one record per active CRM user, owned by that user, with Is Org User ticked. See section 10.
- Set hourly rates. Sync deliberately leaves
Hourly Rateblank — a default of 0 would bill people's time at nothing while looking configured. Open each Time Logger record and enter a real rate. - Add any external people by hand in the Time Loggers module (contractors with no CRM login). Leave Is Org User unticked on those.
- Enable the modules you want, in Settings → Modules. Only
Dealsis on by default. - Create some tasks, in Settings → Tasks, ticking which modules each applies to.
- Grant report access, in Settings → Report access. Until you tick at least one person, nobody can see the org-wide report — every user only sees their own time. This is intentional (it fails closed).
- Press Save settings. Steps 4 and 6 only persist when you do; step 5 saves immediately by itself.
4. The Time Tracker panel (day-to-day use)
Open any Deal (or enabled Lead/Contact/Account). The panel replaces the plain "Time Logs" related list.
Top to bottom:
- Header — the Time Tracker name, and on the right your own initials and name, so you can see which CRM user you're acting as.
- Context bar — the record you're on, e.g. Acme Deal.
- Three totals: | Tile | What it counts | |---|---| | This record | All completed time on this record, by everyone | | Today | Completed time you logged today, across every module | | This week | Same as Today, for the current week (Monday–Sunday) |
A note on "you": Today and This week are scoped by who created the entry (the record's Owner), not by who was picked in "Logged By". If you log time on someone else's behalf, it counts toward your Today/Week totals but is credited to them in reports.
- Start row — the task dropdown and the Start button.
- Logged By — who the time belongs to, plus the Billable tick.
- Active timers — any running or paused timers on this record.
- Tabs — Logs, My today, My week, and Manual entry.
5. Logging time with the timer
Starting
- Pick a task from the dropdown. (Required — you'll get "Select a task first" without it.)
- Check Logged By is the right person. It defaults to you if your CRM user is linked to a Time Logger record. (Required.)
- Tick or untick Billable (ticked by default).
- Click Start.
The timer appears below with a green RUNNING chip and a clock that counts up every second.
Pausing and resuming
- Pause banks the elapsed time and stops the clock. The chip turns amber and reads PAUSED.
- Resume starts it again from where it stopped.
You can pause and resume as many times as you like — the total accumulates across all the segments.
Ending
Click End. A dialog appears:
- Description — what you worked on (optional, but useful; it appears in the logs and the report's All-activities table).
- Logged by — shown read-only. It was chosen at Start and can't change here, so you're never asked for it twice.
- Billable — pre-filled from the timer; you can still change it, since whether work turned out billable is often an end-of-job decision.
Click Log time. The entry becomes Completed and appears in the Logs tab and in reports.
Multiple timers are allowed. You can have several running or paused timers on the same record at once — they're listed separately, each with its own controls.
6. Logging time manually
Use this for work you forgot to time, or time from another day.
- Open the Manual entry tab.
- Fill in: - Date — defaults to today. - Hours and Minutes — at least one must be more than zero, otherwise you'll get "Duration must be greater than zero". - Description — optional. - Task — optional here (unlike the timer, which requires one). - Logged By — required. - Billable — ticked by default.
- Click Log entry.
The entry is saved as Completed immediately — there's no timer involved.
7. Reading your logs
The panel has four tabs:
| Tab | Shows |
|---|---|
| Logs | Completed entries on this record, by everyone |
| My today | Your completed entries today, across all modules |
| My week | Your completed entries this week, across all modules |
| Manual entry | The manual-entry form (section 6) |
Filter by narrows any of the log lists to a single person.
At the top of the list you get Total hours and Billable amount for whatever is currently shown (filters included).
Each row shows the date, an entry-type badge (Timer or Manual), the description, the record name (on the cross-module tabs), the task, who logged it, and either the billable amount with the rate used, or a Non-billable badge. The duration sits on the right.
8. Settings
Three tabs, one Save settings button at the bottom right.
Important: Save applies to Modules and Report access only. Tasks save immediately as you add or deactivate them — the Save button doesn't apply to them. Cancel discards unsaved Modules and Report-access changes by reloading what's actually stored; it does not undo task changes.
Modules
A card per supported module (Deal, Lead, Contact, Account) with a toggle.
Turning a module off hides the tracker on those records — users see "Time Tracker is not enabled for this module" instead. It does not delete any existing time logs, and it doesn't unregister the widget.
Only Deals is enabled out of the box.
Tasks
- Existing tasks appear as pills showing which modules they apply to.
- The × on a pill deactivates the task (after a confirmation). It does not delete it: existing time entries keep their task, it just stops appearing as a choice going forward.
- To add one: tick the modules it applies to, type the name, click Add task. Both are required — a task with no modules would be invisible everywhere, so that's blocked.
Report access
Controls who sees the org-wide Reports tab.
- Everyone ticked here sees all users' time.
- Everyone else sees only their own time, with an explanatory banner.
- Hovering a name shows that person's email; the list is searchable by either name or email.
- If nobody is ticked, nobody gets the org-wide view. That's deliberate — it fails closed rather than exposing everyone's data by default.
9. Reports
Open Time Tracker Reports from the CRM's left nav.
Filters
| Filter | Notes |
|---|---|
| Period | Today, This week, This month (default), This quarter, This year, or Custom range |
| From / To | Set automatically by Period; editing either switches Period to "Custom range" |
| User | A single Time Logger (hidden if you don't have org-wide access) |
| Module | Deals / Leads / Contacts / Accounts |
| Task | Built from the tasks actually present in the loaded data |
Press Apply Filters after changing dates. User/Module/Task apply instantly without a reload.
What's on the page
- Four tiles — Total time, Total earnings, Projects (how many distinct records had time logged), Users (how many distinct people logged time).
- Overview — a bar per person showing their hours, with a line showing their earnings. Hours and money are different units, so they use separate scales on the left and right.
- Billable amount by project — a donut of earnings per record (top 7, with the rest grouped as "Other").
- Hours by task and Top 5 tasks by time spent — ranked bars.
- Billable status — one bar showing the billable percentage, with the billable and non-billable totals beneath.
- Top projects / Top tasks / Top users / Top modules — compact tables with hours and amount. "Projects" are individual records (e.g. Acme Deal); "Modules" are the module types (Deals, Leads…).
- All activities — the full detail list behind everything above.
Export
The Export button downloads the currently-filtered rows as a CSV named
time-tracker-report_<from>_to_<to>.csv, containing Date, User, Project,
Module, Task, Billable, Duration and Amount. It's generated in your
browser — nothing is sent anywhere.
Two limits worth knowing
- 2,000 entries per run. If your date range holds more, the report says so in a banner rather than quietly showing a partial total. Narrow the range.
- Zoho's own sharing rules still apply. The report can only ever show records your CRM profile lets you read, so on tightly-shared orgs a non-admin's totals may be lower than the true org-wide figure.
10. Sync New User
Found as a Sync New User button on the Time Loggers module's list view. It creates a Time Logger record for any CRM user who doesn't have one, owned by that user, with Is Org User ticked.
When you open it, it checks and shows three numbers: active CRM users, existing time loggers, and how many are missing — plus the list of exactly who it would create.
- Nothing missing? It says so and the create button stays disabled. Running it again is harmless.
- Someone missing? Review the list and click Create N records.
It doesn't write anything until you click — creating CRM records is tedious to undo by hand, so you see what will happen first.
Deactivated CRM users are skipped, and deactivated Time Loggers count as existing (so someone you deliberately deactivated isn't recreated on every sync).
The "already owns a record" warning
If a user is listed with an amber already owns a record badge, they have a Time Logger record that isn't ticked Is Org User — most likely created before that checkbox existed.
Don't create a new one. Open their existing record and tick Is Org User instead. Creating would leave that person with two records.
11. Field reference
Fields you'll actually see and edit.
Time Loggers
| Field | Meaning |
|---|---|
| Name | The person's display name, shown in every dropdown |
| Is Org User | Tick for internal CRM users; leave clear for external people |
| Hourly Rate | Used to calculate billable amounts. Blank behaves as 0 |
| Active | Untick to retire someone. They stop appearing as a choice; their history is kept |
| Owner | The CRM user this record represents (set automatically by Sync) |
Time Tracker Tasks
| Field | Meaning |
|---|---|
| Name | The task name shown in dropdowns |
| Modules | Which modules this task appears on |
| Active | Untick to retire a task without touching past entries |
Time Logs (created for you)
| Field | Meaning |
|---|---|
| Log Date | The day the work is credited to |
| Duration | Final length, in seconds, once completed |
| Status | Running, Paused or Completed |
| Entry Type | Timer or Manual |
| Description | Free text |
| Task | Link to a Time Tracker Task |
| Logged By | Link to the Time Logger the time belongs to |
| Billable | Whether it earns money |
| Hourly Rate snapshot | The rate frozen at the moment it was logged |
| Billable Amount | Duration × rate, when billable |
12. Messages you might see
| Message | What it means |
|---|---|
| "Select a task first" | The timer needs a task. Manual entry doesn't |
| "Select who is logging this time" | Pick someone in Logged By |
| "Duration must be greater than zero" | Manual entry needs some hours or minutes |
| "Timer started" / "Paused" / "Resumed" / "Logged to CRM" | Normal confirmations |
| "Manual entry saved" | Your manual entry was created |
| "Time Tracker is not enabled for this module" | Ask an admin to enable it in Settings → Modules |
| "Time Tracker doesn't support this module yet" | You're on a module outside Deals/Leads/Contacts/Accounts |
| "Personal view — showing only time you logged yourself" | You don't have org-wide report access |
| "Personal view — your CRM user isn't linked to a Time_Loggers record" | Nobody has run Sync New User for you, or your record isn't ticked Is Org User |
| "Pick both a From and To date" / "From date must be before To date" | Fix the report's date range |
| "Nothing to export for this range" | No rows match the current filters |
| "Check at least one module for this task" / "Enter a task name" | Both are required when adding a task |
| "Settings saved" / "Unsaved changes discarded" | Save and Cancel confirmations |
13. Troubleshooting
The task dropdown is empty, or Start won't work. Tasks only appear on the modules they're tagged for. A task tagged "Deals" won't show on a Lead. Add or re-tag a task in Settings → Tasks.
The person dropdown is empty. No Time Logger records exist yet, or they're all deactivated. Run Sync New User (section 10).
Billable amount shows $0.00. The person's Hourly Rate is blank or 0. Sync leaves it blank on purpose — set it on their Time Logger record. Note that fixing the rate only affects new entries; past ones keep the rate frozen at the time they were logged.
"Logged By" defaults to the wrong person. The CRM user probably owns more than one Time Logger record. Make sure Is Org User is ticked on their own record and unticked on the external ones.
Reports only shows my own time. You're not in Settings → Report access. Ask an admin to tick you.
Reports is empty for a period I know has time. Only Completed entries count — running and paused timers don't appear. Also check the date range and that filters aren't excluding rows.
The charts look like plain bars instead of proper graphs.
The charting library is loaded from an external CDN, which your CRM's
security policy may block. The page falls back to simple bars so nothing
breaks. An admin can allow cdn.jsdelivr.net in the widget's
external-domain list (SETUP.md § 1i).
Report totals look lower than expected. Either the 2,000-entry cap (a banner will say so — narrow the dates), or Zoho's record-sharing rules hiding records your profile can't read.
14. Things it deliberately does not do
Being upfront so these don't come as a surprise:
- You can't edit or delete a saved time entry from the widget. There's
no Edit/Delete button. You can still open the
Time_Logsrecord in the CRM and change it there. - No file attachments on time entries.
- Only Deals, Leads, Contacts and Accounts are supported. Adding a fifth module is a code + Developer Console change, not a setting.
- Reports never edit anything — it's read-only.
- Timers don't run server-side. They're calculated from start/pause timestamps stored on the record, so closing the tab or logging out doesn't lose time — but nothing stops a timer automatically either. A timer left running overnight keeps accumulating.