Setting Charge-out and Cost Rates

Rates are what turn logged hours into money — in both directions. This guide covers setting a charge-out rate and a cost rate for each team member and for particular kinds of work, changing a rate when it goes up, choosing whether time already logged picks up the change, and deciding who in the practice is allowed to see what people cost.

Two rates, two questions

Every team member can carry two rates, and they answer different questions:

  • Charge rate — what an hour of their time is worth to a client. It applies to billable time only, and it is the figure that ends up on an invoice when you bill unbilled time.
  • Cost rate — what an hour of their time costs the practice. It applies to all their time, billable or not, because an unbillable hour costs exactly as much as a billable one. It is what the Cost & Profit report values time at, and what a pay run pays a contractor at.

You do not need both. A practice that only wants to invoice time can set charge rates and ignore cost rates entirely, and everything that depends on cost simply stays empty. But cost rates are the quicker half to fill in and the one that answers the harder question, so it is worth doing them at the same time.

1Set your practice defaults

Start with the fallbacks, because they mean most of your team needs nothing set at all. Go to Settings ( at the top right) → Time Tracking and fill in:

  • Default hourly rate — used for billable entries when the team member has no charge rate of their own.
  • Default cost rate — what an hour of time costs the practice, used when the team member has no cost rate of their own. It applies whether or not the entry is billable.

If your team is broadly homogeneous — a handful of people at similar seniority — the defaults alone may be all you ever set. Add individual rates only where the default is wrong.

2Set a team member's rates

On the same settings page, open the Team Members tab. Each row shows that person's charge rate and cost rate, and a rate shown faded is one they are inheriting from the practice default rather than holding themselves.

Click a row to open Rates for that person, then enter an Hourly rate, a Cost rate, or both. Leave either blank and they keep using the practice default for it — the placeholder shows what that default is, so you can see what blank means before you commit to it.

The same editor is on the team member's own user record if you are already there, and it behaves identically.

3Rates for particular work

Some work is charged or paid differently from the rest. Payroll might be paid at its own hourly rate, or finance director support charged out at more than routine bookkeeping. Rather than asking staff to remember which rate to use, give that work its own rate and Sodium applies it to any time logged against it.

A rate can belong to a task category or to a service, and it can be set at two levels:

  • For everyone: open the Rates by Work tab in the time tracking settings, choose Add rate, pick the task category or service, and enter a charge-out rate, a cost rate, or both.
  • For one person: open their rates from the Team Members tab (or their user record) and use Rates by type of work underneath their own rate. Use this when people are paid different rates for the same work.

Leave a rate blank and that rate falls through to the next one down, so a payroll rate that only sets a cost still charges the time out at the person's normal rate. These rates are dated in the same way as a person's own, so a change can keep the old rate on record.

The task category comes from the task the time is logged against, and the service from the client service it is linked to, directly or through its task. Time logged against neither uses the person's own rate.

4Change a rate later

When you change a rate that is already in use, Sodium asks one question: keep the previous rate on record? The answer depends on why the rate is changing, and it is worth reading the two options rather than clicking through:

  • Keep the previous rate — the rate is going up. The old rate is closed off the day before the new one starts and stays on record, so you can still see what someone charged last year. Pick the date the new rate applies from.
  • Just update the existing rate — the old rate was simply wrong: a typo, or a rate entered against the wrong person. It is corrected in place with nothing kept.

Because rates are dated, you can also set a rise in advance. Enter the new rate in March with an April start date, and time logged in March still picks up the old rate while April's picks up the new one. Nobody has to remember to do it on the day.

Rates by type of work, and the practice defaults, work the same way.

5Update time already logged

Time keeps the rate it was logged at until you say otherwise. So whenever you save a rate change, Sodium asks whether to apply it to time that has already been logged, and shows you exactly what would change before anything does.

The list starts from the date the new rate applies from, which you can move. Each entry shows its old and new charge-out and cost rate, with the total change in value at the top. Everything is ticked to begin with. Untick anything that should keep its rate, such as an entry where someone typed a special rate by hand, then choose Update. Choose Not now to leave logged time as it is.

  • Paid time never changes. Once time is on a pay run its cost is settled.
  • Billed or written-off time keeps its charge-out rate. Its cost can still be updated.
  • A changed cost rate takes the entry out of approval for payment, because the approved figure is no longer the one that would be paid. Approve it again before paying.

5Correct a rate, or read the history

Open Rate history in the rate editor to see every rate that person has held, each with the dates it ran between and the current one badged. Click any of them to edit the rate itself or the dates it covers — useful when a rise was agreed from the first of the month but entered a fortnight late.

A rate with no From date has applied since the beginning, and the current rate has no To date because it has not ended. Editing history changes what newly logged time picks up, and Sodium then offers to update time already logged, in the same way as any other rate change.

6How a rate reaches an entry

Both rates are worked out at the moment the entry is saved, and stored on it. Each one takes the first of these that sets it, using the rates in force on the date of the entry:

  1. A rate typed on the entry itself (charge-out only).
  2. The team member's rate for the entry's task category or service.
  3. The practice's rate for the entry's task category or service.
  4. The team member's own rate.
  5. Your practice default.

The two rates are worked out separately, so a payroll rate that only sets a cost leaves the charge-out rate to the steps below it. The charge-out rate is only stored on billable time; the cost rate is stored whether the entry is billable or not.

The practical consequence: a member who logged time before you gave them a cost rate has entries with no cost on them. When you set the rate, date it to cover that time and update the unpaid entries when Sodium offers. Until then they are counted and flagged wherever cost matters rather than quietly ignored, and the paying for time guide covers what to do with them. Set the rate before the logging starts and the question never arises.

7Control who sees cost rates

What people cost is among the most sensitive numbers in a practice, so cost rates sit behind their own permission — Cost Rates — rather than riding along with time tracking or reports. It is admin-only out of the box.

  • View shows the cost rate column, the default cost rate setting, the Cost & Profit report and the Unpaid Time page. Without it none of them appear anywhere, so there is nothing to notice and ask about.
  • Update allows changing them. Someone with view but not update can read cost rates and not touch them.

Charge rates are not hidden this way — they are ordinary time tracking data, and anyone who can see time can see what it is worth. Anyone restricted to their own time is closed out of the cost side entirely, whatever permissions they hold.

Where to go next

With rates set, the two things they feed are:

The Time Tracking feature page is the shorter overview of how all three fit together.