Pricing and packaging

How to read an HR pricing page

Open any HR vendor’s pricing page and try to answer one question with it: what will we pay next year, for the team we expect to have? On most pages you cannot, and not because the number is secret. It is because the page is assembled from several different units, and the figure printed largest describes the smallest part of your bill.

It is a readable document once you know what each part is doing. Here is how to read one adversarially, applied to any vendor including us.

What “starting from” is doing

A “from” price is the lowest point of a range whose top is not published. It assumes the cheapest plan, the largest commitment, the biggest volume band and the cheapest region, before any add-on and before implementation. Each assumption is individually defensible, which is why the number survives legal review. Together they describe a customer who is not you.

That makes it a fine headline and a terrible input. Every “from” invites one question, asked repeatedly rather than once: what makes this go up? Keep asking until the answers repeat, because vendors volunteer the first cause and not the fourth.

The unit is the whole argument

The per-employee-per-month figure is the most quoted number in this category and the least informative, because a rate means nothing until you know what it multiplies.

Start with who counts. Billed headcount and active headcount are usually different folds of the same roster. Someone serving notice may be billed and may not; a contractor in the directory may or may not be a seat; a leaver whose record you keep for statutory retention is either free or not; admin accounts, applicants and alumni each have to be resolved. Get the vendor to define their billable count in a sentence you could hand to your finance lead, then apply it to your own list of people.

Then look for a minimum. A seat floor, below which you are billed as though you had more people than you do, is among the things least likely to be printed. It converts a per-employee price into a flat fee for everybody under the floor, which is how a small team pays far more than the headline rate implies. Ask about the other end of the same question too: whether any seats are included before the meter starts, and whether an included allowance survives the move from a free plan to a paid one. Our own answer, stated so you can hold us to it, is that the twenty free seats carry into the paid plans, so the plan charge applies to the employees past twenty. Two modules, payroll and time and attendance, are included in the plan and never invoiced. Every other module is a separate add-on and counts from the first person.

Then check whether the modules share a unit. Recruiting often bills per recruiting seat, learning per active learner, contractor management per active contractor, payroll per person included in a run. All reasonable units, none of them the same unit, so a total adding four of them together is not a per-employee price at all. Our own pricing page has this property and it would be dishonest to pretend otherwise: the estimator exists because you cannot do that sum in your head from a single rate.

Finally, check the term. If the headline assumes annual prepayment, find the monthly figure, then ask what the page never answers: what happens when you hire in month three. The three common answers, billed pro rata from the hire, billed from the next invoice, or absorbed until renewal, produce materially different annual totals for a company that is growing.

The costs that are not on the page

The pricing page describes the subscription. Your first-year cost is the subscription plus a set of line items that live in the order form.

Implementation and onboarding fees are the big one, quoted separately because they do not fit the subscription story, and data migration is often separate again. Training, sandbox environments, integration setup and premium support each turn up as their own line, as do overages: extra countries, extra entities, historical data beyond a retention window. And at the far end sits the cost of leaving, which almost nobody prices during evaluation: whether export is included, in what format, and whether it works when an invoice is open.

None of it is hidden exactly. It is simply not on the page you were reading, and the gap between the two documents is where the difference between vendors usually lives. The guide to switching HR systems covers the same arithmetic from the other end, when you are the one leaving.

Package, fence, or no number at all

A tier is a package when its contents belong together for a reason you can state out loud without using the word Enterprise. It is a fence when its contents are whatever could not be sold separately, arranged around the one thing everybody actually buys it for.

The test takes a minute. Read the tier’s contents aloud and ask what they have in common. If the answer is “these are the things a company of roughly our size needs at once”, it is a package. If it is “one of these is why we are here and the rest is padding”, it is a fence, and you are being quoted a price for the padding.

A tier with no number is the same question in a stronger form. “Custom” and “contact sales” are not automatically a trick, since genuinely variable scope exists and a vendor doing weeks of implementation work cannot always print a figure. But the wall signals three things reliably. The price depends on facts about you rather than about the product: headcount, funding, region, urgency, and who else you are talking to. Discounting is expected, which makes whatever list sits behind the wall partly fictional. And the figure moves at the end of a quarter, which is information about timing rather than worth. The counter-move is not to negotiate harder, it is to ask for the price list, ask which lines are discountable, and require every answer in per-unit form, because a lump sum cannot be compared with anything.

The direct version, borrowed from the single sign-on case, is the question that works on a call: what in this tier, other than the thing we came for, do you expect us to use? A good answer names two or three things and says who uses them. A vague answer is the answer.

The questions that make quotes comparable

Two quotes from two vendors are almost never comparable as issued. Six questions make them so, all reasonable to ask in writing:

  1. Which people on our roster are billable? Name the rule, not the number.
  2. What is the total for our exact headcount and modules, monthly and on annual prepayment?
  3. What one-time fees apply, and what triggers each?
  4. What happens when we hire mid-term, and when we shrink?
  5. What is the renewal uplift, and is there a cap in the contract?
  6. What does leaving cost, in what format, and does export work while an invoice is open?

Then normalise. Convert every quote into one figure: total cost over the term, at the headcount you expect at the end of it rather than the beginning. Growing companies underestimate their own bill because they price the team they have, and the hiring plan guide is a decent way to get that number honestly. Our comparison hub carries a question set aimed at architecture rather than price, and the two together are most of an evaluation.

Where we stand

We publish every figure on one page, with an estimator that runs in the browser and asks for no email address, because a price that depends on how you look on a call is not really a price.

Our page is not exempt from any of the above, and three things are worth knowing before you use it. Our modules bill on several different units, so the total is a sum rather than a rate. Our billed count includes people serving notice while the free-plan cap counts active people only, so the two numbers on your own roster can legitimately differ. And pricing adjusted to national purchasing power is a policy we have written and not finished: two published books exist today rather than a book per country, and the selector on our pricing page offers those two rather than a list of countries we have not priced yet.

Hold us to the absence of a “contact sales” wall around a number we already know. What is on sale is priced in public and does not move according to who is asking. There is, for now, still a person in the loop: moving onto a paid plan is a request granted by hand rather than a checkout, which is a limitation of our billing rather than a negotiation.

Common questions

Why is the per-employee-per-month price rarely what you pay?

Because it is one factor in a product with several. A seat minimum can mean a small team pays for a floor it has not reached. The multiplier may be your whole roster rather than your active employees, so leavers on notice still count. Modules often bill on their own units, per recruiter seat or per learner rather than per employee, so a total is a sum of different things. And the headline figure usually assumes annual prepayment. Ask which fold of your roster the number multiplies before you multiply it.

What does contact sales actually signal?

Usually that the price depends on facts about you rather than facts about the product: your headcount, your funding, your industry, your region, your urgency, and who else you are talking to. It also signals that discounting is expected, which makes any list price behind it partly fictional, and that the deal will move at the end of a quarter. It is not automatically a trick, since genuinely variable scope exists. But it means the first quote you receive is a position, not information, and should be treated that way.

What questions turn a vendor quote into a comparable number?

Six. Which people on our roster are billable, named precisely. What is the total for our exact headcount and modules, monthly and on annual prepayment, both. What one-time fees exist and what triggers each. What happens when we hire mid-term, and when we shrink. What is the renewal uplift cap, in writing. And what does leaving cost, including the export format and whether export still works while an invoice is open. Then annualise every answer at the headcount you expect to have at the end of the term.

That was the argument. The free core is where you check it.