Keep more of it: 10 AI skills for the bills, not the menu

delivery-commission

what the apps take, and what is left

How the two work together

Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.

Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.

No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.

Prompt for Claude

---
name: delivery-commission
description: Takes your actual Deliveroo, Uber Eats and Just Eat statements and your menu, reads your own commission rate off your own remittance instead of assuming one, and works out what each order really nets after the fee, VAT, packaging and food cost, so you can see which dishes lose money on the apps and what the marketplace-versus-own-delivery decision is worth in pounds. Use when the apps feel busy but the bank balance does not move, or when you are about to sign, renegotiate or leave a platform.
---

# What the apps take, and what is left

You give me your last full statement period from each platform you are on, your menu with the app prices, and what a portion of each dish costs you to make. Photos of the remittance PDF, a CSV export, a printed invoice, a scribbled recipe card, all fine. You get back your real commission rate read off your own statement rather than off the internet, the VAT position on each line of the menu, the packaging cost the counter version never had, and a per-dish table showing what actually reaches your bank on every order. Then the two decisions worth money: which dishes should come off the app menu or change price, and whether your own delivery would beat the marketplace rate at the volume you actually do. It is a working document for you and your accountant, not a tax opinion.

## What it does

1. **Start from the remittance, never from the app dashboard or a figure someone quoted you.** Ask for the full statement covering one complete payment period per platform: the number of orders, gross order value, every fee line deducted, refunds and adjustments, promotion or offer costs, and the amount that actually landed in the bank. The dashboard shows sales; the remittance shows what happened to them, and the gap between the two is the whole subject of this skill. Deliveroo's own partner terms describe the deduction chain in a single sentence, and it is worth reading slowly because three separate things come off before you see any money: "We will pay you an amount equal to the GMV for your Delivery Orders during the relevant payment period, less the Delivery Service Fee, less any relevant adjustments for refunds paid to customers during the relevant payment period." Refunds are the line owners forget. A refunded order still cost you the food, the packaging, the gas and the twenty minutes, and it comes off the payment as if it never happened.

2. **Read your own commission rate off your own statement, because nobody publishes yours and every rate in circulation is somebody else's.** Divide the total fee deducted by the gross order value for the same period, then check that figure against a handful of individual order lines, because a blended rate can hide a different rate on pickup, on self-delivery, or on orders that came through a promotion. Do not accept a number from an article, a forum, a competitor or from me. Deliveroo's partner terms state the method and refuse to state the number: "Our service fee is calculated as a percentage of GMV (inclusive of VAT) per order, plus VAT at the prevailing rate." Uber's merchant terms do the same, sending the number to the contract you personally signed: "In consideration for the use of the Uber Eats Services, Uber UK will charge Merchant a 'Service Fee' for each specific Method as specifically set forth in the Order Form." The Competition and Markets Authority hit the same wall when it had statutory powers to demand the figures and still published them blanked: "On average, restaurants on the Deliveroo platform pay a commission rate of around []%, although the actual rates paid by restaurants listed on the platform range from []% to []%." A range wide enough to redact is a range wide enough that your neighbour's rate tells you nothing about yours.

3. **Check what the percentage is charged on, because the base moves the answer more than the rate does.** Deliveroo's terms say the fee is "calculated as a percentage of GMV (inclusive of VAT) per order" — that is, a percentage of a number that already contains the VAT you will hand to HMRC. On a hot meal sold at £24 the platform's percentage is applied to £24, not to the £20 that is genuinely yours, so a headline rate understates the bite on your own money by a fifth on every standard-rated line. Confirm the base from your statement rather than assuming it is the same on each platform or on each service type, and write the base down next to the rate, because the two numbers are useless apart. Then note whether promotions and discounts are deducted before or after the fee is calculated, which changes what a "buy one get one" actually costs you.

4. **Settle the VAT on each dish before you touch the margin, because this is where most owners' arithmetic quietly goes wrong.** The rule people carry in their heads — cold food is zero-rated — survives the counter and dies on the app. HMRC's Notice 709/1 states the takeaway position plainly: "Hot takeaway food and drink that meets certain tests set out below is standard-rated. Cold takeaway food and drink is zero-rated, as long as it's not of a type that's always standard-rated (such as potato crisps, sweets and some beverages including bottled water)." But the same notice lists, among the examples of catering in its ordinary meaning, "delivery of cooked ready-to-eat food or meals (with or without crockery or cutlery)", and says that if a supply meets any of those definitions "they're 'in the course of catering' and are standard-rated". Go line by line down the app menu and mark each one, using the notice's five tests for hot food: it is standard-rated if it is hot when handed over and it has "been heated for the purposes of enabling it to be consumed hot", "been heated to order", "been kept hot after being heated", "provided to a customer in packaging that retains heat", or "advertised or marketed in a way that indicates that it's supplied hot". That fourth test catches more delivery menus than any other, because insulated bags and lidded containers exist to retain heat, and the fifth catches a menu that promises food arrives hot. Mark anything you are unsure of as unresolved and send it to your accountant rather than guessing it; guessing here is how a business discovers an assessment two years later.

5. **Handle the delivery charge and the question of who is actually selling the food.** On the marketplace model the platform takes the customer's money, but you are the one making the supply, and Uber's merchant terms say so in terms that leave nothing to interpret: "Merchant is the 'retailer' or 'seller' of all Items (including delivery services related to such Items, if using the Aggregator Delivery Method)", and "The Retail Price for each Item will include VAT and Merchant is solely responsible for determining and setting the rate of applicable VAT to be charged to Customers for Items available on the Uber Eats App." So your VAT is due on what the customer paid for the food, not on the reduced amount that reached your account, and setting the rate is your job and your risk, not the platform's. Where you charge for delivery yourself, HMRC's Notice 700/24 is the reference: it says of delivered goods that "The position is not affected by whether the charge for delivery is separately itemised or invoiced to the customer", and that where delivery is a separate supply — broadly, where "delivery is not required under the contract or you deliver somebody else's goods" — then "the liability of the delivery charge is not affected by the liability of the goods you're delivering and is always standard-rated". Record which of these your arrangement looks like, flag it for your accountant, and do not let the model decide it for you.

6. **Add the VAT on the commission itself, then decide whether you ever get it back.** The fee is a supply to you, and it carries its own VAT: Deliveroo's terms say the service fee is charged "plus VAT at the prevailing rate", and Uber's say "All Fees payable pursuant to this Agreement are exclusive of VAT." If you are VAT registered that VAT is input tax and the cost to you is the fee itself. If you are not registered, it is simply more money gone, and the app is costing you a fifth more than the percentage suggests. GOV.UK sets the registration line: "You must register if either: your total taxable turnover for the last 12 months goes over £90,000 (the VAT threshold) [or] you expect your taxable turnover to go over £90,000 in the next 30 days", and adds that "You can choose to register for VAT if your turnover is less than £90,000 ('voluntary registration')." State in the document which side of that line the business is on, because the same commission rate produces two different answers depending on it, and a business near the threshold pushing volume through the apps needs to see the crossing coming rather than meet it.

7. **Build the per-dish line, in this order, and let it go negative on the page rather than in the bank.** For each dish: the app price the customer pays, minus the VAT if it is standard-rated, minus the commission calculated on the base you confirmed in step 3, minus the VAT on that commission if you are not registered, minus packaging — box, lid, bag, sauce pot, cutlery, napkin, label, priced at what you actually pay per unit and not rounded to nothing — minus the food cost of the portion. What is left is what that dish contributes on the app, before a single minute of labour, gas or rent. Then put the same dish's counter or table contribution next to it, so the comparison is visible rather than argued. The dishes that fail are predictable and they are rarely the expensive ones: low-price high-food-cost items, anything with a heavy container, anything given away as a side, and anything whose app price was copied straight from the in-house menu. Sort the list by contribution per dish and again by contribution times the number sold, because a small loss on the best seller outweighs a large loss on something that goes out twice a month.

8. **Do the marketplace-versus-own-delivery arithmetic with your own numbers, using the published spread only as a shape.** Uber Eats is the one platform of the three that publishes UK merchant rates at all, and it publishes them as a menu of options: "The Uber Eats service fee is calculated using the fee percentages below, which vary depending on the option you choose (does not include VAT)", then "30% Delivery Fee" where Uber delivers, "13% Delivery Fee" where you deliver yourself, "13% Pickup Fee" for collection, and a one-off activation fee of "£650 (excl. VAT)". Treat those as evidence that the gap between letting the platform deliver and delivering yourself is large and real, not as your numbers — yours come from step 2. Then the calculation is simple and rarely done: take your own spread between the delivery rate and the self-delivery or pickup rate, multiply it by your average order value, multiply by the orders you actually get in a week, and compare it with the fully loaded weekly cost of doing the deliveries yourself — wages including on-costs, a vehicle, fuel, hire and reward insurance, phones, and the orders you will lose because your own delivery radius is smaller and your own app is not where people look. The CMA's own framing is that this is a genuinely different product and not just a cheaper one: logistics platforms "provide a somewhat different offer from a restaurant perspective — offering delivery services and charging much higher commission rates as a result". Note too that the 2017 CMA restaurant survey found "The vast majority of restaurants on Just Eat (96%) provide their own delivery service", which is the reminder that marketplace-only listing is an ordinary way to trade, not an exotic one.

9. **Finish with the decisions, the things you could not resolve, and what triggers redoing this.** Three lists. First, price and menu actions: which dishes to reprice on the app, which to take off it, which to bundle so the packaging cost is carried once, and what the new contribution is at the proposed price. Second, contract actions: the rate you are actually on, what a percentage point is worth to you per year in pounds, which service tier you are on and whether pickup or self-delivery is worth testing, and the date your agreement allows a change. Third, open questions for the accountant, each written as a question rather than an assumption — the hot or cold status of any borderline dish, the delivery charge treatment from step 5, and the registration position from step 6. Then set the triggers for redoing the whole thing: any change to your rate or tier, any change to app menu prices, a packaging supplier change, a promotion period, and the end of any onboarding or introductory rate, since Deliveroo's terms contemplate exactly that transition — after an onboarding offer period, partners "will be subject to Deliveroo's standard commission rates". An introductory rate that expires unnoticed can move a whole menu from profitable to not, in one week, with no email you will remember reading.

## Then it checks

1. Every commission rate, fee and percentage in the document is either read off the owner's own statement, with the statement and period named, or quoted from a page that was actually fetched, with the URL and date beside it. There is no rate in the document whose origin is not stated.
2. The base each percentage is charged on is written down next to the rate — VAT-inclusive or VAT-exclusive, before or after promotions — and it was confirmed from the statement rather than assumed to match the other platform.
3. Every line of the app menu carries a VAT position, and each one is marked either standard-rated, zero-rated, or unresolved and referred to the accountant. Nothing is left blank, and nothing borderline is silently resolved in the owner's favour.
4. Every per-dish calculation includes packaging as a priced line, not a rounding, and names the packaging items counted. A dish whose packaging is recorded as zero is either genuinely unpackaged or the check fails.
5. The marketplace-versus-own-delivery comparison uses the owner's own rates and order volume, and its cost side includes wages with on-costs, vehicle, fuel, insurance and phones. A comparison built on a published rate that is not the owner's, or one that counts only a driver's hourly pay, fails.
6. The document states which side of the VAT registration threshold the business sits on, says the output is a working document for the owner and their accountant rather than tax advice, and lists the triggers for redoing it.

Any check fails: name it, redo that step once. Failed twice: say what is wrong and stop.

## Rules
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.
- Never state a commission rate, service fee or platform charge that was not either read off this owner's own statement or quoted from a named published page with its URL and the date it was read. Commission rates are negotiated per partner and the published record is deliberately incomplete: Deliveroo and Just Eat do not publish a UK merchant rate on their partner pages at all, and even the Competition and Markets Authority published its figures redacted. A skill that assumes a rate produces a confident wrong answer about the owner's own money, which is worse than producing none.
- Treat any commission figure found in an article, a forum, a comparison site or a search snippet as unusable. It is either unsourced, out of date, or somebody else's negotiated rate, and it cannot be told apart from a correct one by looking at it.
- Where a figure has to come from the owner, say so in the step and leave the space empty until they supply it. Do not fill a gap with a typical, average or illustrative number that will then be read as theirs.
- Never write a VAT treatment for a borderline dish as settled. Mark it unresolved and send it to the accountant. Hot or cold is a question about facts — how it was heated, how it was packed, how it was advertised — and those facts are the owner's, not the model's.
- Distinguish the fees the platform charges the customer from the fees it charges the owner. Published consumer service and delivery fees are not merchant commission, and using one as the other is the most common way this arithmetic goes wrong in public.
- This is written for restaurants, bars, cafés and pubs. Never shrink the category to "kitchens".
- This output is a working document prepared for the owner and their accountant. It is not tax advice, it is not legal advice, and it does not determine any VAT position. Whether a particular supply is catering, hot takeaway food or a zero-rated cold supply turns on facts that HMRC decides, and no calculation produced here settles that.

## Built from
- GOV.UK / HM Revenue & Customs, "Catering, takeaway food (VAT Notice 709/1)", https://www.gov.uk/guidance/catering-takeaway-food-and-vat-notice-7091, last updated 8 June 2026, read 15 September 2026: section 1.3 on what is "in the course of catering", section 2.1's ordinary meaning of catering and its example "delivery of cooked ready-to-eat food or meals (with or without crockery or cutlery)", section 2.2's rule that "Any supply of food or drink as part of a contract for catering is standard-rated", section 4.1 on hot versus cold takeaway, and the five tests in section 4.2 quoted verbatim in step 4.
- GOV.UK / HM Revenue & Customs, "Postage, delivery and direct marketing (VAT Notice 700/24)", https://www.gov.uk/guidance/vat-on-postage-delivery-and-direct-marketing-notice-70024, last updated 30 September 2022, read 15 September 2026: the treatment of delivered goods quoted in step 5, including that itemising the delivery charge separately changes nothing, and that a delivery charge which is a separate supply "is always standard-rated".
- GOV.UK, "Register for VAT", https://www.gov.uk/register-for-vat, no last-updated date shown on the page, read 15 September 2026: the £90,000 registration threshold and the voluntary registration sentence quoted in step 6.
- Deliveroo (Roofoods Ltd), "Deliveroo Partners Terms and Conditions", https://merchants.deliveroo.com/en-GB/legal/terms, Delivery Service, Marketplace+ and Pickup Service sections last updated 14 January 2021, Payment Cycle section last updated 11 August 2020, read 15 September 2026: the service fee method "calculated as a percentage of GMV (inclusive of VAT) per order, plus VAT at the prevailing rate" used in steps 2, 3 and 6, the payment sentence quoted in step 1, and the onboarding-to-standard-rate transition in step 9. No percentage appears anywhere in the document.
- Uber, "Uber Eats Merchant Terms and Conditions" (Great Britain), https://www.uber.com/gb/en/legal/uber-eats-merchant-terms-and-conditions/, last updated 16 June 2025, read 15 September 2026: clause 6.a.i deferring the Service Fee to the Order Form, quoted in step 2; clause 6.b.i making the merchant the "retailer" or "seller" and putting the VAT rate decision on the merchant, quoted in step 5; and clause 6.a.iv.1, "All Fees payable pursuant to this Agreement are exclusive of VAT", quoted in step 6.
- Uber, "Pricing That Works for Your Business", https://merchants.ubereats.com/gb/en/pricing/, no publication date shown on the page, read 15 September 2026: the only UK merchant rates any of the three platforms publishes — "30% Delivery Fee", "13% Delivery Fee" for self-delivery, "13% Pickup Fee", the activation fee of "£650 (excl. VAT)", and the sentence that the fee percentages "vary depending on the option you choose (does not include VAT)" — used in step 8 as the shape of the marketplace-versus-own-delivery spread and never as the owner's own rate.
- Competition and Markets Authority, "Just Eat and Hungryhouse: A report on the anticipated acquisition by JUST EAT plc of Hungryhouse Holdings Limited", 16 November 2017, https://assets.publishing.service.gov.uk/media/5a0d6521ed915d0ade60db7e/justeat-hungryhouse-final-report.pdf, read 15 September 2026: paragraph 6.19(a) with its redacted average and redacted range, quoted in step 2; paragraph 4.16 on logistics platforms charging "much higher commission rates", and paragraph 2.50(d)'s finding that 96% of Just Eat restaurants provided their own delivery, both used in step 8.
- Competition and Markets Authority, "Anticipated acquisition by Amazon of a minority shareholding and certain rights in Deliveroo: Final report", 4 August 2020, https://assets.publishing.service.gov.uk/media/5f297aa18fa8f57ac287c118/Final_report_pdf_a_version_-----.pdf, read 15 September 2026: paragraph 3.19, "Restaurants are charged a delivery fee by Deliveroo based on the order value; this fee is typically [] where restaurants use the online logistics-enabled marketplace", which is the clearest published demonstration that the rate is not public information and underpins rule four.
- Deliveroo, "Grow your business on Deliveroo" partner landing page, https://merchants.deliveroo.com/en-GB, read 15 September 2026: checked for a published UK merchant rate and found none, which is a cited absence rather than a cited figure.

Prompt for Codex

# delivery-commission

## You are given
A folder for one UK hospitality business trading on the delivery apps: full remittance statements covering at least one complete payment period per platform, as acquirer PDFs, portal CSV exports or phone photographs; the app menu with the prices the customer pays; the counter or table menu for the same dishes; recipe cards or a costing sheet giving the food cost per portion; packaging invoices; and whatever the owner has about their own VAT registration position. There may be more than one site and more than one merchant account per platform. Claude has already decided which dishes are borderline for VAT, which questions belong with the accountant, and how the marketplace-versus-own-delivery comparison should be framed. That decided material arrives as a text, CSV or Markdown file in the same folder. Assume the statements are not consistently named, that one platform's period does not line up with another's, and that at least one rate is not printed anywhere.

## Produce
Write into an `output/` folder next to the inputs:

1. `statement-lines.csv` - one row per named line on every statement. Columns exactly, in this order:
`platform,merchant_or_site,statement_period_start,statement_period_end,line_label_as_printed,line_category,orders_count,gross_order_value_gbp,amount_gbp,vat_on_the_line_gbp,source_file,page_or_row_reference`
 - `line_category` is one of exactly `gross merchandise value`, `service fee`, `delivery fee`, `pickup fee`, `promotion or offer cost`, `refund`, `adjustment`, `activation or sign-up fee`, `equipment or tablet charge`, `advertising`, `VAT on fees`, `net paid to bank`, `not classified`.
 - Every named line on the statement appears. Never drop a line, never fold one into another total, and never guess a category: anything ambiguous is `not classified`.
 - Where the statement does not print a figure, write `not shown on statement`.
2. `effective-rate.csv` - one row per platform, per merchant account, per service type, per statement period. Columns exactly, in this order:
`platform,merchant_or_site,service_type_as_printed,statement_period_start,statement_period_end,orders_count,gross_order_value_gbp,total_fee_deducted_gbp,effective_rate_pct,base_the_percentage_is_charged_on,base_confirmed_from,promotions_deducted_before_or_after_the_fee,rate_source,source_file`
 - `effective_rate_pct` is `total_fee_deducted_gbp / gross_order_value_gbp * 100`, computed from this owner's own statement and nothing else.
 - `base_the_percentage_is_charged_on` is `VAT-inclusive order value`, `VAT-exclusive order value` or `not stated on the statement`, and `base_confirmed_from` names the file and line it was confirmed from. The rate and the base are useless apart, so neither cell may be filled while the other is empty.
 - `rate_source` is `read off the owner's own statement` for every row. A rate that cannot be computed or read off the statement produces no row here and goes in file 10 instead.
3. `order-line-spot-checks.csv` - columns exactly: `platform,order_reference,order_date,service_type,order_value_gbp,fee_charged_gbp,implied_rate_pct,matches_the_blended_rate_yes_no,difference_pct_points,source_file`. At least ten individual order lines per platform where the statement itemises them, chosen to cover each service type present. A blended rate that hides a different rate on pickup, self-delivery or promotional orders shows up here or nowhere.
4. `menu-vat-position.csv` - one row per dish per platform. Columns exactly: `dish,platform,app_menu_price_gbp,vat_position,which_test_it_was_marked_under,evidence_in_the_inputs,question_ref,source_file`
 - `vat_position` is one of exactly `standard-rated`, `zero-rated`, `unresolved, referred to the accountant`. **No cell is ever left blank, and nothing borderline is resolved in the owner's favour.**
 - `which_test_it_was_marked_under` is transcribed from the decided material. Where the decided material did not settle it, the row is `unresolved, referred to the accountant` and carries a `question_ref` into file 11.
5. `packaging-costs.csv` - columns exactly: `dish,packaging_item,supplier,invoice_number,invoice_date,pack_size_as_printed,pack_price_net_of_vat_gbp,unit_cost_gbp,units_per_order,line_cost_gbp,source_file`. Box, lid, bag, sauce pot, cutlery, napkin, label and anything else the inputs evidence, each priced from a supplied invoice. A packaging cost of zero is written only where an input says the item goes out unpackaged.
6. `dish-contribution.csv` - the money table, sorted by `contribution_per_order_gbp`, lowest first. Columns exactly, in this order:
`dish,platform,app_price_gbp,vat_position,vat_on_the_sale_gbp,price_net_of_vat_gbp,commission_base_gbp,commission_rate_pct,commission_gbp,vat_on_commission_gbp,vat_on_commission_recoverable_yes_no,packaging_cost_gbp,food_cost_gbp,contribution_per_order_gbp,units_sold_in_period,contribution_in_period_gbp,counter_price_gbp,counter_contribution_per_order_gbp,difference_gbp,source_file`
 - `commission_rate_pct` and `commission_base_gbp` come from file 2 for that platform and service type. A dish on a platform with no row in file 2 is not costed: it goes in file 10.
 - A dish whose `vat_position` is `unresolved, referred to the accountant` is written with `vat_on_the_sale_gbp` empty, every column from `price_net_of_vat_gbp` rightwards empty, and a `question_ref` in file 11. It is never costed on an assumed treatment.
 - Negative contributions are written as negative figures. Nothing is floored at zero.
7. `dish-contribution-by-volume.csv` - the same rows as file 6, sorted by `contribution_in_period_gbp`, lowest first, so a small loss on the best seller ranks above a large loss on something that goes out twice a month.
8. `marketplace-versus-own-delivery.csv` - columns exactly: `line,platform,amount,unit,how_it_was_calculated,source_file,status`. Rows, in this order: the owner's delivery rate, the owner's self-delivery rate, the owner's pickup rate, the spread in percentage points, average order value, orders per week, weekly value of the spread, annualised value of the spread, then the cost side: driver wages, employer National Insurance, pension contributions, holiday pay accrual, vehicle, fuel, hire and reward insurance, phones, other, total weekly cost of own delivery, and the difference. `status` is `read from the inputs`, `arithmetic on rows above` or `NOT SUPPLIED`. **A total is written only where every row feeding it is present; where any cost row is `NOT SUPPLIED` the total row reads `not calculated, see rates-not-found.csv` and the gap is listed in file 10.**
9. `value-of-one-percentage-point.csv` - columns exactly: `platform,merchant_or_site,gross_order_value_in_period_gbp,period_length_days,annualised_gross_order_value_gbp,value_of_one_percentage_point_gbp,how_it_was_calculated,source_file`. One row per platform per merchant account, so the owner can see what a point is worth before any conversation about the rate.
10. `rates-not-found.csv` - the exceptions file. Columns exactly: `platform,merchant_or_site,service_type,what_was_looked_for,where_it_was_looked_for,reason_not_found,effect_on_the_output`. `effect_on_the_output` is one of exactly `no effective rate calculated`, `dishes on this platform not costed`, `spread not calculated`, `cost side incomplete`, `figure left blank`. Every dish, platform and comparison that could not be completed appears here by name.
11. `questions-for-the-accountant.md` - a numbered list of every unresolved item, written as a question rather than an assumption. Every `unresolved, referred to the accountant` row from file 4 with the dish named and what is known about how it is heated, packed and advertised; the delivery charge treatment where the owner charges for delivery themselves; the VAT registration position as the inputs state it, written as a question about what follows from it rather than as an answer; and every conflict found between two statements. `question_ref` values run `A-001` upwards and match the references in files 4 and 6.
12. `README.md` - what was read, the statement periods covered per platform, the merchant accounts found, the count of lines by `line_category`, how many landed in `not classified`, the number of dishes costed, the number left uncosted, and any file that could not be read with the reason.

## Rules
- **Never assume, recall, average, import or infer a commission rate.** Every rate in this pack is computed from this owner's own remittance, or read off a rate line printed on that remittance, with the statement and period named in the row. A rate found in an article, a forum, a comparison site, a search snippet, a competitor's experience or your own knowledge is unusable: it is either unsourced, out of date, or somebody else's negotiated rate, and it cannot be told apart from a correct one by looking at it. A platform whose rate cannot be found produces no rate, no costed dish and no comparison, and goes in `rates-not-found.csv`.
- **The published record is deliberately incomplete and must not be patched.** Uber Eats is the only one of the three platforms that publishes a UK merchant rate at all; Deliveroo publishes the method and no percentage; no Just Eat merchant figure could be obtained from any Just Eat page. A published Uber figure may appear only as a clearly labelled `published rate, not this owner's` row in `marketplace-versus-own-delivery.csv`, never in `effective-rate.csv`, never in `dish-contribution.csv`, and never applied to another platform by analogy. The nine-year-old Just Eat and Hungryhouse figures from the 2017 competition inquiry are stale and must not be written anywhere.
- **Never state a VAT treatment.** Each menu line is `standard-rated`, `zero-rated` or `unresolved, referred to the accountant`, and the first two are written only where the decided material settled them with the test named. Hot versus cold takeaway turns on facts about how the food was heated, how it was packed and how it was advertised, and those facts are the owner's. Never settle a borderline dish, never settle the treatment of a delivery charge, and never state what the registration position means for the business. All of it goes to `questions-for-the-accountant.md`.
- Distinguish the fees the platform charges the customer from the fees it charges the owner. A consumer service fee, delivery fee or small-order fee printed on a customer receipt is not merchant commission and never enters `effective-rate.csv`. Using one as the other is the commonest way this arithmetic goes wrong in public.
- Write the base beside every percentage. A fee charged on a VAT-inclusive order value takes a bigger bite of the owner's own money than the headline rate suggests, and a rate without its base is not a finding.
- Refunds, adjustments and promotion costs are deductions and are entered as such. A refunded order still cost the food, the packaging and the time.
- Every figure, rate, date and reference traces to a supplied input file named in that row's `source_file` cell. Never fill a gap with a typical, average, illustrative or web-sourced number, a trade benchmark or a rounded guess. Gaps go in `rates-not-found.csv`.
- Packaging is a priced line, never a rounding. A dish costed with no packaging line and no input saying it goes out unpackaged is not costed.
- Round only at the point of display, to two decimal places. Rates are shown to two decimal places. The lines in `dish-contribution.csv` must sum to the contribution exactly.
- Never propose a price, recommend leaving or joining a platform, draft a notice, or send, sign, submit, cancel or renegotiate anything anywhere.
- This is written for restaurants, bars, cafes, pubs, hotels and venues. Never shrink the category to "kitchens".
- British English, £, dates written as DD Month YYYY. No em dash characters anywhere. No emoji.
- Put this line at the top of `rates-not-found.csv` as a first comment row, at the top of `questions-for-the-accountant.md` and at the end of `README.md`: "Working document prepared for the owner and their accountant. It is not tax advice, it is not legal advice, and it does not determine any VAT position."

## Return
The absolute path of each of the twelve files with their row counts, the statement periods read per platform, the merchant accounts found, the effective rate computed for each platform and service type with the base it is charged on, the count of statement lines by `line_category` and how many landed in `not classified`, the number of dishes costed and the number left uncosted with the reason, the number of dishes whose VAT position is unresolved, and every entry in `rates-not-found.csv`. State plainly that no commission rate was assumed and that no VAT treatment was settled here.

Built from the best public work on this

Sources for delivery-commission

Everything below was opened and read on 15 September 2026. Nothing is cited that could not be loaded. Just Eat's partner-facing pages could not be read at all, and that is reported honestly at the end rather than papered over with a figure from somewhere else.

One finding shaped this skill more than any other, and it came from the sources rather than from a view about them. **Not one of the three platforms publishes a UK commission rate on the pages a prospective partner would read, except Uber, and the Competition and Markets Authority published its own figures blanked out.** So the skill is built to read the rate off the owner's own remittance. Anything else would be a guess wearing a citation.

1. GOV.UK / HM Revenue & Customs, "Catering, takeaway food (VAT Notice 709/1)"

https://www.gov.uk/guidance/catering-takeaway-food-and-vat-notice-7091, last updated 8 June 2026, read 15 September 2026.

This is where most owners' delivery arithmetic actually goes wrong, and it is the reason step 4 comes before any margin calculation rather than after it.

The headline rule is section 4.1: "Hot takeaway food and drink that meets certain tests set out below is standard-rated. Cold takeaway food and drink is zero-rated, as long as it's not of a type that's always standard-rated (such as potato crisps, sweets and some beverages including bottled water)."

Section 1.3 sets the decision procedure: "To do this, check whether your supplies: Are within the ordinary meaning of catering, as defined in section 2.1; Are for on-premises consumption, as defined in section 3.2; Are hot takeaway food, as defined in section 4.2", and then, "If your supplies meet any of these definitions, they're 'in the course of catering' and are standard-rated."

Section 2.1 is the part that catches delivery. Catering "in its ordinary meaning includes the supply of prepared food and drink. It is characterised by a supply involving a significant element of service", and the notice's own examples include "delivery of cooked ready-to-eat food or meals (with or without crockery or cutlery)". Section 2.2 adds that "Any supply of food or drink as part of a contract for catering is standard-rated."

Section 4.2 supplies the five tests quoted verbatim in the skill. The precondition is that the food is hot when provided to the customer, and then one or more of: "been heated for the purposes of enabling it to be consumed hot", "been heated to order", "been kept hot after being heated", "provided to a customer in packaging that retains heat", "advertised or marketed in a way that indicates that it's supplied hot". Section 4.3 defines hot: "Something is hot if it's at a temperature above 'the ambient air temperature'."

Where the skill departs. The notice is a liability guide; the skill turns it into a per-line marking exercise across an app menu, which the notice does not ask for. More importantly, the skill refuses to resolve borderline dishes at all. The notice's tests are questions about facts — how a thing was heated, how it was packed, how it was advertised — and those facts belong to the owner and are ultimately judged by HMRC. A model that reads a menu line and declares a dish zero-rated is producing exactly the confident wrong answer that ends in an assessment, so the skill marks such lines unresolved and routes them to the accountant. That is deliberately less useful and considerably safer.

The notice also carries no word about delivery platforms, marketplaces, agents or online ordering. That absence is real and the skill does not fill it by analogy; the platform-side position in step 5 is taken from the platforms' own contracts instead, where it is stated explicitly.

2. GOV.UK / HM Revenue & Customs, "Postage, delivery and direct marketing (VAT Notice 700/24)"

https://www.gov.uk/guidance/vat-on-postage-delivery-and-direct-marketing-notice-70024, last updated 30 September 2022, read 15 September 2026.

Notice 709/1 sends readers here for delivery charges and does not answer the question itself, so this notice closes the loop for the owner who charges for their own delivery.

Two sentences do the work. On a single supply of delivered goods: "The position is not affected by whether the charge for delivery is separately itemised or invoiced to the customer." And where delivery is a separate supply — broadly where "delivery is not required under the contract or you deliver somebody else's goods" — "the liability of the delivery charge is not affected by the liability of the goods you're delivering and is always standard-rated".

Where the skill departs. This notice is written around goods and postage, not around a restaurant's own moped. The skill therefore uses it to frame the question rather than to answer it: step 5 asks the owner to record which of the two shapes their arrangement resembles and to put it to their accountant. Applying goods-and-postage wording directly to a delivered meal would also collide with Notice 709/1's treatment of delivered ready-to-eat food as catering, and reconciling those two is precisely the kind of judgement this skill is not entitled to make.

3. GOV.UK, "Register for VAT"

https://www.gov.uk/register-for-vat, no last-updated date shown on the page, read 15 September 2026.

Short and decisive for step 6. "You must register if either: your total taxable turnover for the last 12 months goes over £90,000 (the VAT threshold) [or] you expect your taxable turnover to go over £90,000 in the next 30 days", and "You can choose to register for VAT if your turnover is less than £90,000 ('voluntary registration')."

It matters because the same commission rate produces two different costs. Registered, the VAT charged on the platform's fee is input tax and the real cost is the fee. Unregistered, that VAT is simply gone, and the app costs a fifth more than the percentage says.

Where the skill departs. The skill does not advise on whether to register, and does not model the trade-off between recovering input tax and losing zero-rating advantages on cold food sales. That is a whole separate decision with the owner's total turnover in it, and it belongs to their accountant. The skill only requires the document to state which side of the line the business is on, because the per-dish arithmetic is wrong if it does not.

4. Deliveroo (Roofoods Ltd), "Deliveroo Partners Terms and Conditions"

https://merchants.deliveroo.com/en-GB/legal/terms, read 15 September 2026. The Delivery Service, Marketplace+ and Pickup Service sections show "last updated 14 January 2021"; the Payment Cycle section shows 11 August 2020; Menu Manager shows 27 April 2026 and Marketer 11 September 2025.

This is the primary evidence for the skill's central claim. The same sentence appears for all three services: "Our service fee is calculated as a percentage of GMV (inclusive of VAT) per order, plus VAT at the prevailing rate."

Three facts come out of that one line and all three are load-bearing. First, no percentage appears anywhere in the document — the method is published and the number is not. Second, the base is GMV **inclusive of VAT**, so the percentage is applied to money that was never the owner's, which is why step 3 insists the base be recorded next to the rate. Third, the fee itself carries VAT on top.

The payment sentence supplied step 1: "We will pay you an amount equal to the GMV for your Delivery Orders during the relevant payment period, less the Delivery Service Fee, less any relevant adjustments for refunds paid to customers during the relevant payment period." The terms also contemplate an onboarding offer period after which partners become subject to Deliveroo's standard commission rates, which is where step 9's trigger list came from.

Where the skill departs. The terms describe three distinct services — Delivery, Marketplace+ where the partner's own riders deliver, and Pickup — and the skill deliberately does not tell an owner which they are on. Statements differ, tiers get changed mid-contract, and a partner can be on more than one at once. Step 2 therefore requires the blended rate to be checked against individual order lines rather than assumed uniform. The skill also does not reproduce or interpret the wider contractual terms — exclusivity, promotion funding, rating requirements — because it is a costing tool, not a contract review, and pretending otherwise would encourage an owner to rely on it for something it did not read closely.

5. Uber, "Uber Eats Merchant Terms and Conditions" (Great Britain)

https://www.uber.com/gb/en/legal/uber-eats-merchant-terms-and-conditions/, last updated 16 June 2025, read 15 September 2026.

Uber's terms take the same approach to the number and are more explicit about who is selling the food, which is why they carry step 5.

On the fee, clause 6.a.i: "In consideration for the use of the Uber Eats Services, Uber UK will charge Merchant a 'Service Fee' for each specific Method as specifically set forth in the Order Form." The number lives in the contract the owner personally signed, not in the published terms. On VAT on that fee, clause 6.a.iv.1: "All Fees payable pursuant to this Agreement are exclusive of VAT."

On who supplies the food, clause 6.b.i is unambiguous: "Merchant is the 'retailer' or 'seller' of all Items (including delivery services related to such Items, if using the Aggregator Delivery Method)", and "The Retail Price for each Item will include VAT and Merchant is solely responsible for determining and setting the rate of applicable VAT to be charged to Customers for Items available on the Uber Eats App." That sentence is the answer to the question owners ask most often about the apps — whether VAT is due on the gross the customer paid or the net that arrived — and it is better than any secondary explanation because it is the platform stating its own position in its own contract.

Where the skill departs. The skill does not treat these terms as settling the VAT analysis, only as settling what the platform says its role is. Whether a particular arrangement is agency for VAT purposes is a question of fact and law, and step 5 accordingly records the position and refers it on rather than concluding it. The skill also does not use Uber's terms to describe Deliveroo's or Just Eat's arrangements, even though the commercial shape looks similar — one platform's contract is evidence about that platform only.

6. Uber, "Pricing That Works for Your Business" (UK merchant pricing)

https://merchants.ubereats.com/gb/en/pricing/, no publication date shown on the page, read 15 September 2026.

The exception that proves the rule: Uber is the only one of the three that publishes UK merchant rates on a page a prospective partner can read without signing anything. The page states that "The Uber Eats service fee is calculated using the fee percentages below, which vary depending on the option you choose (does not include VAT)", and then lists a "30% Delivery Fee" where Uber delivers, a "13% Delivery Fee" for self-delivery, a "13% Pickup Fee" for collection, and an activation fee of "£650 (excl. VAT)" covering tablet, printer, menu creation, photography and training, which the page says may be reduced if a merchant does not need everything in it. For Uber Direct the page publishes no rate, saying only that a merchant will "pay a fee for each delivery, which includes a Delivery Fee and any other applicable charges".

Where the skill departs, and this is the most important departure in the whole document. **Step 8 uses these figures as the shape of a decision and never as the owner's numbers.** The temptation is obvious — here at last is a real published rate, so why not build the arithmetic on it? Because the page itself says the percentages vary by option, because the merchant terms in source 5 put the actual number in the Order Form, and because an owner who has been trading for two years may be on something quite different from a rate advertised to new joiners. What the published spread does prove is that the gap between letting the platform deliver and delivering yourself is large enough to be worth a serious calculation. The calculation itself uses the owner's own rates from their own statement.

The skill also refuses to use this page's figures for Deliveroo or Just Eat by analogy, which is how most public commentary on this subject goes wrong.

7. Competition and Markets Authority, "Just Eat and Hungryhouse: A report on the anticipated acquisition by JUST EAT plc of Hungryhouse Holdings Limited"

16 November 2017, https://assets.publishing.service.gov.uk/media/5a0d6521ed915d0ade60db7e/justeat-hungryhouse-final-report.pdf, read 15 September 2026 (the PDF was downloaded and its text extracted locally, since it does not render as text over a plain fetch).

This is the fullest published account of how restaurant-side pricing actually works in this market, and it is nine years old, which is stated plainly rather than hidden.

Paragraph 6.19 is the passage the skill leans on. It begins "Ordering and logistics specialists generally charge higher commission rates than the Parties", and then: "(a) On average, restaurants on the Deliveroo platform pay a commission rate of around []%, although the actual rates paid by restaurants listed on the platform range from []% to []%. (b) Uber charges restaurants commission rates which currently range from []% to []%. (c) Amazon charges a standard commission rate of []%."

Every figure is redacted, and the sentence structure survives the redaction: rates vary between restaurants on the same platform, by enough that a range had to be given. That is the single most useful thing in the document for a small owner, and it is the evidential basis for rule four of the skill.

Two other passages were used. Paragraph 4.16: ordering and logistics specialists "provide a somewhat different offer from a restaurant perspective — offering delivery services and charging much higher commission rates as a result", which is step 8's warning that marketplace and logistics are not the same product at two prices. And paragraph 2.50(d) from the CMA's own restaurant survey: "The vast majority of restaurants on Just Eat (96%) provide their own delivery service", which is why step 8 treats marketplace-only listing as ordinary rather than exotic.

The report also records, at paragraph 6.18, that in 2017 "Just Eat told us that it had a [] commission rate of 14%" and that "Hungryhouse told us that it charged a standard commission rate of 14% for orders made on its platform", and at 6.16 that "restaurants that join the Just Eat platform for the first time pay a standard sign-up fee of £699".

Where the skill departs, deliberately and completely: **neither the 14% nor the £699 appears anywhere in SKILL.md.** They are nine years old, they predate the Just Eat Takeaway.com merger and the entire logistics-delivery build-out, and Hungryhouse no longer exists. A figure that is both real and stale is the most dangerous kind, because it is defensible in a footnote and wrong in a spreadsheet. They are recorded here, with their date attached, so that a future reader can see they were considered and rejected rather than missed.

The skill also does not use the report's paragraph 4.30(a) finding that "commission rates and sign-up fees that the Parties charge to restaurants ... [are] set at the national level", because paragraph 4.33 immediately qualifies it: those parameters "could potentially be varied at the local level and, to an extent, already are being varied, eg targeting of specific areas with lower restaurant commission rates". Quoting the first without the second would tell an owner their rate is standard when the same report says it may not be.

8. Competition and Markets Authority, "Anticipated acquisition by Amazon of a minority shareholding and certain rights in Deliveroo: Final report"

4 August 2020, https://assets.publishing.service.gov.uk/media/5f297aa18fa8f57ac287c118/Final_report_pdf_a_version_-----.pdf, read 15 September 2026 (downloaded and text-extracted locally, as above).

One paragraph earned this document its place. Paragraph 3.19, describing Deliveroo's own business to a competition authority under compulsion: "Restaurants are charged a delivery fee by Deliveroo based on the order value; this fee is typically [] where restaurants use the online logistics-enabled marketplace." The same paragraph gives the marketplace split as "[]% of orders are delivered by Deliveroo, with []% being 'marketplace only' orders where delivery is carried out by the restaurant."

This is the cleanest possible demonstration of the skill's premise. A regulator with statutory information-gathering powers obtained the rate, judged it commercially confidential, and published the sentence with a hole in it. Anyone quoting a precise Deliveroo commission rate in public is therefore quoting something the regulator would not print, and should be asked where they got it.

Where the skill departs. The report is a merger analysis from 2020 and the skill takes no market conclusion from it — not the market definition, not the competitive assessment, not the COVID-era trading commentary, all of which are now historical. Only the structural fact about rate disclosure is used. The report's material on Deliveroo Editions, wholesale services and rider economics was read and left out as irrelevant to an owner working out the margin on a burger.

9. Deliveroo partner landing page

https://merchants.deliveroo.com/en-GB, read 15 September 2026 (reached via a 302 redirect from https://restaurants.deliveroo.com/en-gb/).

Fetched specifically to check whether a UK merchant commission rate is published to prospective partners. It is not. The page sets out the benefits of partnering and the sign-up route and contains no percentage, no fee schedule and no pricing table.

This is cited as an absence, not a figure. It is included because "we checked and nothing is published" is a finding an owner can act on — it tells them the rate is negotiated, that asking for it is normal, and that any number they have been shown by a third party did not come from Deliveroo.

Could not be loaded

**Every Just Eat partner-facing page we tried refused us**, which means this skill contains no quotation from Just Eat at all, and names no Just Eat fee, rate or contractual term. On 15 September 2026:

The temptation here was strong and worth naming: several search results carried summaries of Just Eat's commission arrangements, and at least one recited a rate. None of it was read off a Just Eat page, so none of it is in the skill. What the skill does instead is exactly what it does for the other two platforms — read the rate off the owner's own statement — so the gap costs the owner nothing. It costs only the illusion of completeness.

**Section 22 of VAT Notice 700 could not be retrieved.** https://www.gov.uk/guidance/vat-guide-notice-700 loads, but the page is long enough that the fetch returned only the earlier sections and section 22, "Supplies made by or through agents", was not in the returned content. That section would have been the natural place to ground the agent-versus-principal question in step 5. Nothing from it is quoted or paraphrased anywhere. Step 5 is built instead on Uber's own merchant terms stating that the merchant is the seller, and on Notice 709/1's catering treatment, with the underlying question referred to the owner's accountant rather than answered.

Both CMA reports, at sources 7 and 8, are PDFs that return binary content to a plain fetch. They were downloaded and their text extracted locally with a PDF library before the passages above were read, so the quotations are read off the documents themselves. They are recorded here as loaded, not as unavailable.

Best public prompt we found for this job

**There is no credible public prompt, skill or tool for this job, and the GitHub search is closer to empty than it is to thin.**

Searches were run against the GitHub search API on 15 September 2026 with star counts read live from the API response, not from any page or listing.

`https://api.github.com/search/repositories?q=deliveroo+OR+%22uber+eats%22+commission+restaurant+profitability&sort=stars&order=desc` returned a total of **5 repositories in the entire index**, and **every one of them had 0 stars**. A second query, `q=delivery+commission+restaurant+menu+cost+prompt&sort=stars`, returned a `total_count` of **0** — no repository on GitHub matches those terms at all.

The nearest thing in purpose was **Shravaniig16/Skycity-Auckland-Dashboard**, https://github.com/Shravaniig16/Skycity-Auckland-Dashboard, **0 stars** and **no licence declared**, both read from the search API response on 15 September 2026. It is described as an interactive Streamlit dashboard comparing in-store, Uber Eats, DoorDash and self-delivery profitability for SkyCity Auckland restaurants. Two others in the same result set — `arifhussainsyed8/jailfood-restaurent-expense-analysis-2025` and `RinkiKumari24/Python-Food-Delivery-Cost-and-Profitability-Analysis` — were coursework-shaped analyses of a public dataset, also 0 stars, also no licence.

⚠️ **Honest limit on this search.** GitHub rate-limited us after the queries above (the unauthenticated search limit is ten requests per minute and the core limit sixty per hour), and the follow-up calls to the individual repository endpoints were refused with "API rate limit exceeded". So the star counts and licence fields quoted here are the ones returned inside the successful search responses; the creation and last-push dates for the Skycity repository were **not read** and are not stated. A broader query run after the limit lifted (`"uber eats" OR deliveroo profitability analysis`) returned 9,360 results dominated by unrelated finance and crypto repositories, which is a sign the query stopped discriminating rather than a sign the field is larger than it looked.

The one idea worth taking from the Skycity dashboard is structural, and the skill already does it: put the platform channels and the owner's own channel side by side on the same contribution basis, so the comparison is arithmetic rather than opinion.

What we did not copy, and why. It is built on New Zealand platforms and includes DoorDash, which is not the UK marketplace, and nothing in it touches UK VAT — which is the single largest correction in this skill and the one most likely to be missing from any general "delivery profitability" tool. It declares no licence, so its content could not be reused even if it fitted. And most importantly, every tool of this shape we found takes the commission rate as a configuration value the user types in once and then forgets, usually seeded with a plausible-looking default. That is the precise failure this skill is built to prevent: the rate is not a setting, it is a reading, and it has to be taken off the owner's own remittance every time the document is produced.

Want this running in your business?

I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.