← All Tips

How to Set Up Notion Time Tracking for Freelancers (Full System Guide)

Notion time tracking lets you log hours, connect them to clients and projects, and prep invoices — all inside the same workspace where you manage your work. Here's how to build the full system.

Published June 27, 2026

Notion time tracking lets you log hours, connect them directly to clients and projects, and prep invoices — all inside the same workspace where you manage your work. If you bill by the hour or just want to understand where your time actually goes, building a time tracking system in Notion is one of the highest-leverage setups a solo freelancer can make.

Why Track Time in Notion?

Most standalone time trackers do one thing: log start/stop. You still have to copy data into a spreadsheet, look up your hourly rate, calculate the billed amount, and manually match hours to the right project.

Notion eliminates that friction because your time logs live in the same database system as your clients, projects, and deliverables. When you log an hour, it's already connected to the right client and project — no copy-paste, no re-entry, no mental overhead.

The result: a fully linked freelance operating system where an hour logged against "Website Redesign / Acme Corp" automatically rolls up to the right client's total hours, calculates their billed amount, and updates the project's hours-to-budget status in real time.


The Three Core Databases

Time Log Database

Create a full-page database called Time Log. These are the properties:

| Property | Type | Notes | |---|---|---| | Task Description | Title | What you actually worked on | | Date | Date | Day you worked | | Client | Relation | Links to Clients database | | Project | Relation | Links to Projects database | | Start Time | Date | Include time, not just date | | End Time | Date | Include time, not just date | | Duration | Formula | See below |

The Duration formula calculates hours automatically:

round(dateBetween(prop("End Time"), prop("Start Time"), "minutes") / 60 * 100) / 100

This gives you hours rounded to 2 decimal places (e.g., 1.75 hours for 1 hour 45 minutes). You never have to do mental math again — log start and end, and the hours appear instantly.

Client Database

Create a Clients database with these properties:

| Property | Type | Notes | |---|---|---| | Name | Title | Client or company name | | Hourly Rate | Number (Currency) | Your rate for this client | | Status | Select | Active, Paused, Completed | | Time Log | Relation | Linked to Time Log database | | Total Hours | Rollup | Sum of Duration from Time Log | | Total Billed | Formula | See below |

The Total Billed formula multiplies your rollup total by your rate:

prop("Total Hours") * prop("Hourly Rate")

Every time you add a new Time Log entry linked to this client, Total Hours updates automatically and Total Billed recalculates. Your running invoice total is always current.

Project Database

Create a Projects database with these properties:

| Property | Type | Notes | |---|---|---| | Project Name | Title | | | Client | Relation | Links to Clients database | | Status | Select | Active, On Hold, Completed | | Due Date | Date | | | Budget Hours | Number | Estimated hours for the project | | Time Log | Relation | Linked to Time Log database | | Hours Logged | Rollup | Sum of Duration from Time Log | | Hours Remaining | Formula | prop("Budget Hours") - prop("Hours Logged") |

The Hours Remaining formula tells you at a glance whether you're tracking under or over budget for each project. Negative values mean you've already exceeded the estimate — which is exactly when you need to have a scope conversation with your client.


Get a Head Start with a Free Resource

Before you build from scratch, grab our free Notion starter template — it covers the core setup so you can skip straight to customizing.

Download the free template →


Key Views to Set Up

"This Week" Filtered View

In your Time Log database, create a filtered Table view called This Week:

  • Filter: Dateis withinthe current week
  • Group by: Client
  • Sort by: Date ascending

This view becomes your daily working view — you open Notion, click "This Week," and see exactly what you've worked on for each client this week and how many hours it adds up to.

Invoice Prep View

Create a second filtered view called Invoice Prep:

  • Filter: Clientis → [select client]
  • Filter: Dateis within → [set date range manually for the billing period]
  • Show properties: Date, Task Description, Duration, Client

When it's time to bill a client, switch to this view, set the date range to your billing period, and you have a clean line-item list ready to drop into an invoice. No hunting through old entries, no manual calculation — the Duration column already shows hours in decimal format.

Timeline View on Projects

Switch to a Timeline view on your Projects database, using Due Date as the timeline property. This gives you a visual workload calendar — you can see at a glance which projects are due when, whether you have too much stacking up in one week, and where you have breathing room to take on new work.

Add Status as a color group in the timeline so Active projects appear in green and On Hold projects appear in gray — making it easy to distinguish live work from parked projects.


Why This Beats Standalone Time Tracking Apps

Standalone notion time tracker alternatives do the logging part fine. What they can't do is connect your hours to the rest of your freelance operation.

With the Notion system above:

  • A logged hour is automatically connected to the right client's billing total
  • A completed project shows its actual hours vs. budget hours in one row
  • Your invoice prep view pulls from the same data as your project tracker
  • You can filter any view by client, project, date, or status without exporting anything

For a solo freelancer, this means your entire client relationship — the project scope, the hours logged, the money owed — lives in one workspace. You're not context-switching between a time tracker, a spreadsheet, and a project tool. Everything updates together.


Practical Tips for Daily Use

  1. Log in real time when possible. Open a new Time Log entry at the start of a work block, fill in Task Description and Client/Project, and record Start Time. When you finish, add End Time — Duration calculates automatically.
  2. Use Notion's quick capture. Keep your Time Log database bookmarked or as a sidebar favorite so logging takes fewer than 10 seconds.
  3. Review the "This Week" view every Friday. Compare Hours Logged to your target work hours for the week. If you're running light on billable hours, you know before the week ends — not after.
  4. Check Hours Remaining on active projects weekly. If a project is trending over budget, surface it with the client before you hit the cap, not after.

Ready to Track Time Like a Pro?

Skip the setup and start with a system that's already built and linked. Browse our freelancer templates at NotionCraft /products — including the Freelancer Client Tracker with Time Log, Client database, Project tracker, and invoice prep view included for $22.

Free Resource

Not ready to buy? Grab our free Notion Quick-Start Template

A no-fluff starter workspace to get organized in 30 minutes. Free, no credit card required.

Skip the Setup: Freelancer Client Tracker

The Freelancer Client Tracker ($22) includes the Time Log, Client database, Project tracker, and invoice prep — all linked up and ready to duplicate into your Notion workspace.