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.
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.
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
- Time Tracking feature page — the full feature overview
- Setting Up Client Billing — where billed time goes next
- Services & Pricing — set up services and time estimates
- Workflows — the steps your time entries can link to
Questions about tracking or billing time? Get in touch and we'll walk you through it.