Split cost and billable rates
A rate card’s cost rate answers “what does this hour cost us?” Billable rates answer the other half: “what do we charge the client for it?” Once any rate card carries a billable rate or markup, Onplana starts reporting revenue and margin alongside cost on billable projects.
How the billable rate is derived
Section titled “How the billable rate is derived”Each rate card has two optional fields next to the cost rate:
- Billable rate (hourly): the explicit charge-out rate.
- Markup %: a percentage added on top of the cost rate.
The precedence is strict:
- If Billable rate is set, that is the charge-out rate. The Markup field is disabled and shows “Override active”.
- Otherwise, if Markup % is set, the billable rate is the cost rate plus the markup. A 100/hour cost rate with 35% markup bills at 135/hour, and the form previews the result live as you type.
- If neither is set, the billable rate equals the cost rate. There is no margin, and revenue reporting treats the card as cost-only.
The same resolution chain as cost rates applies: a per-user card wins over a role-based card, which wins over the org default.
Set it up
Section titled “Set it up”-
Open Rate Cards and edit a card (or create a new one).
-
Fill in Billable rate (hourly), or leave it empty and set Markup % instead. Watch the live preview to confirm the derived hourly charge.
-
Save. The split takes effect immediately wherever that card resolves.
Where the margin shows up
Section titled “Where the margin shows up”- Project Finance tab: on a billable project, four revenue cards appear above the S-curve once at least one resolved rate card carries a billable rate or markup: Earned Revenue, Planned Revenue, Revenue Margin, and Realization %. Internal projects and cost-only rate setups show the cost columns alone.
- Revenue at Risk: the report and dashboard widget use the billable rate to price unbilled hours. See Track revenue at risk.
- Rate lookups: anyone can resolve their own billable rate, and the result says how it was derived (explicit rate, markup, or cost-only).
Best practices
Section titled “Best practices”- Use Markup % for uniform pricing models. Consulting firms that charge cost × 1.5 across the board pick Markup %. Setting it once at org default applies everywhere; per-user overrides only where pricing differs.
- Use Billable rate for contracted hourly amounts. When a client contract pins $250/hr for senior consultants regardless of the underlying cost, that’s an explicit billable rate. Don’t try to back-derive a markup; just enter the number.
- Set up the split BEFORE Finance reads any revenue figures. Adding billable mid-quarter means revenue starts populating mid-quarter too. Set up at project start (or the start of the engagement) for consistent reporting.
- Treat billable rates as confidential too. The same permission gate as cost rates applies, but billable rates also leak negotiation context. Verify the matrix.
- Document derivation precedence. Anyone debugging “why is this hour billing at $X?” needs to know: explicit > markup > cost. The resolver shows derivation; pinning it in an internal doc saves repeated explanations.
Troubleshooting / common pitfalls
Section titled “Troubleshooting / common pitfalls”- Revenue cards not appearing on Finance tab. Three causes: (a) project isn’t marked Billable; (b) no rate card has a billable rate or markup; (c) viewer doesn’t have Finance permission. Check all three.
- Billable rate showing as cost rate. Neither billable rate nor markup was set on the resolving card. Set one. Resolver shows derivation = “cost-only” in this case.
- Markup field disabled. Billable rate override is active, the explicit billable rate wins. Clear the billable rate to re-enable markup.
- Markup % saved as 0. A 0 markup is valid and treated as cost-only. If you meant to clear, delete the value rather than zero it.
- Resolver shows “explicit” but I set markup. Check for a more specific card (per-user winning over role). The matching card with the explicit rate wins.
How this combines with other features
Section titled “How this combines with other features”- Split rates + EVM revenue math. Once billable rates are set, Earned/Planned Revenue cards appear on EVM. See Read the EVM dashboard.
- Split rates + Revenue at Risk. Revenue at Risk prices unbilled hours at the billable rate. See Track revenue at risk.
- Split rates + Billable flag. Revenue only shows on Billable projects. Internal projects show cost only. See Mark projects billable or internal.
- Split rates + Resolver. Each member’s rate resolution shows derivation: explicit, markup, or cost-only. Useful for debugging.
Coming from another tool
Section titled “Coming from another tool”| Tool | Mapping |
|---|---|
| ServiceNow PSA | Direct concept; bill rate + cost rate |
| Microsoft Project Online | Lacks the billable side natively |
| Smartsheet PSA | Direct |
| Harvest | Direct; per-user billable rate ≈ this concept |
| Custom spreadsheet | Onplana automates the margin reporting |
What happens if I set neither field? Revenue equals cost, so there is no margin to report. The Finance tab hides the revenue cards rather than showing a row of zeros.
Do internal projects show revenue? No. Revenue figures only appear on projects marked as billable, since internal work has no client to invoice.
Is there a limit on the markup? Markup accepts 0 to 1000 percent. If you need more than 10x cost, set the explicit billable rate instead.
Can I set different markups per client? Today the markup is on the rate card, not the client. For client-specific pricing, set per-user or per-role rate cards with the right effective dates per engagement.
Do billable rates affect historical reports? New billable rates apply forward. Historical timesheet entries use the rate at the time of logging.
Can revenue be negative? Conceptually no, the formula is (billable rate − cost rate) × hours, which is non-negative when billable ≥ cost. If billable < cost (loss-leader pricing), margin is negative; Onplana displays it as a red figure.
Related
Section titled “Related”- Configure rate cards, the cost side
- Read the EVM dashboard, where revenue + margin show up
- Track revenue at risk, billable rate pricing unbilled hours
Was this helpful?
Thanks for your feedback!