# How projects and timesheets work

What a project and a task hold, the difference between a stage and a state, how a timesheet line feeds the time and the cost of a project, who sees what, and what the two apps do not do.

**Project** and **Timesheets** are two apps over the same records: Project organizes the work in projects and tasks, Timesheets records the time spent on them.

## A project {#project}

A project is a container with its own rules:

- a name, a **Project Manager**, a **Planned Date** range, **Tags**, and an **Allocated Time** for the whole project;
- a **Customer**, shown once **Billable** is ticked, because the customer is the one invoiced ([Quotations](/docs/quotations));
- the options of its **Settings** tab: **Visibility**, **Recurring Tasks**, **Task Dependencies**, **Milestones**, **Timesheets**, and an e-mail alias that turns incoming e-mails into tasks;
- an analytic account named after it, created when **Timesheets** is on: every line logged on the project lands there;
- its stages, its milestones, its updates, its followers and its portal collaborators.

The status a project shows, **On Track**, **At Risk**, **Off Track**, **On Hold** or **Complete**, comes from its latest update, and can also be set by hand from the coloured dot on the project's card: [Milestones and project updates](milestones-and-project-updates). A project can also be a **template**: **New** lists the templates, and a project created from one copies its tasks and stages and asks who takes each **Project Role** of its tasks. **Actions**, **Convert to Template** turns a project into a template.

## A task {#task}

A task is one piece of work of a project: a title, **Assignees**, **Tags**, a **Deadline**, an **Allocated Time**, a priority from none to three stars, a **Milestone** when the project uses them, a **Customer** when the project is billable, a description and a chatter. It can have **Sub-tasks**, be **Blocked By** other tasks, and repeat on a schedule: [Sub-tasks, dependencies and recurring tasks](sub-tasks-dependencies-and-recurring-tasks).

A task without a project is a private to-do of its owner. It belongs to the To-do app, takes no timesheet and is not described here.

## Stage and state {#stage-and-state}

The two are easy to confuse:

| | Stage | State |
|---|---|---|
| What it says | Where the task is in the project's flow | How the work on it is going |
| Values | The columns of the project, named freely | **In Progress**, **Changes Requested**, **Approved**, **Waiting**, **Done**, **Cancelled** |
| Who decides | Each project, a stage can be shared by several | Fixed; **Waiting** is set by itself while a blocking task is open |

**Done** and **Cancelled** close a task, whatever its stage: the board hides it, a recurring task creates its next occurrence, and a task waiting for it is released. A stage can send an e-mail or a rating request to the customer when a task reaches it ([Projects automations](projects-automations)). On top of the project's stages, each person sorts their own tasks in personal stages in **My Tasks**, which nobody else sees.

## A timesheet line {#timesheet-line}

A timesheet line holds a date, an employee, a project, a task, a description and a time. It is the same kind of record as the lines the accounting keeps on analytic accounts, which is why it lives in the project's analytic account. Three things follow:

- **Time.** The lines add up into the **Time Spent** of their task, then of its parent task and of the project. With an **Allocated Time**, the task shows its **Time Remaining** and a percentage of progress; past 100 %, the remaining time turns negative.
- **Cost.** Each line is valued at the **Hourly Cost** of its employee ([Employees](/docs/employees)), as a cost on the project's analytic account; the profitability of an invoiced project uses it.
- **Who.** A line needs an active employee of its company, by default the employee of the user who writes it. A user with **User: own timesheets only** writes and sees their own lines; **User: all timesheets** sees the lines of the projects they can see; an **Administrator** sees all.

Some lines are written for people: validated time off and public holidays, when the **Time Off** option is on ([Projects and timesheets settings](projects-settings)), and the time logged from legal cases and consultations ([Cases](/docs/law-cases)).

## Who sees what {#who-sees-what}

The project's **Visibility** decides who reaches it: only its invited employees, every employee, and in two of the four choices the portal users who follow it. Followers of a single task see that task even if the project is closed to them. The access rights come on top: a **User** of Project works on what is open to them, an **Administrator** sets projects up. [Share a project with a customer](share-a-project-with-a-customer) gives the details.

## What happens on its own {#automatic}

Assignees are notified, stages can e-mail the customer and ask for a rating, and a scheduled job sends the periodic rating requests: [Projects automations](projects-automations). WhatsApp messages: [WhatsApp in projects](/docs/whatsapp/whatsapp-in-projects). The **Project Analysis** dashboard of the **Analysis** app reads the same records: [Ready-made dashboards](/docs/analysis/ready-made-dashboards).

## What the apps do not do {#not-done}

- Timesheets have no approval step: a line counts once saved, and no reminder asks people to fill theirs.
- There is no timer on a task and no planning of people's hours; plan with **Allocated Time** and deadlines.
- Invoicing the time is done by the sales side, from the **Billable** option: [Quotations](/docs/quotations) and [Customer invoices](/docs/customer-invoices).
- A task that has timesheet lines cannot be deleted: delete its lines first, or archive the task.

---

- Source: https://jaah.app/docs/projects/how-projects-and-timesheets-work
- Updated: 2026-10-28
- Version: Projects and timesheets 19.0.1.4
