Revenue leakage in recruitment agencies
Ten ways recruitment and staffing agencies lose fees, hours and margin, with the check that exposes each leak and a worked example.
Revenue leakage in recruitment agencies is revenue you are entitled to under your terms and your work, but that is never invoiced or is invoiced too low. In permanent recruitment it is mainly fees calculated on too low a salary, candidates hired later without a fee, and guarantees applied more generously than the terms say. In contracting and staffing it is hours that are paid but not invoiced, and pay that rises while the rate to the client stays the same. That last one is usually the largest leak.
Revenue leakage in recruitment is rarely talked about, because it does not show in the usual figures. Placements are counted, revenue grows, recruiters hit their targets. That part of that revenue is too low only becomes visible when you recalculate. How to do that structurally and continuously is covered in Revenue Intelligence for recruitment agencies. This article is about the leaks themselves, and the check for each one.
Where do recruitment agencies leak revenue? Ten leaks
Permanent recruitment
1. The fee on the wrong salary. Your terms define the salary on which the fee is calculated. Usually that is more than twelve times the monthly salary: holiday pay, a thirteenth month, fixed allowances, sometimes a guaranteed bonus. The recruiter gets a monthly figure from the hiring manager and converts it. What else is in the package, they do not know.
Check: for every placement, request the signed offer or the employment contract and recalculate the fee under your terms. Do it for the past year's placements and you will know whether this applies to you.
2. The later hire. A candidate is introduced and turned down, or the vacancy is withdrawn. Months later the candidate is working at that client after all, or at a company in the same group. Depending on your terms, a fee is due. Without an active check, you never find out.
Check: keep a list per client of the candidates introduced. Go through it every quarter against public profiles. It is manual work, but one hit often pays for a year of checks.
3. The guarantee without scrutiny. The candidate leaves within the guarantee period. The client asks for a replacement or a refund, and it is granted. Whether the reason for leaving falls under the guarantee, whether the original fee was paid on time, whether the role changed substantially: that is rarely tested.
Check: have every guarantee claim tested against the terms by someone other than the account manager. Record the outcome, even if you decide to grant the guarantee anyway.
4. The retained instalment left lying. On a retained assignment there are invoicing moments before placement: at the start, at shortlist. If those moments are not in the system, invoicing only happens on placement. If the assignment is stopped halfway, the work up to that point has been free.
Check: for every live retained assignment, put the instalments next to what has been invoiced.
Contracting and staffing
5. Paid but not invoiced. Hours go through a timesheet portal to payroll and to invoicing. If those two routes do not use exactly the same data, differences arise: a timesheet that was paid but not yet approved by the client and therefore not invoiced, a correction processed only in payroll, an extra shift passed on by email.
Check: compare, per period and per professional, hours paid with hours invoiced. Every difference where paid is higher than invoiced is a finding. It is a variant of the general pattern in how do you find forgotten invoices.
6. Allowances not recharged. Overtime, shift allowances, weekend work and travel expenses are paid to the professional. Whether they are recharged to the client with the agreed mark-up depends on how invoicing is set up. Often they are recharged, but at cost instead of with a mark-up.
Check: compare, per type of allowance, the amount paid with the amount invoiced. The difference should match your agreed mark-up.
7. Pay rise without a rate rise. The professional's pay rises through an annual increment, an increase under a collective agreement or, for agency workers, because their pay has to keep pace with comparable employees at the hirer, as the rules in many jurisdictions require. Payroll processes it automatically. The rate to the client only changes when someone arranges it. As long as nobody does, your margin per hour shrinks.
Check: list all current assignments with rate, employment cost per hour and margin per hour. Compare with a year ago. Every professional whose employment cost rose while the rate did not is a candidate. How this works for contracts in general is covered in revenue leakage from missed price indexation.
8. The extension at the old rate. An assignment is extended. The extension is entered on the same terms, because that is quickest. The moment to review the rate passes.
Check: flag in your system every extension due in the next three months, and discuss the rate for each one before it is recorded.
9. The conversion without a fee. The client takes the professional on permanently. The agreement includes a conversion fee. The professional is taken off payroll, the assignment is closed, and the fee is forgotten.
Check: put every ending of an assignment through one fixed question: why is this assignment ending, and is the professional going to work for the client?
10. The discount that stays. A volume discount was agreed with a large client once they had a certain number of professionals. The number drops, the discount stays. Or there is an introductory discount for the first few months that is never ended.
Check: list all discounts per client, with the condition under which they apply, and test every quarter whether that condition still holds.
Worked example
Worked example: suppose an agency that only does contracting, with 60 professionals, an average of 1,650 billable hours a year and an average rate of EUR 70 an hour. Revenue: around EUR 6.9 million.
| Leak | Assumption | Amount per year |
|---|---|---|
| Pay rise not passed on | 25 professionals, employment cost up EUR 1.40 per hour, rate unchanged | EUR 57,750 |
| Hours paid but not invoiced | 0.4 percent of hours | EUR 27,720 |
| Allowances at cost instead of with mark-up | EUR 150,000 in allowances, agreed mark-up 20 percent | EUR 30,000 |
| One conversion without a fee | Agreed fee | EUR 15,000 |
| Total | EUR 130,470 |
That is almost 2 percent of revenue, but much more of margin. At a gross margin of, say, 25 percent, margin is EUR 1.7 million, and this leak is over 7 percent of it. That is the key insight for contracting businesses: because your margin is a small share of your revenue, leaks weigh heavily on your result.
The amounts are constructed. There is no reliable industry average for revenue leakage in recruitment. The commonly cited estimate of 1 to 5 percent of revenue applies to B2B companies in general and is a starting point to set your own measurement against.
Why does nobody notice?
Recruiters look at placements, finance at receivables. The gap between what could have been invoiced and what was falls between the two roles. In many agencies, nobody is formally responsible for it. That is a broader question, covered in who is responsible for revenue leakage.
Costs are automatic, revenue is not. Payroll processes pay rises because it has to. Invoicing only processes rate rises if someone enters them. That asymmetry is the core of the leak in contracting.
The systems do not fully talk to each other. ATS, timesheet portal, payroll and invoicing are often integrated, but not watertight. An integration that gets 99.5 percent right looks fine. The 0.5 percent that goes wrong is tens of thousands of euros on a few million in revenue. How to compare systems for this kind of difference is covered in how do you check CRM against billing.
A first measurement in a week
- Days 1 and 2: compare hours paid and hours invoiced over three months, per professional.
- Day 3: build the margin list per professional, with the margin now and a year ago.
- Day 4: recalculate the fee on the last ten placements based on the full package.
- Day 5: go through the discounts and the assignments that ended over the past year.
Add up the findings and scale them to a year. Then you know whether this belongs on the agenda of your next leadership meeting.
Frequently asked questions
What is the biggest leak for contracting agencies?
Usually the margin per hour that shrinks because pay rises and rates do not. It is structural, it compounds, and without a margin list per professional it is invisible.
How do I stop fees being calculated on too low a salary?
Make the full offer or the employment contract a mandatory document for every placement, and have the fee calculated by someone who knows the terms. A standard calculation sheet with every component of your salary definition helps.
Is it wise to invoice a client for a later hire after the fact?
It is a trade-off between your entitlement and the relationship. Legally, it depends on your terms and the rules in your jurisdiction. Commercially, it is often better to have the conversation than to let it go. A client who knows you keep track behaves differently.
How often should I run the hours check?
Every invoicing period. It is a check that lends itself well to automation, because the data is already structured in your timesheet portal and payroll.
Does this also apply to placing self-employed contractors?
Yes, with a different emphasis. Pay rises matter less, but rate increases the contractor passes on that do not make it into the client rate have the same effect on your margin. The hours check is identical.
More in this cluster
- Revenue Intelligence for recruitment agencies
- Revenue leakage in construction
- Invoice checks for construction companies
- Contract checks for construction companies
- Revenue leakage in project businesses
- Revenue Intelligence for installation companies
- Revenue leakage in installation companies
- Revenue leakage in technical services