GorillaWorks

Staffing finance

How staffing agencies get paid: bill rates, markup, and margin

Staffing is a margin business. Here is exactly how agencies get paid, what the markup on a bill rate actually covers, and how to see the gross profit hiding in every placement.

GorillaWorks7 min read

Staffing is a margin business. An agency can fill every requisition a client sends and still lose money if it cannot see the spread on each placement. So before anything else, it pays to understand exactly how the money moves: who pays whom, what the markup actually covers, and where the profit ends up.

Every dollar an agency earns flows through two numbers: the bill rate charged to the client and the pay ratepaid to the worker. The gap between them, once employer costs are taken out, is the agency's gross margin. Everything else in this article is a variation on that one idea.

The three ways agencies get paid

Most staffing revenue arrives in one of three shapes.

1. Contract and temporary placements (markup on pay)

This is the bread and butter. The agency pays the worker an hourly rate and bills the client a higher one. The difference is set by a markup applied on top of pay. It is billed every hour the contractor works, week after week, for the length of the assignment.

2. Direct-hire placements (one-time fee)

When the agency places someone permanently, it charges the client a one-time fee, typically 15% to 30% of the candidate's first-year salary and most often around 20%. There is no ongoing pay or bill rate; the agency is paid once for making the match.

3. Statement of Work and project engagements (fixed or milestone fee)

Increasingly, clients buy outcomes rather than hours. Under a Statement of Work, the agency is paid against fixed deliverables or milestones rather than a straight hourly markup, which changes how margin is tracked but not the underlying goal.

Bill rate vs pay rate: the spread that pays for everything

On contract work, the markup looks like pure profit until you remember everything it has to cover first. The bill rate funds the worker's pay, the employer burden on that pay (payroll taxes, insurance, and any benefits), the agency's overhead and recruiting cost, and only then the margin the agency keeps.

Where a $95/hr bill rate goes

A representative $95/hr contract placement at a $70/hr pay rate.

$70
$8
$17
  • Worker pay$70/hr · 74%
  • Employer burden$8/hr · 8%
  • Gross margin$17/hr · 18%

Markup and margin, in numbers

Take the placement above: a $70.00/hr pay rate billed at $112.00/hr. Markupis what you add on top of pay, measured against pay. Here that is ($112.00 − $70.00) / $70.00, or 60%. Margin is what you keep, measured against the bill. Of the $42.00 spread, $14.00 covers employer burden, leaving $28.00 in gross margin: $28.00 / $112.00, or 25%. The same placement is a 60% markup and a 25% margin at the same time, because the two percentages are measured against different numbers.

Why the markup depends on worker type and location

The burden line is not fixed; it depends on how the worker is engaged and where they are placed. When you pay a worker as a T4 or W-2 employee, you are the employer of record, so payroll taxes, workers' compensation, statutory contributions, and any benefits all land on you. The markup has to be larger just to reach the same margin. When you pay an incorporated contractorthrough their own company, you carry little or no employer burden, so a smaller markup can leave the same margin. Those employer costs also vary by jurisdiction, since workers' compensation, unemployment, and payroll tax rates differ from one state or province to the next across the US and Canada. Two workers at an identical pay rate, or the same worker in two different locations, can need very different markups to land the same profit.

Try it: what is your gross margin?

Numbers make this concrete. Drag the sliders below with your own bill rate, pay rate, and burden to see the gross margin per hour, the margin percentage, and the annual gross profit across a book of contractors.

Margin calculator

Drag the sliders to see your gross margin.

$112/hr
$70/hr
20.0%

Payroll taxes, insurance, and benefits on top of pay.

40 hrs
10
Annual gross profit
$582,400
Across 10 contractors at 40 hrs/week. Healthy margin.
$28.00
Margin / hr
25.0%
Margin %
$11,200
Per week

This is a back-of-the-napkin estimate. GorillaWorks tracks your real gross margin live, per client, recruiter, and contractor.

What a healthy markup and margin look like

Markups on contract placements commonly run from roughly 30% to 75% on top of pay, depending on role complexity, pay level, and how much employer cost the agency carries. High-volume light-industrial work sits at the low end, while specialized or high-burden roles such as healthcare can run to 100% or more. After burden, gross margins on contract staffing frequently land in the low-to-mid 20% range, with higher-skill and project-based work running higher.

The agencies that win are not the ones with the highest markup. They are the ones who can see their real margin on every placement, the moment it changes.

Where margin quietly leaks

A margin business dies by a thousand small cuts, and almost all of them come from disconnected, manual back-office work:

  • Re-keyed hours. The same timesheet entered into a VMS, then payroll, then billing is three chances to pay or bill the wrong number.
  • Delayed invoicing.Every day between work performed and invoice sent stretches your DSO and starves the cash that funds next week's pay.
  • Rate drift and missed expenses. Outdated bill rates and uncaptured expenses are silent underbilling you never see.
  • Month-end-only visibility. If you find out a placement was unprofitable when finance closes the month, it is already too late to fix it.
One approved timesheet drives both sides
  1. Work order created

    The placement is recorded and the contractor is onboarded.

  2. Time approved

    One timesheet clears its approval chain.

  3. Pay calculated

    Gross-to-net pay is worked out from those exact hours.

  4. Client invoiced

    The client invoice is generated from the same hours.

The fix is structural: capture each timesheet once and let it drive billing and pay from a single source of truth. That is exactly what automated billing and payroll calculations do when they share the same approved hours, which is why margin can update live instead of at month end.

The takeaway

Getting paid in staffing is simple to state and hard to run: charge a bill rate, pay a pay rate, and protect the margin in between. The agencies that hold onto that margin are the ones that treat the back office as a system rather than a stack of spreadsheets, so every placement is visible, accurate, and profitable by design.

Frequently asked questions

How do staffing agencies make money?

Agencies earn the spread between the bill rate charged to the client and the pay rate paid to the worker. On contract and temp placements that spread is set by a markup on pay; on direct-hire placements the agency charges a one-time fee, typically 15% to 30% of first-year salary and most often around 20%.

What is a typical staffing markup?

Markups on contract placements commonly run from about 30% to 75% on top of the worker's pay rate for most roles, depending on role complexity, pay level, and what employer costs the agency carries. High-volume light-industrial work sits at the low end, while specialized or high-burden roles such as healthcare can run to 100% or more. The markup is not all profit: it has to cover payroll taxes, insurance, overhead, and recruiting cost before any margin is left.

What is the difference between bill rate and pay rate?

The pay rate is what the worker earns per hour. The bill rate is what the client is charged per hour. The difference between them, after employer burden, is the agency's gross margin on that placement.

What is a good gross margin for a staffing agency?

Gross margin varies by sector and placement type, but contract staffing margins frequently land in the low-to-mid 20% range after burden, with higher-skill and SOW work running higher. The key is visibility: knowing the real margin on each placement as it happens, not at month end.

How do you calculate gross profit on a placement?

Take the bill rate, subtract the pay rate and the employer burden (taxes, insurance, benefits) on that pay, and the remainder is gross margin per hour. Multiply by hours worked and the number of contractors to get weekly and annual gross profit. The calculator in this article does exactly that.

See it in the platform

See it live

See your real margin, live on every placement.

Book a 30-minute demo and we will walk through the platform configured around how your agency actually operates.

ISO 27001 Certified