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, running timers, 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 require a client or task link on every entry.

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 time fields on services and 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.
  • 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.
The Time Tracking settings page showing the enable toggle, billable default, default hourly rate, and billing line items options

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:

  1. A rate typed on the entry itself, if any.
  2. The team member's hourly rate.
  3. 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.

5Bill 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.

6Compare estimates with actual time

Each service can carry an estimated time. Once your team has been logging time against tasks 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 the estimate on Bookkeeping is 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. A rough estimate on each service makes the Service Time report useful from day one — you can refine the numbers as real data comes in.

Where to go next

Questions about tracking or billing time? Get in touch and we'll walk you through it.