ErrorCharge

Original research

What Uber Eats Error Charges Actually Cost: 27,414 Real Orders Analyzed

We analyzed five years of real Uber Eats merchant payout exports from four restaurants. Error charges hit 2.14% of orders in a median bite of $12.91 — and since 2025, most of them get reversed.

Last updated August 9, 2026

Almost everything written about delivery error charges cites the same estimate, that they cost restaurants 2.5% to 3% of revenue. That number traces back to a vendor CEO's estimate, the platforms have disputed it, and nobody publishes the data behind it.

So we measured it. This page reports what order error adjustments actually cost across 27,414 real Uber Eats orders from 4 restaurant locations, covering 11 February 2021 to 9 February 2026 and $1,002,402 in gross sales.

The headline numbers

MeasureResult
Orders analyzed27,414 across 4 locations
Orders charged an error adjustment588 (2.14%)
Total charged$8,654.69 (0.86% of gross sales)
Reversed in full63 charges (10.7%), $871.23 returned
Net cost to the merchant$7,783.46 (0.78% of gross sales)
Median charge$12.91
Largest single charge in five years$95.67

Both figures sit near 0.8% of sales, well under the 2.5% to 3% that gets quoted. We cannot tell you whether four restaurants are representative of the market. We can tell you that this is measured, and the widely cited range is not.

Error charges are small, and that is the problem

The size distribution is the most useful thing in this dataset. A median charge of $12.91 is not worth a phone call. It is barely worth opening the merchant portal.

PercentileCharge is at or below
25th$5.38
50th (median)$12.91
75th$19.13
90th$30.59
95th$37.18
99th$63.18

Nine out of ten error charges are under $31. An individually trivial charge that arrives a few times a week is the hardest kind of cost to notice, because no single instance ever crosses the threshold where a busy operator stops and investigates it.

Want to see this on your own statement? Drop your payout CSV into the free scanner and get an itemized breakdown in your browser, no login required.

Something changed in 2025

We expected a flat line. Instead the charge rate has been falling since 2022, and reversals went from nonexistent to routine.

YearOrdersChargedCharge rateReversedNet cost as share of sales
20215,0021022.04%00.91%
20227,9501902.39%01.01%
20235,2051232.36%10.94%
20244,532942.07%70.63%
20254,327731.69%490.25%
2026 (through Feb 9)39861.51%60.00%

In 2025 this operator was charged $1,024 and got $623 of it back, cutting the net cost to a quarter of a percent of sales. Through 9 February 2026, all six charges were reversed and the net cost was zero.

We cannot tell you why. The data shows what happened, not who caused it, and the 2026 window is 398 orders, which is far too small to call a trend. What the five-year shape does support is that these charges are contestable, and that they were being contested far more by the end of the period than at the start.

It varies a lot by location

These four stores belong to one operator, and they still differ by more than a factor of two as a share of sales. A portfolio-wide average would have hidden that.

LocationOrdersCharge rateCharged, share of salesNet, share of sales
A15,5022.39%0.92%0.86%
B9,0911.54%0.63%0.49%
C1,6071.74%0.99%0.98%
D1,2144.04%1.93%1.86%

Location D takes error charges at more than two and a half times location B's rate and loses nearly four times the share of sales. Whatever drives that, whether it is packaging, menu complexity, or the delivery radius, it is a store-level variable rather than a fixed cost of the platform. Which means the useful question is not what the industry average is, it is what your own number is.

What we could not measure

Three limits worth stating plainly, because they bound what this data can support.

The reversal rate is not a dispute win rate. We can see charges that were reversed. We cannot see disputes that were filed and rejected, because a rejected dispute looks identical to a charge nobody ever contested. So 10.7% is the share of charges that came back, not the share of attempts that succeeded, and the true success rate could be much lower.

The reversal status is undocumented. Every reversal carries the order status Refund Disputed, which does not appear in the export's own list of possible statuses (Completed, Cancelled, Refund, Unfulfilled) or in any provider documentation we could find. We report the reversals because the amounts are unambiguous — each one exactly cancels a specific charge on the same order — but we are not going to assert what the label formally means.

This is one operator, one platform. Four locations from a single multi-store operator on Uber Eats only. It is real data where the commonly cited figure has none, and it is still a sample of four. Treat these percentages as measured data points, not industry constants, and treat the store-level spread as the more transferable finding.

Methodology

The source is a real Uber Eats merchant payout export, the modern format whose second header row carries the machine column names including the dedicated Order Error Adjustments column. Two details in that file change the answer, and both are easy to get wrong:

The sign is meaningful. Charges are negative and reversals are positive. Every one of the 588 charges carries the status Refund, every one of the 63 reversals carries Refund Disputed, and each reversal exactly cancels a charge on the same order. Taking the absolute value of the column, which is the obvious way to write this analysis, counts reversals as if they were additional charges and overstates the total.

Rows are not orders.A refund event is its own row referencing an order already in the file, so the export's 28,065 rows represent 27,414 distinct orders once you group by the order identifier. Rates are calculated against orders. Gross sales is unaffected, because refund rows carry no sales value.

Every figure on this page is printed by a single script that reads the export and emits aggregates only, so the whole page can be regenerated and checked. Figures are aggregate throughout. We do not publish the underlying file, and no restaurant, order or customer is identified anywhere in this analysis.

What to do with your own number

The reason store-level variation matters more than the average is that you can act on your own figure and you cannot act on an industry one. If you want to know what share of your sales is going to error adjustments, the number is already sitting in your payout export, in the same column we analyzed here. Our guide to Uber Eats order error charges covers what each category means and which ones the platform's own policy says you can contest, and the DoorDash statement guide does the same for the other platform.

See what's actually on your statement

Drop your DoorDash or Uber Eats payout CSV into the free scanner. It runs in your browser and itemizes every error charge, with draft DoorDash dispute text for the ones worth fighting. No login required.

Scan your statement free

ErrorChargereads your payout CSV in your browser and explains what's on it. We don't log into DoorDash or Uber Eats on your behalf, and we don't file disputes for you.

More guides