Delivery fees: what to charge, and what to cover

You assume your delivery fee has to cover your delivery. That is exactly the sum that costs you orders.

14 min read 24 April 2025

A bowl of noodles with broccoli and pepper on a black surface.

The number at the bottom decides whether anyone checks out

A guest picks your restaurant off a photograph of the pizza. They check out on the total. In between sits one line you set yourself and rarely look at. The people who drop out, drop out there.

That is not because the amount is large, it is because it arrives late. The guest settled the bill in their head while scrolling your menu. If something is added after that, they have to take their own decision again. That is the moment the tab closes.

And they are not comparing against your costs, but against what they paid in the app last night at the place two streets over. Your sums about couriers and insurance are not on their screen. Only the difference is.

So you have two levers: how much you charge, and when you show it. This piece is mostly about the first. The second costs nothing and is a Monday job.

What a delivery run actually costs you

Before you pick a fee you need one figure: what it costs you to get a single order to somebody’s door. Not roughly. Work it out for your own restaurant, because it varies by city, by distance and by how you have arranged it.

Broadly there are two models. You deliver yourself and pay wages, insurance, maintenance and the idle time between runs. Or you buy each run from a courier service at a fixed amount that does not move with what is in the bag.

CostDoes it move with the order value?
Courier run or driver’s hourly wageNo, a run costs the same on €18 as on €45
Packaging, bags, insulated carriersA little, more food means more containers
Payment charges on iDEAL or cardPartly, usually a percentage plus a fixed amount
Kitchen and telephone timeBarely
Commission on a platform orderYes, it is a percentage of the whole bill

That table is the whole argument in miniature. Almost everything delivery costs is fixed per run, while everything you earn from it moves with the order value. A €25 order and a €50 order cost you the same run and leave very different margins.

So your fee is not your most important lever. Order value is.

What Dutch guests are used to seeing

Your guest has a frame of reference and it did not come from you. It came from the delivery apps, from grocery delivery and from every webshop they used this year. There they see delivery fees of a few euros, often with a promise that the fee disappears above a certain amount.

That frame varies by postcode and it shifts, which is why this piece contains no amount you can simply copy. What it does contain is how to find your own figure inside ten minutes.

Now you have a range instead of a hunch. Sit well above it and you know why your checkout page leaks. Sit below it and you have something worth saying at the top of your ordering page. Compare totals rather than single lines, because fee and service charge sit apart on most platforms.

What the research says, and where it comes from

There is research on delivery fees and it is American. Researchers at Cornell University looked at how the delivery fee shapes the decision to order, and found that willingness to check out drops sharply once the fee passes a certain amount. That amount was in dollars, in an American market, with American habits around tipping and service charges.

I am not going to convert it into euros and present it as a Dutch figure, because it is not one. What does transfer is the mechanism: the response to a delivery fee is not a straight line. There is an amount below which the guest accepts it without thinking, and above which they start doing sums. Between the two there is no slope, there is a kink.

Platforms that test their own fees land on the same pattern. That is also data from parties with an interest in the answer, so treat it as a direction and not as a standard.

So you do not need the exact tipping point. You only need to know it exists, that it sits near what the guest is used to elsewhere, and that you want to stay under it.

The part you cover yourself

If the fee your guest accepts is lower than what the run costs you, there is a gap. You close it in three ways: you cover it, you bury it in your menu prices, or you charge the full amount and accept that a share of guests walk away.

The first feels like a loss and usually is not. Check it against the only figure that matters: what the same order costs you through a platform.

What you fill inWhere you get it
Order valueYour average delivery order from last month
Commission through the platformThe percentage in your own contract
Cost of one runYour own sum from section two
What the guest paysWhat you looked up in your own postcode
What you coverCost of the run minus what the guest pays
Difference per orderThe commission you do not hand over minus what you cover

The answer takes the same shape at almost every restaurant. On a large order, ordering direct wins easily. On a small one it can tip the other way, which is what the next section is for.

What you cover is a fixed amount per run. What you save is a percentage of the whole bill. Which is why everything hangs on order value.

Do that sum once on paper, with your own figures. Most owners who work it through find they had set their fee higher than it needed to be, and were giving away profitable orders.

The minimum order value is your counterweight

The objection every owner raises here is fair. Why cover two euros for somebody ordering a single sandwich. You should not. You attach the low fee to a threshold.

Below the threshold you still deliver, but the guest pays the full fee. Above it the fee drops to the amount you know they accept. They see that difference while ordering rather than at checkout, and that is what makes them add one more item.

Set the threshold just above your current average order. Too high is not an incentive but a wall, and the guest orders where they can clear it.

  1. Take the average of last month’s delivery orders
  2. Set the threshold a few euros above it, within reach of one extra item
  3. Check that you still keep a margin at exactly that amount once the run is paid for
  4. Show the difference on the ordering page, in the basket and at checkout
  5. After a month, count how many orders stall just below the threshold

That last step is almost never taken and it is the most important one. A pile of orders stopping just short of your threshold does not mean guests are tight-fisted. It means you set it one item too high.

Four ways to structure your delivery fee

There is no single correct structure. There are four that work, each suited to a different delivery area.

StructureWorks well whenWhat to watch
One flat, low feeSmall area, orders that look alikeSmall runs cost you money with no minimum underneath
Free above a thresholdYour average order already sits close to that thresholdFree gets expensive if the threshold is too low
Tiered by distance or postcodeLarge area, or long runs at the edgeClear upfront, otherwise it reads as a surprise
Low above a threshold, higher belowYou want to neither refuse nor subsidise small runsTwo fees need one sentence of explanation

The fourth suits most restaurants: it pushes hard on order value while turning nobody away. It is also the hardest to write down, because two amounts quickly become small print. One sentence is enough: what delivery costs, and the amount above which it costs less.

What you should not do in any of the four is bury the difference in your menu prices. That is what happens on the platforms to absorb the commission, and it is why guests suspect ordering direct is cheaper. Do the same and you give away the one honest advantage you have.

Collection is a separate lever. No run, so no delivery cost, and you are allowed to say so out loud.

Saying it early costs nothing and pays the most

This is the only change in this piece that costs no money. The amount stays the same. All that changes is the moment the guest sees it.

Put your delivery fee and your threshold where the guest starts, not where they pay. At the top of the ordering page, in the basket with every item added, and once more at checkout, where it reads as a confirmation rather than news.

The same goes for your delivery area and your delivery times. A guest who spends twenty minutes building an order and is then told you do not cover their postcode will not come back to try collection.

  • In the first line of your ordering page, next to your delivery area
  • In the basket, with what is still needed to clear the threshold
  • At checkout, as a confirmation rather than a surprise
  • In your confirmation email, so the amount never becomes a question later
  • In your Google profile, if you deliver free above an amount

Do not change those two things on the same day. Move the amount forward first, watch for a fortnight, and only then adjust the amount itself.

Set it, then check whether it holds

A delivery fee is not a setting you get right once and then forget. It is a price, and a price gets tested.

  1. Work out your cost per run using real figures from last month
  2. Look up what five places in your own postcode charge
  3. Set your fee at or below that level and decide what you will cover
  4. Attach that fee to a threshold just above your average order
  5. Put both amounts at the top of your ordering page and in the basket

After that, look at the same four numbers every month. Never one alone, or you steer towards revenue with no margin, or margin with no guests.

  • The share of visitors who fill a basket and actually pay
  • Your average delivery order, measured before and after the threshold
  • Your margin per delivered order, after what you cover
  • The share of revenue arriving directly rather than through a platform

If the first number rises and the last one does too, it is working, even when you cover more than last month. That amount is not a cost running away from you, it is the price of not paying commission.

If nothing moves, your fee was already fine and the leak is somewhere else: a checkout page asking for too much, or a delivery time you never mention anywhere.

Common questions

How much can I charge for delivery without losing orders?
No single amount works everywhere, because your guest compares against what is charged in their own postcode. Start by looking up what five places in your delivery area ask, and make sure you sit at or below that level. If that is lower than what a run costs you, cover the difference and attach the low fee to a minimum order value. That is almost always cheaper than the commission through a platform.
What is a sensible minimum order value for delivery?
Take your average delivery order from last month and set the threshold a few euros above it, so that one extra item clears it. Then check that you still keep a margin at exactly that amount once the run has been paid for. After a month, count the orders that stall just below the threshold. If there are many, it is set too high and you are leaving revenue on the table.
Do I charge VAT on delivery fees?
Yes, the delivery fee is part of what the guest pays, so it is taxable. Which rate applies depends on what you are delivering: food falls under the reduced 9 per cent rate, most drinks under 21 per cent. On an order containing both, the delivery fee is split in the right proportion. Put it to your bookkeeper once, then let your till or ordering system apply it automatically.
Is free delivery a good idea?
Only above a threshold, and only once you have worked that threshold through. Delivering free from an amount your guests already reach is not a promotion, it is a gift. From an amount just outside their habit, it is one of the strongest incentives you have to lift your average order. Deliver free under any condition and you pay for every small run out of your own margin.
What does a delivery actually cost me per run?
You have to work it out yourself, because it varies a great deal. If you deliver with your own people, add the wages across a full shift to insurance, maintenance and fuel or charging, then divide by the number of runs in that shift. Do not leave out the idle time between orders, because you pay for that too. If you buy runs from a courier service, the amount per run is already on your invoice and you only add packaging.
Should I charge the same delivery fee as Thuisbezorgd or Uber Eats?
Check your platform contract first, because it may say something about the prices you ask elsewhere. Beyond that, your own site is where you can come out cheaper, since there is no commission on the order. Compare totals rather than single lines: on a platform the delivery fee and the service charge sit apart, so a low fee there says little about what the guest finally pays.

Back to the blog

See everything on trends and data

The calmest way to sell direct

Book a demo