Consultant categories and rate cards

Define the categories that carry hourly rates, assign a default category per person with project overrides, and maintain each client's rate card with effective dates and project-specific rates.

Written for
admin
Roles
owner, admin, project-manager
Requires
Owner or Admin; Workspace-user Project manager for a category override on their project
Feature
billing

A consultant category is the label a rate is attached to, such as Junior, Consultant, Senior, or Architect. Every time entry snapshots the category of the person who logged it, and a client's rate card says what each category costs per hour from a given date. Together they are how a billing run prices an entry. Both are configured by Owners and Admins in the browser; these operations are not open to API keys.

Before you start

  • You need the Owner or Admin role. A workspace-user Project manager can set the category override on their own project's members.
  • Rates are per client, in the client's currency, set under Clients → client → Settings → Default currency.

Categories

Open Settings → Consultant categories. "Categories carry the rates. Every entry snapshots the category at log time: the project override, else the person's default."

  • New workspaces start with Junior, Consultant, Senior, and Architect, and every person defaults to Consultant.
  • Add category creates one from a name (1–80 characters) and an optional key. Order sets the position in pickers.
  • Archive removes a category from pickers. It is refused while the category is in use by an entry, a rate, a member default, or a project override: "This category is in use and cannot be archived." Reactivate brings it back.
  • Default category per person sets each workspace user's category. "A project membership may override this. Changing it affects new entries only."

To override a person's category on one project, open Projects → project → Members and set Category on their row. The override applies to entries logged on that project from then on; earlier entries keep the category they were logged with.

Rate cards

Open Clients → client → Rate card. The card has a Client rate card and one Project override per project that bills or collaborates with this client.

Fields

Field Meaning
Applies to The whole client (the client card) or Only {project} (a project override).
Category The consultant category the rate is for.
Valid from The first work date the rate applies to.
Hourly rate ({currency}) "Per hour, excluding VAT. A new effective date is a new rate; history keeps the rate it was billed at." Stored as whole minor units per hour, so NOK 1 500,00 is 150000 through the API.

Select Add rate to save.

Resolution

"Resolution at the run: the project override first, then the client card, both by the latest date on or before the work." For each entry the run looks for a project-override rate for the entry's category with Valid from on or before the work date and takes the latest; if the project has none for that category it does the same on the client card. A project override for a category replaces the client rate for that category entirely.

Changing and removing rates

  • To change a rate from a date, add a new rate with that Valid from. Earlier work keeps the earlier rate.
  • Saving a rate with the same category and Valid from as an existing one replaces it, unless a run has already priced with it: "A billing run has priced with this rate. Add a new effective date instead."
  • Remove deletes a rate that no run has used. "Time from that date is priced with the previous rate, or has no rate." A rate a run has priced with, including a voided run, is marked Used by a run and stays as history: "A billing run has priced with this rate, so it stays as history."

Missing rates

An entry with no applicable rate cannot be priced. Two places warn you:

  • The pre-close checklist lists Missing rates: billable entries in the period with no category, no billing client, or no rate for their category and date. See Close a period.
  • A billing run lists blockers No consultant category on the entry and No rate on the card for this category and date and refuses to commit until they are fixed. Add the rate with a Valid from on or before the work date, or set the category on the entry (Owners and Admins can change an entry's category even in a closed period).

Example

Acme AS pays NOK 1 500/h for Senior work from 1 January 2026 and NOK 1 600/h from 1 September 2026. On the Acme AS rate card you add Senior · 2026-01-01 · 1500 and Senior · 2026-09-01 · 1600. For the "Data platform" project Acme negotiated NOK 1 400/h regardless of date, so under Project override · Data platform you add Senior · 2026-01-01 · 1400. A Senior entry on 15 September is priced at 1 600 on any other Acme project and at 1 400 on Data platform.

Common problems

"Only owners and admins configure pricing." Members see this on the Rate card tab; ask an Owner or Admin.

"A category with this key exists." Choose another key; keys are unique in the workspace.

"Unknown category." The category is archived or does not exist in this workspace.

The run still says no rate after I added one. Check that Valid from is on or before the work date, that the rate is on the client the entry is billed to (not another client), and that the entry's category matches.