Professional services
What an hour costs
The base is derived from what somebody is paid and the hours they are available. The loading is yours, and nothing is assumed.
Every margin figure has a cost underneath it, and most tools ask for that cost as a number you type. It is entered once, goes stale at the first pay rise, and is then the denominator of every profitability figure the tool produces.
Derive the base, choose the loading
The usual justification is that a loading factor is a finance judgement. That is true of the loading and false of the base — the salary underneath is a fact this product already holds, effective-dated, and so are the working pattern, the holiday calendars and the leave entitlement. Typed as one number, the fact and the judgement go stale together, and the fact is the half that changes.
The base
Annual pay divided by the hours somebody is actually available. Both halves come from records you already keep, so the figure moves on its own at the next pay rise.
| Input | Where it comes from |
|---|---|
| Pay | The compensation record in force on the day, including allowances by default |
| Scheduled hours | The working pattern on the engagement, times FTE |
| Public holidays | The holiday calendars that apply, composed and deduplicated |
| Leave | The entitlement on the applicable policy |
Entitlement, not leave taken — and annual, not monthly
A rate computed per month spikes in August because of a fortnight's holiday, and the salary was paid anyway, so a margin would move for reasons unrelated to the work. And what somebody is entitled to is a property of their contract; what they happened to take last March is not, and using it would make two identical people cost different amounts per hour.
The year is 52.18 weeks, not 52 — 52 exactly loses 1.4 days a year, about half a per cent on every rate, always in the direction that overstates availability. Holidays and leave are pro-rated by FTE, because somebody at half time gets half a working day off for a holiday they were never going to work all of.
The loading
Employer taxes, benefits and overhead. These vary by jurisdiction and band, are premiums somebody negotiated, and are an allocation nobody can derive from HR data — so this is a percentage you set, under Settings → Invoicing → Cost of delivery.
Nothing is assumed, and the figure is named for what it is
With no loading set, the result is a direct cost and says plainly that it excludes employer taxes, benefits and overhead. Calling it *fully loaded* would overstate every margin built on it, silently. An invented default of 30% would be worse — a made-up number that looks authoritative sitting under every figure the product reports.
What a figure does not cover
Every rate carries a list of what it leaves out — no loading, basic pay only, no holiday calendar, no leave policy, or a concurrent engagement at another entity. Stated rather than implied, so nobody builds a decision on a figure they think covers more than it does.
Somebody with two engagements
A person can hold two at once — employed by one entity and a director of another. Two employers, two salaries, possibly two currencies. They are never summed, because adding them would invent an exchange rate nobody chose. One engagement is costed, the other is named as not being in the figure, and where it is genuinely ambiguous which one has pay attached the person is reported as unpriced rather than guessed at.
Overriding it
A cost rate typed onto a compensation record beats the derivation, and is reported as not derived so a screen can say which figures move on their own. There is no arithmetic that produces a contractor's known day rate from a salary calculation.
Somebody the figure cannot be derived for is reported with the reason rather than left out — see delivery and margin.