Tracking and Billing Time
This guide walks you through time tracking in Sodium — switching it on, setting hourly rates for your team, logging time against clients and tasks, letting timers run themselves from task progress, and turning unbilled hours into billing line items.
Before you start
Time tracking is switched off by default, and until you turn it on there is no time tracking UI anywhere in the app. Enabling it is one toggle, but it's worth deciding two things with your team first:
- Is time billable by default? If most of the time you record ends up on an invoice, have new entries start as billable. If you mainly track time to understand where the hours go, leave it off and mark billable time by hand.
- Must every entry link to a client or task? By default entries can be freeform ("CPD webinar", "team meeting"). If you want every recorded minute attributable, you can make the client or task link on every entry mandatory.
Nothing is set in stone — both options can be changed later without affecting existing entries.
1Enable time tracking
Go to Settings → Time Tracking and switch on Enable Time Tracking. This adds the Time page to your main navigation, a Time tab to every client and task, a timer button in the top bar, and hourly rate fields on team members.
Then set your defaults on the same page:
- Require a client or task link — when on, every time entry must be linked to a client or a task.
- New entries default to billable — new time entries and timers start with Billable switched on. It can still be changed on each entry.
- Automatic timers from task progress — starting a workflow step (or a task with no workflow) starts a timer on it, and completing it logs the time. Covered in its own section below.
- Default hourly rate — the charge-out rate used for billable time when the team member doesn't have a rate of their own.
- Billing line items — how billed time is grouped into invoice lines: one combined line per hourly rate, or one line per entry. You can override this each time you bill.
2Set hourly rates for your team
Still in Settings → Time Tracking, open the Hourly Rates tab. Each team member can have their own charge-out rate — enter a rate next to a name and save it with the tick button.
When a billable entry is saved, Sodium resolves the rate in this order:
- A rate typed on the entry itself, if any.
- The team member's hourly rate.
- The practice's default hourly rate.
3Log your first entry
Open the Time page and click Log Time. An entry is made of one or more time blocks. For each block, either enter a start and end time and let Sodium work out the duration, or flick Specify manually and type hours and minutes directly. Click Add block to record split sessions — a morning stint and an afternoon stint on the same job stay together as one entry.
Then fill in the rest:
- Description — what the time was spent on.
- Team member — who did the work (defaults to you).
- Client and Task — optional links. Choosing a client narrows the task list to that client's tasks.
- Workflow step — if the chosen task has a workflow, you can pin the time to a specific step, so reports show the 45 minutes went on "Reconcile bank transactions", not just the task.
- Billable and Hourly rate — whether the time can be billed, and at what rate. The rate field shows the resolved default, so you only type here to override it.
You can also log time from a client's or task's Time tab — the entry arrives pre-linked to that record.
4Use the timer
For work you're about to do (rather than time you're writing up afterwards), start a timer instead. Click Start Timer on the Time page, on a client's or task's Time tab, or in the focus panel while working a task — the timer starts already linked to whatever you started it from, down to the workflow step.
While a timer runs, a pulsing green pill shows in the top bar wherever you are in the app. Click it to open the timer: you can toggle Billable, pause and resume, discard, or finish. Each stretch of work between pauses is recorded as its own time block, so a lunch break never inflates the hours.
When you're done, click Stop & Log. The entry dialog opens pre-filled with the elapsed time, blocks, and links — check the description and save.
5Let timers run themselves
If your team already works through tasks and workflow steps in Sodium, you can stop starting timers by hand. Switch on Automatic timers from task progress and:
- Setting a workflow step to In Progress starts a timer for you, linked to that task and step.
- Completing (or skipping) the step stops the timer and logs the time as a normal entry.
- Starting a different step while a timer is running logs the running timer first, then starts a fresh one — so moving between jobs never loses or double-counts time.
- Tasks without a workflow behave the same way, driven by the task's own status.
Auto-logged entries are ordinary time entries — linked, editable, and billable like anything logged by hand. A timer with under a minute on the clock is quietly discarded rather than logged, so flicking through steps doesn't litter your Time page.
6Bill time to a client
When it's time to invoice, click Bill Time on the Time page. The client picker lists every client with unbilled billable time and how much they have waiting. Pick one and you'll see their unbilled entries with a preview of the invoice lines.
Choose how the lines are shaped with Line items:
- Combined — one line per hourly rate, e.g. "9.5 hours at £120". Compact invoices.
- One line per entry — each entry becomes its own line, using the entry's description. Full transparency for clients who want the detail.
Set the VAT rate, Billing date, and Accounting code (it defaults from your billing settings), then confirm. The entries become billing line items on the client's Billing tab and follow your normal client billing pipeline onto the next invoice.
Billed entries lock automatically — they can't be edited or deleted while billed. If you delete the billing line before it's invoiced, the entries unlock and return to the unbilled pool.
7Compare estimates with actual time
Estimates live on the work itself. Give each step of a workflow a time estimate and every task using that workflow gets its budget automatically — the sum of the steps that apply to that client. Tasks without a workflow take a Time Estimate directly; set it once on the recurring task and every task it creates inherits it.
Once your team has been logging time for a while, open the Service Time report to see estimated versus actual hours per service, and drill into any service for the per-client breakdown. This is where underpriced work shows up: if Bookkeeping is budgeted at two hours but one client consistently takes six, you have the recorded evidence for a repricing conversation.
Keep an eye on running timers
Admins get a third tab in the time tracking settings: Timers. It lists every timer currently running across the practice — who started it, what it's linked to, how long it's been going, and whether it's paused.
Spot a timer someone left running overnight? Pause it — that stops the clock without losing the time they genuinely worked. Discarding is also available, but that throws the accrued time away, so pausing is almost always the kinder fix.
Tips for getting the most out of time tracking
- Start timers from the work, not the Time page. Starting from a task's Time tab or the focus panel links the timer automatically — no filling in client and task afterwards.
- Pause instead of discarding. Paused time keeps everything you've accrued; discarding destroys it. If you're interrupted, pause.
- Link to workflow steps for granularity. Task-level time tells you a VAT return took three hours; step-level time tells you two of them went on chasing records.
- Match the line mode to the client. Combined lines keep invoices tidy for most clients; switch to one line per entry for clients who query every invoice.
- Set estimates even if you're guessing. Rough estimates on your workflow steps and recurring tasks make the Service Time report useful from day one — you can refine the numbers as real data comes in.
- Let automatic timers do the recording. If your team works through workflow steps anyway, switching on automatic timers captures the time as a by-product — no end-of-day write-ups.
Where to go next
- Time Tracking feature page — the full feature overview
- Setting Up Client Billing — where billed time goes next
- Services & Pricing — the services your time rolls up to
- Workflows — the steps your time entries link to, and where step time estimates live
Questions about tracking or billing time? Get in touch and we'll walk you through it.