Get AI summaries of any video or article — Sign up free
Build a Time Sheet Template in Notion | Full Step-by-Step Tutorial thumbnail

Build a Time Sheet Template in Notion | Full Step-by-Step Tutorial

4 min read

Based on The Organized Notebook's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Create an inline Notion database for timesheet entries with task, start time, and end time properties.

Briefing

A Notion timesheet can be built into a mostly one-click workflow by combining inline databases with button automations that stamp start and end times, then calculating billable hours from those timestamps. The setup starts with a clean Notion page titled “timesheet template,” optionally dressed with an icon and a cover image, then switches to an inline database named “timesheet.” Inside that database, each entry represents a task (example: “answering client questions”) and includes start time and end time properties.

The key productivity upgrade is automation via two button properties. A “start” button triggers an automation that edits the “start time” field to the exact moment the button is clicked. An “end” button does the same for the “end time” field. This removes manual typing and makes time tracking fast enough to use consistently. A third button—“start new time tracking”—creates a new task page in the same database and pre-fills the start time using the click timestamp, so users can begin tracking immediately without creating entries by hand. To keep the most recent work visible, the database view is sorted by start time in descending order.

Once timestamps are captured, the hours calculation is handled with a formula property called “hours.” The method uses Notion’s date-between logic to measure the time between end time and start time, then converts minutes into fractional hours by dividing by 60. The transcript highlights a practical reason for this approach: relying on date-between alone can round in ways that distort results, while the minutes-to-hours conversion preserves accuracy (for example, 4:30 p.m. to a 3:00 p.m. start yields 1.5 hours). To support totals across multiple tasks, a “calculate” aggregation is added using a sum, producing a running total of tracked hours for the current view.

The template also scales beyond a single daily log. Entries can be grouped by a “select” tag (such as “building” vs. “admin work”) and then aggregated with summed hours, making it easy to compare time allocation by category. For longer-term reporting, tasks can be duplicated into separate databases (e.g., “monthly report”) and grouped by month using the start date, producing a month-by-month breakdown.

For teams or billing workflows, the transcript points to a pre-made Notion timesheet template available on the store, featuring in-progress task views, monthly overviews, and a “view all” of entries. That version also includes built-in billable hour logic based on billable vs. non-billable tagging, plus reporting by person—showing who spent how much time on each task and category. Overall, the core takeaway is that Notion’s database + automation + formula tools can turn time tracking into a structured system with accurate hour math and flexible reporting dimensions (by task, category, month, and person).

Cornell Notes

The timesheet template is built around an inline Notion database where each row is a task with start time and end time fields. Two button automations stamp those fields with the exact click time, and a third button creates a new task entry while pre-filling the start time. A formula property calculates “hours” by taking the time between end and start, converting minutes to hours by dividing by 60 to avoid rounding issues. Aggregations (sum) let totals update across multiple tasks. The same structure can be expanded with tags for grouping (e.g., building vs. admin) and month-based grouping using the start date for reporting.

How do the start and end buttons make time tracking faster in Notion?

The template adds button properties labeled “start” and “end.” Each button uses Notion automation to edit a specific property: clicking “start” sets the “start time” field to the time triggered (the moment of the click), and clicking “end” sets the “end time” field similarly. This eliminates manual entry of timestamps and ensures consistent start/end capture.

Why does the hours formula convert minutes to hours instead of relying on date-between alone?

The hours calculation uses date-between on end time and start time, then focuses on minutes and divides by 60 to get fractional hours. The transcript notes that using date-between directly can round up the result, which can distort time totals. Converting minutes to hours preserves accuracy—for example, a 3:00 p.m. start and a 4:30 p.m. end yields 1.5 hours.

What does the “sum” calculation add to the template’s usefulness?

Beyond calculating hours per task, the template adds an aggregation that sums the “hours” property across entries in the current view. This makes it practical for daily logs or multi-task tracking, where multiple tasks contribute to a total. When the end button is clicked for another task, the summed total updates accordingly.

How can the template show time allocation by category (like building vs. admin work)?

A “select” property can be added with values such as “building” and “admin work.” Then the view can group by that select field, and aggregation can be set to show the sum of hours per group. The result is a breakdown of total time spent in each category.

How does month-based reporting work in this setup?

By duplicating the database (e.g., creating a “monthly report”) and grouping entries by date, the view can be set to group by month using the start date. Sorting newest first shows recent months at the top, and entries from different months appear under their respective month headings.

Review Questions

  1. What exact properties and automations are required to stamp start time and end time when buttons are clicked?
  2. Write the logic behind the hours formula: what is measured and how is it converted into hours?
  3. How would you modify the template to report total time by client instead of by category?

Key Points

  1. 1

    Create an inline Notion database for timesheet entries with task, start time, and end time properties.

  2. 2

    Use button automations so clicking “start” stamps the start time and clicking “end” stamps the end time automatically.

  3. 3

    Add a “start new time tracking” button that creates a new task page and pre-fills start time using the click timestamp.

  4. 4

    Calculate hours with a formula that converts the date-between minutes into hours by dividing by 60 to avoid rounding issues.

  5. 5

    Use sum aggregation on the hours property to maintain running totals across multiple tasks.

  6. 6

    Expand reporting by adding select tags and grouping views to sum hours by category.

  7. 7

    Duplicate and group by month using the start date to produce monthly overviews.

Highlights

Two button automations can eliminate manual timestamp entry by stamping “start time” and “end time” at the moment of each click.
Accurate hour math comes from converting minutes to hours (minutes ÷ 60) rather than trusting date-between’s default rounding behavior.
Grouping by a select tag plus summing hours turns the same database into a category allocation dashboard.
Grouping by month using the start date enables month-by-month reporting without rebuilding the workflow.

Topics

  • Notion Timesheet
  • Button Automation
  • Time Tracking
  • Hours Formula
  • Monthly Reporting

Mentioned

  • i10x