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-startandfilter-endfrontmatter 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
| Field | Location | Purpose |
|---|---|---|
time | Inline field on list item | Hours spent on the task (decimal) |
client | Inline field on list item | Client for that specific task |
default-client | Daily note frontmatter | Fallback client for all items without an explicit client field |
date | Daily note frontmatter | Used for date filtering and grouping |