Time is tracked in Obsidian using Dataview inline fields on daily note task items, with a dashboard that aggregates the data across configurable views.

How it works

Each task item in a daily note’s Tasks > Today section carries a time inline field recording hours spent:

- [ ] [time:: 2] Write roadmap

A client inline field can be added per item to assign it to a specific client:

- [ ] [client:: Abc] [time:: 1.5] Review contract

If no client field is set on an item, the daily note’s default-client frontmatter property is used instead. This avoids repetition on days spent entirely on one client. The task description (with inline fields stripped) becomes the “work” label in reports.

The Tasks > Time Tracking section in each daily note shows a running total of all time fields on the page, calculated with a Dataview.js block:

```dataviewjs
let total = 0;
for (let item of dv.current().file.lists) {
    if (item.time) total += Number(item.time);
}
dv.paragraph(`**${total.toFixed(2)} hours**`);
```

Dashboard

A time tracking dashboard renders several Dataview.js blocks that query all pages in the Daily Notes folder:

  • Custom Range - filters by filter-start and filter-end frontmatter properties (yyyy-MM-dd format). Shows a “By Client” table with totals and a “By Client / Task” breakdown.
  • Client Totals - all-time hours grouped by client.
  • Client / Task Breakdown - all-time hours grouped by client and task description.
  • This Week - hours for the current week by client, plus a daily breakdown grid (Mon-Sun) showing hours per client per day.
  • This Month - same structure as Custom Range, but automatically scoped to the current calendar month.
  • Monthly History - all entries grouped by yyyy-MM | Client, sorted chronologically.

Data model

FieldLocationPurpose
timeInline field on list itemHours spent on the task (decimal)
clientInline field on list itemClient for that specific task
default-clientDaily note frontmatterFallback client for all items without an explicit client field
dateDaily note frontmatterUsed for date filtering and grouping