Why they are separate
Each answers a different question:rate.manage– may you change what someone is charged at?rate.viewBilling– may you see what a client is charged?rate.viewCost– may you see what a colleague costs?
Cost is a firewall, not a hidden column
Cost figures are removed before the page is built. Someone withoutrate.viewCost does not receive a cost number at all.
There is nothing hidden to inspect. The number never leaves the server.
Roles at a glance
- Owner
- Admin
- Project Manager
- Finance
- Member / Contractor
- Client
Everything. Sets and removes billing and cost rates, sees both, on every surface.
The Finance surprise
Finance is the role people get wrong. Daniel Okafor owns the money surface – he sends invoices and records payments – but he holds none ofrate.manage, rate.viewBilling or rate.viewCost.
That works because pricing already happened. Every time entry carries the rate it was recorded at, so the invoice builder shows Daniel the billable value without ever showing him a rate table.
If your finance person also needs to set rates, add rate.manage and rate.viewBilling to a custom role. See /concepts/roles-and-capabilities.
Capability is not scope
A capability says whether you may do something. It does not say for whom.rate.viewBilling lets Priya see billable rates. Which people appear on the Rates roster is a separate question, answered by her supervision scope. Both have to pass.
Related cost capabilities
Two other capabilities control cost visibility elsewhere:
They are deliberately the same tier. Seeing every entry’s cost would reveal the rate anyway.
Plans and permissions are different questions
A Pro workspace still hides cost from a Project Manager. A Free workspace still shows cost to its Owner – it just cannot record a new cost rate.
See /concepts/plans-and-features.
Deleting a rate needs more than managing one
Removing a rate row is gated exactly like writing one, plus two extras for cost:
You cannot delete a figure you are not allowed to see.
Common questions
Can I let a Project Manager see cost?
Can I let a Project Manager see cost?
Yes, through a custom role that includes
rate.viewCost. Think carefully first – it is close to sharing salary information.Can someone see their own rate?
Can someone see their own rate?
Not on the Rates page, which needs
rate.viewBilling. A Member or Contractor has no route to it.Why can Finance invoice without seeing rates?
Why can Finance invoice without seeing rates?
Because the billable value is already stored on each time entry. The invoice builder shows money, not rates.
Does hiding cost hide margin too?
Does hiding cost hide margin too?
Yes. Margin is revenue minus cost, so a margin figure is a cost figure. It follows the same capability.
Can a capability be removed from one person only?
Can a capability be removed from one person only?
Some capabilities can be denied per person. Check the person’s record before assuming a role grants something.
Who can change the workspace base currency?
Who can change the workspace base currency?
That is
workspace.updateSettings, not a rate capability. Owner and Admin hold it.Troubleshooting
Related guides
Roles and capabilities
The full permission model.
Cost rates
What the firewall protects.
Billable rates
The rate everyone with billing access sees.
Set a person rate
Where these capabilities apply.
Invoice permissions
Who can invoice and take payment.
Plans and features
Plan gates versus permission gates.