← All posts
6 August 2026

Outsource web development: what it costs an agency, and what it should return

Gross margin on resold hours is the wrong number. The only resource still scarce is your own senior time. Here is the arithmetic nobody publishes straight.

You have already decided to outsource. The comparison against hiring is behind you, the shortlist is in front of you, and every partner on it is quoting an hourly rate.

That rate is the number you will use to choose between them, and it is close to the least informative number in the whole decision.

The short version

Once you outsource, the money question stops being what you pay per hour and becomes what you earn per hour of your own senior time, because that is the only resource in the arrangement you cannot buy more of. Gross margin on resold hours hides that entirely: it treats your scoping, briefing, review and project management as free. Count them and the ranking of your shortlist can invert, because a partner at a lower rate that needs more of your week can return meaningfully less than an expensive one that needs almost none of it.

The number everyone quotes, and why it misleads

The standard calculation is one line. You buy at a partner rate, you sell at your client rate, and the difference is your margin.

It is easy, it is what every partner’s sales page encourages, and it quietly assumes your involvement ends when the brief is sent. It does not. Outsourced development does not remove your agency from the project, it changes which parts you do. Somebody still writes the scope, answers the partner’s questions, runs the review cycles, sits in front of the client, and owns the launch.

Those hours are real, they are senior hours rather than junior ones, and they are the reason two projects with identical gross margin can be worth completely different amounts to your business.

Margin per agency hour, with your own numbers

One formula, three inputs, and you can run it on a project you have already delivered.

Margin per agency hour = (client price minus partner cost) / hours your own team spent on the job

The third input is the one you have to go and find. Count scoping and requirements, writing and revising the quote, briefing the partner, every review cycle, client-facing project management, your own QA pass, and launch coordination. Senior hours only. If a director spent a morning on a call about it, that is a morning.

A worked example

An agency sells a build to its client for $24,000.

Partner A quotes $60 an hour and delivers in 200 hours, so partner cost is $12,000. Gross margin is $12,000, a tidy 50%. The agency’s own time comes to 66 hours: 10 on scoping, 8 briefing, 14 in review cycles, 20 on client-facing project management, 8 on QA, 6 on launch.

  • Margin per agency hour: $12,000 / 66 = about $182

Partner B quotes $40 an hour. Cheaper by a third. The work takes 240 hours because the team is less senior, so partner cost is $9,600. Gross margin is $14,400, which is 60%, and on a spreadsheet Partner B has just won the comparison outright.

Then count the agency’s side. Thinner documentation, more questions, two extra review rounds and a round of rework on work that did not match the brief. Agency time comes to 110 hours.

  • Margin per agency hour: $14,400 / 110 = about $131

Partner B produced a better gross margin and about 28% less return on the only resource that was scarce. The agency that switched to Partner B to protect its margin gave up 44 hours of senior capacity to gain $2,400, which is roughly $55 an hour for time it sells at several times that.

The break-even, which is the useful part

Turn it around and the question gets sharp. Partner B’s margin of $14,400 matches Partner A’s return per agency hour only if it consumes fewer than 79 hours of your team’s time, against Partner A’s 66.

So the cheaper partner does not have to be as good. It has to be almost as easy to work with, within about 13 hours on a project this size. That is a far harder test than the rate comparison it replaced, and it is the test that actually predicts which partnership you will still be running in two years.

Run this on your last three delivered projects before you renegotiate anything. Most agencies have never totalled their own hours on an outsourced build, which means the number is not merely unoptimised, it is unknown.

If you want a real figure rather than a placeholder in the partner-cost slot, our own white label WordPress development pricing sets out the price shapes and what moves them. And if you are still weighing this against a hire rather than between partners, the in-house developer versus white label partner comparison runs the employment side of the arithmetic in full, which this article deliberately does not repeat.

The cost lines nobody puts in a quote

Four of them. None is an argument against outsourcing. Each is an argument for counting before you compare.

1. Briefing and review, which scale with the partner not the project

A partner that documents its own work, writes its own test notes and hands back something reviewable is buying your time back for you. A partner that returns a staging link and a shrug spends it. This is the single largest swing factor in the example above and it is almost never discussed during a sales call, because it is a property of how a partner works rather than of what they charge.

Ask to see the handover artefacts from a real project before you sign. We wrote up how a white label handoff works precisely because the answer is checkable in advance, and how to choose a white label agency covers the rest of the vetting.

2. Rework from thin briefs, which is usually your cost

Worth saying plainly, because it cuts against our own interest: a large share of rework on outsourced projects is caused by the brief, not by the build. If the scope handed over was ambiguous, the partner built something defensible and you are paying to change it. That cost lands on your margin whoever caused it.

The practical defence is not a longer contract. It is a scope that names what is out of scope, and one senior person on each side who is allowed to make a decision without convening a meeting.

3. The cash flow gap, which has a statutory shape

You pay your partner on their terms. Your client pays you on yours. The gap between those two dates is working capital, and on a large build it is the reason a profitable project can still hurt.

If your partner is in the EU, their invoices are written against a regime you can read. Under Directive 2011/7/EU on combating late payment in commercial transactions, the default payment period between businesses is “30 calendar days following the date of receipt by the debtor of the invoice or an equivalent request for payment” (Article 3(3)(b)(i)), and a contractual period must not exceed “60 calendar days, unless otherwise expressly agreed in the contract” (Article 3(5)). Late payment carries statutory interest at “the sum of the reference rate and at least eight percentage points” (Article 2(6)), plus “as a minimum, a fixed sum of EUR 40” per invoice (Article 6(1)), which Article 6(2) makes payable “without the necessity of a reminder”.

Plan against those rules rather than the proposed ones. The Commission’s 2023 proposal to replace the directive with a regulation capping terms at 30 days is recorded on the European Parliament’s legislative train as “Status: Blocked”, with the Council named as the blocking institution, on an entry last updated 20 June 2026. It has been pending long enough that some guidance written about it describes rules that never came into force.

The lever available to you is sequencing rather than negotiation: a deposit that lands before the partner’s first invoice, and milestone billing that keeps your client’s payments ahead of your partner’s, removes most of the gap without either side moving on price.

4. Cross-border setup, which is paperwork rather than a rate

If you are a US agency and your partner is a company outside the US, you will be collecting a Form W-8BEN-E from them. The IRS states its purpose plainly: “Form W-8 BEN-E is used by foreign entities to document their status for purposes of chapter 3 and chapter 4, as well as other code provisions”. The current revision of both the form and its instructions is dated October 2021.

That is administrative setup, not a recurring per-project cost, and the specifics of your own withholding and reporting position are a question for your accountant rather than for a partner’s sales page. Budget an afternoon for it once and stop treating it as a reason to prefer a domestic supplier at a worse number.

What outsourcing should return, beyond margin

Margin per agency hour is the floor. If that is all a partnership produces, it is a transaction and it will be re-tendered on price every year.

The returns worth choosing a partner for are the ones that change what your agency can sell:

  • Coverage you did not have to hire for. One developer is one stack. A partner is a team, so a client portfolio that spans WordPress, a store and a legacy application is answered on their side of the line rather than yours.
  • The ability to say yes. The most expensive project is the one you declined because you had no capacity that month. That decline does not appear in any cost model, and it usually costs the client relationship too, not just the job.
  • The support tail routed away from your project team. Builds are finite, support is not. Reselling that as a care plan under your own brand turns an overhead into recurring revenue, which is the subject of white label WordPress maintenance.
  • A falling hour count. This is the one to watch.

The test that settles it after three projects

Track your own hours per project across the first three or four jobs with a new partner. In a partnership that is working, that number falls, because the partner has learned your standards, your stack conventions and the way your clients behave.

If it is flat or rising after several projects, the rate is not your problem and a better rate will not fix it. You have bought hours, not capacity, and the arithmetic at the top of this article will keep getting worse as you send more work.

When outsourcing is the wrong call

We are a white label partner, and there are cases where we will tell you not to do this:

  • Development is what clients choose you for. If your positioning is technical, that capability belongs inside the building. Do not outsource your differentiator.
  • The work is genuinely exploratory. If nobody can write a brief yet because the product is still being discovered, you need someone in the room, not a scope. Outsource the build after the discovery, not instead of it.
  • Nobody at your agency can review the output. This is the common failure. If you cannot technically assess what comes back, you are not managing a supplier, you are hoping. Get a review capability first, even a fractional one.
  • The project is small enough that the wrapper dominates. Small builds carry nearly the same overhead as large ones, which breaks the margin in a specific way we set out in outsourcing small web projects.

Quick answers

How much does it cost an agency to outsource web development? The partner rate is the visible half. The half that decides whether the job was worth taking is your own senior time across scoping, briefing, review, project management, QA and launch. Total it before comparing any two partners.

Is a cheaper partner better value? Only if it is also nearly as easy to work with. In the example above, a partner at two thirds the rate showed a higher gross margin and returned about 28% less per agency hour.

What is margin per agency hour? Client price minus partner cost, divided by your own hours on the job. It prices the resource you cannot buy more of.

When should we not outsource? When development is your differentiator, when the work cannot be briefed yet, or when nobody can review what comes back.

Where to start

Take the last project you outsourced, total your own hours honestly, and divide. Whatever that number is, it is the real one, and it is almost certainly not the number in your proposal template.

If you want it run against a live quote rather than a finished job, send us the scope and your client price and we will tell you what it would cost on our side and roughly what your own hours would look like. If the answer is that your current arrangement is better, that is a useful thing to know for free. What we do for agencies, and how the commercial side is structured, is set out on our agency page.

Tell us what’s broken.
We’ll tell you the truth.

Book a free call →
Reply within one business day · EN / LV