> ## Documentation Index
> Fetch the complete documentation index at: https://assembly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Billable time tracker

> Log billable and non-billable hours against clients and companies, roll them up by client, and export a CSV for invoicing.

> [!NOTE]
>
> **Template.** You can change anything about this app by describing it in its build chat. See [App templates](https://assembly.com/docs/building-new-apps/app-templates.md).

Log the hours your team spends on each client, mark them billable or non-billable, and group them by category. Admins see everyone's time, roll it up by client for any date range, and export it as a CSV ready for invoicing. This app is for your team only. Clients never see it.

**Category:** Trackers · **Used by:** your team · **Works with:** CRM

## Features

* Time entries logged against a client or a company, with a **Date**, **Hours**, **Category**, a **Billable** switch, and optional **Notes**
* A timer you can start and stop, which saves an entry with the time it ran
* Views for **All entries**, **My entries**, **Billable only**, and **Non-billable**, plus a count for each category
* A summary strip with **Total hours**, **Billable** hours, and **This week** compared with last week
* Search, a date range filter, and sortable columns
* An **Activity** history on every entry showing who created or changed it and what changed
* A **Reports** tab for admins that totals billable and non-billable hours by client or company, with a category breakdown
* **Export CSV** with client, date, team member, category, hours, billable status, and notes
* Categories you can add, rename, recolor, and archive. Six come ready: Consulting, Development, Meeting, Research, Administrative, and Other.
* Archive for entries you want out of the way without deleting them

## How to use it

### For your team

> [accordion] Log time
>
> 1. Open the app and click **New time entry**.
> 2. Under **Client / Company**, choose who the time was for.
> 3. Pick a **Date**, enter the **Hours**, and choose a **Category**.
> 4. Leave **Billable** on, or turn it off for non-billable time.
> 5. Optionally add **Notes**, then click **Add time entry**.

> [accordion] Use the timer
>
> 1. Click **Start timer**.
> 2. Choose the client, a **Category**, whether it's **Billable**, and optionally what you're working on.
> 3. Click **Start timer**. A bar at the top shows the client, category, and running time.
> 4. Click **Stop** when you're done. The app saves an entry for today with the time the timer ran.
>
> The timer runs in your browser, so stop it on the same device you started it on.

> [accordion] Find and review entries
>
> Use the views on the left to switch between **All entries**, **My entries**, **Billable only**, and **Non-billable**, or click a category to filter by it. Search by client or notes, and pick a **Date range**. The summary strip and the table footer total the hours you're looking at.

> [accordion] Edit an entry
>
> 1. Click an entry to open it.
> 2. Change the **Date**, **Hours**, **Category**, **Billable**, or **Notes**. The client can't be changed. To move time to another client, delete the entry and log a new one.
> 3. Click **Save changes**.
>
> The **Activity** section shows every change, who made it, and when.

> [accordion] Archive or delete entries
>
> From an entry's row menu, choose **Archive** to hide it from the active view, or **Delete** to remove it permanently. Deleting can't be undone. To see archived entries, an admin opens **Settings** and turns on **Show archived entries**, then uses the row menu to **Restore** them. Archived entries can't be edited and aren't counted in reports or exports.

> [accordion] Run a report and export it (admins)
>
> 1. Open the **Reports** tab. It starts on the current month.
> 2. Change the **Date range**, and optionally filter to one client or company.
> 3. Review the billable, non-billable, and total hours for each client or company, with its category breakdown.
> 4. Click **Export CSV** to download the entries behind the report. The export uses the same client and date range filters.

> [accordion] Manage categories (admins)
>
> Click **Settings**, then under **Categories** add, rename, or recolor a category, or archive one you no longer use. Archived categories are under **Archived** and can be restored. Past entries keep their category either way. Category names must be unique.

Admins see and can edit everyone's entries, and have the **Reports** tab and **Settings**. Other team members see only the entries they logged, and can edit or delete only those. If your workspace limits a team member to certain clients, they can only log and see time for those clients.

When you open the app from a company in your CRM, it shows only that company's time, and new entries are logged against it.

## Set it up

**1. Add the template**

Click **Add App** in the Dashboard sidebar. Find **Billable time tracker** under **Start from a template**, or scroll down to **Browse all apps** and pick the **Trackers** filter.

**2. Try it as your team**

The app lands in your sidebar as a draft. Log a test entry against your test client, start and stop the timer, then check the **Reports** tab.

**3. Publish it**

Publish the app so your team can use it. Clients never see it. See [Launching apps](https://assembly.com/docs/building-new-apps/launching-apps.md).

## Change it with the app builder

This app is a template, so you can change anything about it by describing what you want.

**1. Open the build chat**

Open **Billable time tracker** from your Dashboard sidebar, click its name at the top, then click **Switch to builder**.

**2. Describe the change**

Write what you want the way you'd ask a teammate. Say who it's for and where it shows up, such as the entries list or the **Reports** tab.

**3. Check the preview**

The app builder makes the change and updates the preview. Check it in **Team view**, as an admin and as a team member.

**4. Publish**

Click **Publish** when you're happy. Until you do, your team keeps seeing the last published version.

Changes people often make to this template:

* "Add a weekly summary of hours for each client"
* "Add an hourly rate for each team member and show billable amounts in the report and the CSV"
* "Add a Project field to each entry and group the report by project"
* "Let team members see the Reports tab for their own time"
* "Show clients a read-only summary of the hours logged for them"
* "Add a Team member filter to the Reports tab"

See [Iterating on apps](https://assembly.com/docs/building-new-apps/iterating-on-apps.md) for how to describe changes well and how to go back to an earlier version.

To rename the app, or change who can see it and how it notifies people, click its name at the top and choose **Rename app** or **Manage app**.

## Related

> [card] [Client project tracker](https://assembly.com/docs/apps/client-project-tracker.md)
>
> Track projects, milestones, and progress for each client

> [card] [Client engagement dashboard](https://assembly.com/docs/apps/client-engagement-dashboard.md)
>
> See which clients are engaged and which need attention

[View this template on assembly.com](https://assembly.com/templates/time-tracker)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.