Contractor markup: what it is and how to calculate it

Contractor markup is the percentage a staffing supplier adds to the worker's pay rate. Margin divides the same spread by the bill rate, so it is always smaller: a 35% markup is a 25.9% margin. Convert every quote both ways before agreeing a rate.

David Gertz
Founder, VendOrcaLinkedIn
Published 6 min read
On this page

A supplier says "35". Finance writes down 35. They may not be talking about the same number.

Contractor markup is the percentage a staffing supplier adds on top of what it pays the worker. Margin is the same money expressed as a share of what you pay the supplier. On one deal the two percentages differ, and the gap grows as the percentage rises. If the contract does not say which one it means, you can agree a rate in good faith and still be billed more than you expected.

This post shows the arithmetic with every input stated, so you can check any quote with a calculator.

Contractor markup is a percentage of the pay rate

Three numbers sit behind every staffing invoice line:

  • Pay rate. What the supplier pays the worker per hour or day.
  • Bill rate. What the supplier charges you for the same hour or day.
  • Spread. The difference between the two: bill rate minus pay rate.

Markup divides the spread by the pay rate. In an illustrative example, a worker paid $60.00 per hour and billed to you at $81.00 per hour carries a spread of $21.00, and $21.00 ÷ $60.00 is a 35% markup.

The formula is simple: bill rate = pay rate × (1 + markup). A staffing agency markup is usually quoted this way because the supplier starts from what the worker will accept and builds up from there.

Markup vs margin: the same money over a different base

Margin divides the same spread by the bill rate instead of the pay rate. In the illustrative example above, $21.00 ÷ $81.00 is a margin of 25.9%. Same worker, same hour, same $21.00. The only thing that changed is the number underneath.

Because the bill rate is always larger than the pay rate, margin is always the smaller percentage of the two. That is why the label matters in a negotiation. On those illustrative figures, a supplier that says "our margin is 26%" and a supplier that says "our markup is 35%" can be describing an identical deal.

The two formulas that convert one into the other:

  • Margin = markup ÷ (1 + markup)
  • Markup = margin ÷ (1 − margin)

One more word that causes trouble: in staffing, "gross margin" often means the spread left after the supplier pays employer costs, which is a different and smaller figure. When I use margin in this post, I mean the spread as a share of the bill rate, nothing more.

The markup-to-margin conversion table

This is the worked example in full. Every input is illustrative, chosen to make the arithmetic easy to follow. None of it is a benchmark or a recommended rate.

Illustrative inputs: a pay rate of $60.00 per hour and a supplier markup of 35%.

Step Calculation Result
1. Bill rate $60.00 × (1 + 0.35) $81.00 per hour
2. Spread $81.00 − $60.00 $21.00 per hour
3. Markup (spread ÷ pay rate) $21.00 ÷ $60.00 35.0%
4. Margin (spread ÷ bill rate) $21.00 ÷ $81.00 25.9%
5. Back to markup from margin 0.259 ÷ (1 − 0.259) 35.0%

Step 5 is the check. If you are handed a margin, converting it back should land on the markup the supplier quoted, give or take rounding.

For quick reference, here is the same conversion at other percentages. The left half starts from a quoted markup; the right half starts from a quoted margin.

Quoted markup Equals margin of Quoted margin Equals markup of
20% 16.7% 20% 25.0%
25% 20.0% 25% 33.3%
30% 23.1% 30% 42.9%
35% 25.9% 35% 53.8%
40% 28.6% 40% 66.7%
50% 33.3% 50% 100.0%

Read the illustrative 35% rows side by side. A 35% markup and a 35% margin are nearly 19 percentage points apart once both are expressed as markup.

What an unlabelled "35" can cost

Here is the same worker priced both ways. Same illustrative inputs: a pay rate of $60.00 per hour, and a quote of "35" that one party reads as markup and the other as margin.

Reading of "35" Calculation Bill rate
35% markup on pay $60.00 × 1.35 $81.00 per hour
35% margin on bill $60.00 ÷ (1 − 0.35) $92.31 per hour
Difference $92.31 − $81.00 $11.31 per hour

Over an illustrative 1,800 billed hours in a year, using the rounded hourly figures, that is $11.31 × 1,800 = $20,358.00 for one worker. The point is not the total, which depends entirely on the inputs. The point is that the difference comes from a missing word in the contract, not from anything the worker did.

The spread is also not the supplier's profit. When a staffing supplier employs the worker, it carries the employer's obligations. In the US, the Internal Revenue Service (IRS) says an employer generally withholds income, Social Security and Medicare taxes from wages, pays the matching employer share of Social Security and Medicare, and pays unemployment tax (IRS, Independent contractor (self-employed) or employee?, read 19 October 2026). Those costs, plus whatever benefits and insurance the supplier provides, come out of the spread before any profit does. Breaking a bill rate down layer by layer is a separate exercise from the conversion here.

How to keep markup from drifting after you agree it

In my view, the safest contract states the bill rate, not only the markup. A markup is a formula; a bill rate is a number you can check an invoice against. If you do agree a markup, write down three things next to it: the base it applies to (pay rate), whether it is markup or margin, and what is included in the pay rate.

Then put the agreed maximum bill rate per role and site on a rate card, and check invoice lines against it. A rate card nobody compares with invoices is a suggestion. The spend and rate governance topic page sets out the other checks I would run at the invoice line.

This is how VendOrca, the AI-native vendor management system (VMS), handles rates. A rate card pairs a job code and a site with a rate and a currency, and can name a supplier (key concepts). Invoices are created for a period only from approved work, priced from the rate card that applied at the time, and each approved row is invoiced once (invoicing and tie-out). Amending the rate on an assignment adds a new version with the date it takes effect, and earlier versions stay as they were.

Frequently asked questions

What is a typical staffing agency markup?

I won't quote a typical figure, because markups vary by role, market, supplier and what the pay rate includes, and I have not seen a source I would stand behind. What you can do is convert every quote you receive into both markup and margin, using the formulas above, so you compare like with like.

How do you convert margin to markup?

Divide the margin by one minus the margin. As an illustrative example, a 25% margin is 0.25 ÷ 0.75, which is a 33.3% markup. Going the other way, divide the markup by one plus the markup.

Is contractor markup the supplier's profit?

No. When the supplier employs the worker, the spread also pays the employer's taxes and whatever benefits and insurance the supplier provides. Profit is what remains after those costs.

Should a contract state the markup or the bill rate?

My preference is the bill rate per role and site, because that is the number an invoice can be checked against. If the contract uses a markup, it should say that the percentage is markup on the pay rate, and define what the pay rate includes.

Markup and margin describe the same spread over a different base. Ask which one a supplier means, convert it both ways, and agree a bill rate you can check every invoice line against. If you want rate cards checked at the invoice line, you can Start free.

Sources

Frequently asked questions

What is a typical staffing agency markup?

I won't quote a typical figure, because markups vary by role, market, supplier and what the pay rate includes, and I have not seen a source I would stand behind. What you can do is convert every quote you receive into both markup and margin, using the formulas above, so you compare like with like.

How do you convert margin to markup?

Divide the margin by one minus the margin. As an illustrative example, a 25% margin is 0.25 ÷ 0.75, which is a 33.3% markup. Going the other way, divide the markup by one plus the markup.

Is contractor markup the supplier's profit?

No. When the supplier employs the worker, the spread also pays the employer's taxes and whatever benefits and insurance the supplier provides. Profit is what remains after those costs.

Should a contract state the markup or the bill rate?

My preference is the bill rate per role and site, because that is the number an invoice can be checked against. If the contract uses a markup, it should say that the percentage is markup on the pay rate, and define what the pay rate includes.

Sources

  1. An employer generally withholds income, Social Security and Medicare taxes from an employee's wages, pays the matching employer portion of Social Security and Medicare taxes, and pays unemployment tax on wages.

    irs.gov/businesses/small-businesses-self-employed/independent-c…Accessed

David Gertz

Founder, VendOrca

I'm the founder of VendOrca, an AI-native vendor management system for companies that run on contractors, freelancers and outsourced teams. Before this I spent seven years in product, mostly on payments platforms at Global-e and Shiji Group, and before that in Unit 8200. I write about the boring part of contingent work, the part procurement has been doing for thirty years: who approved this, what does it cost, and did the work actually get done.

David Gertz on LinkedIn

Share on LinkedIn