What Do Delivery Refunds Actually Cost Your Restaurant?

Count each refund once: what your restaurant paid back, minus credits that actually posted, plus any remake. A fictional week shows the double-count trap, and why there’s no borrowed annual number.

Ryan Speier

Quick answer: for each delivery problem, your cost is what your restaurant actually paid back for the refund, minus any reimbursement that has actually reached your payouts, plus whatever extra you spent fixing it, like a remake or a second delivery fee. Leave the original food out, because you’d have spent that anyway. Leave approved-but-unpaid credits out until they post. And count a guest’s refund and the deduction for that same refund once, not twice. Add the incidents up over a completed week, month or year and you have your own number.

On the yearly question: the sources we checked for this answer don’t give a defensible figure for what delivery refunds cost restaurants in general each year, so we won’t invent one. If you’ve been open a full year, add up your completed months. If you haven’t opened yet, test a few clearly labelled assumptions instead of borrowing an average.

The worked example uses Toast Delivery Services (TDS), Toast’s direct delivery for orders from your own Toast Online Ordering, carried by Uber Direct or DoorDash Drive drivers. We used it because Toast documents how its refund credits move through payouts. It isn’t a guide to DoorDash or Uber Eats marketplace refunds. For those, your agreement and your statements are what count. Toast’s articles were read October 26, 2026; the numbers in the example are made up.

Four amounts to keep apart

Every incident produces up to four amounts. Write each one down separately before you total anything.

  • The refund your restaurant funded. Money your restaurant gave back for this order, on the food. That might be a refund you issued on your POS, or a deduction on a platform statement for this order’s refund. Not both for the same refund. On a marketplace order, what the guest got back isn’t automatically your cost; your cost is what your statement actually charged your restaurant for it.
  • Credits that actually posted. Reimbursement you can see in a payout or statement. For TDS, Toast’s billing FAQ (updated October 2, 2026) says a provider refund comes back through your card payouts, applied against the fees and tips withheld on later orders until the whole amount is credited. One credit can arrive in pieces.
  • Pending amounts. Approved or promised, not yet posted. Toast’s TDS overview (updated October 8, 2026) says the status in the TDS Refund Log reflects only the provider’s decision and doesn’t change when money is or isn’t issued. The log keeps the approved amount and the refunded amount in separate fields. Treat “Approved” as pending until a credit shows up.
  • Extra costs the problem caused. Remake food and packaging. Any second delivery charge: the billing FAQ says each TDS re-dispatch withholds another delivery fee and driver tip. Paid labor only if paid hours actually went up. A cook remaking an order inside a shift you were already paying for doesn’t add labor cost here.

Keep three things out of the total. Sales tax and the guest’s tip aren’t food sales; record any you refunded on their own lines and ask whoever does your books how they’re reported. A tip your restaurant pays again, like the driver tip on a re-dispatch, is different: that’s your money, so it’s an extra cost. A card dispute or chargeback is a separate record from a refund. Mark it disputed until you know the outcome, and don’t log a refund for the same order unless you actually issued one. And a guest refund your restaurant didn’t fund isn’t your cost at all.

Guest refunds and restaurant reimbursement are separate in TDS too. Toast’s Get Help article (updated October 16, 2026) says Uber Direct and DoorDash Drive don’t refund guests themselves, and a provider approving your reimbursement doesn’t send anything back to the guest. Who handles which TDS refund is covered in our TDS proof-of-delivery photo guide; this answer is only about the money.

Compare the same order twice

Measure each incident as the difference between what the order would have left if nothing had gone wrong and what it actually left. That’s contribution: what an order leaves after food, packaging and its own delivery fees, before rent, base labor and everything else. It isn’t net profit.

  • Baseline = food subtotal − delivery fees or commission for the order − original food and packaging
  • Actual = baseline − refund your restaurant funded + credits posted − extra costs
  • Reduced contribution = baseline − actual = refund − credits posted + extra costs

The original food and packaging sit on both sides, so they cancel. Adding them again on top of the refund is the same mistake as calling an $18 comp a $23 loss by adding the plate’s $5 of food, explained in should you comp a meal or charge 50%.

A fictional week, worked through

Ridgeway Taqueria, its orders and every dollar figure below are invented. This isn’t a real order, statement or provider decision, and the amounts aren’t Toast’s fees.

Ridgeway uses TDS. Last week it had 140 delivery orders and two problems. Both orders had the same assumptions:

  • Food subtotal $48.00. The guest paid no delivery fee. Sales tax and the guest’s tip are left out.
  • Delivery fee withheld for the order: $7.00.
  • Original food and packaging: $15.00.
  • Card processing is left out. We assume the fee on the original sale isn’t returned on a refund, so it’s the same on both sides and drops out. Check how your processor handles it.

Baseline for each order: $48.00 − $7.00 − $15.00 = $26.00.

Order A, partial refund. The guest says two items arrived spilled. Under Ridgeway’s own policy, the manager refunds $18.00 of food on the POS and separately asks the provider for reimbursement. The provider approves $18.00. By the end of the week, $11.00 has been credited in Ridgeway’s payouts; the other $7.00 hasn’t shown up.

Actual: $26.00 − $18.00 + $11.00 = $19.00. Reduced contribution: $18.00 − $11.00 = $7.00. The $7.00 still owed is pending, not received.

Order B, remake. The order goes to the wrong address. Ridgeway remakes it and re-dispatches from the POS, which withholds another $7.00 delivery fee and a $4.00 driver tip. The guest is charged once and not refunded. The cook remade it during a shift already scheduled, so no paid hours were added. The manager asks the provider for reimbursement; there’s no decision by the end of the week.

Actual: $26.00 − $11.00 − $15.00 = $0.00. Reduced contribution: $11.00 + $15.00 = $26.00. Whether any of it comes back is unknown, so nothing is counted for it.

Order AOrder BWeek
Baseline contribution$26.00$26.00
Refund Ridgeway funded−$18.00$0.00−$18.00
Credits posted+$11.00$0.00+$11.00
Extra costs$0.00−$26.00−$26.00
Actual contribution$19.00$0.00
Reduced contribution$7.00$26.00$33.00
Pending, not counted$7.00 approvedNo decision$7.00 + unknown

Order B’s extra costs are the $15.00 remake plus the $11.00 re-dispatch fee and tip.

The week’s problems cost Ridgeway $33.00 of contribution as of the close of the week. If the $7.00 posts later, that becomes $26.00. Two other numbers describe the same week, and they answer different questions:

  • Settlement cash: $18.00 less than expected. Order A’s $18.00 refund minus the $11.00 credit, plus Order B’s $11.00 re-dispatch withholding: $7.00 + $11.00. The remake food isn’t in the payouts; Ridgeway bought it earlier.
  • Additional expense: $26.00. Costs that wouldn’t exist without the problem, all from Order B. Order A’s refund isn’t an expense. It’s sales given back.

These overlap. Never add contribution, cash and expense together.

Where the double count happens

Take Order A alone. Its reduced contribution is $7.00 so far, and $0.00 if the pending credit posts. Here’s how the same order turns into $51.00:

  • One refund, two reports. The refund shows on the sales or refund report, and again wherever the money left: card deposits, the cash drawer or a platform statement. $18.00 from one plus $18.00 from the other is $36.00. It’s one $18.00 refund.
  • The original food added back. Add the $15.00 the order cost to make and you reach $51.00. That food is already in the baseline.
  • The credit ignored, or counted as received too early. Leave out the $11.00 credit and you overstate the loss. Count the full $18.00 approval as received and you show $0.00 while $7.00 is still owed.
  • The credit counted twice. In TDS, a credit lowers the withholding on later orders. Toast’s billing FAQ notes that the Other column on its Finance reports may not match that day’s fees and tips while refund adjustments are outstanding, and that the column can include unrelated withholdings too. If you count the $11.00 on Order A, don’t also treat those later orders as having cheaper delivery.

What the week tells you

Split the total three ways, because each points at a different decision:

  • Frequency: 2 incidents out of 140 delivery orders. 2 ÷ 140 = 0.014; 0.014 × 100 = 1.4%. One week is too small to call a rate. Track it across completed weeks.
  • Unrecovered refunds: $7.00 so far, with $7.00 pending and Order B’s request undecided. If refunds keep going unrecovered, follow up on each pending item and read what your agreement says about reimbursement.
  • Remake cost: $26.00, the biggest piece this week. If remakes keep dominating, compare remaking with refunding under your own guest policy.

These numbers tell you where the money went, not why. A spilled bag and a wrong address don’t explain themselves. Look at what actually happened on each order before you change packaging, staffing or prices.

Turning completed periods into a year

If you’re open: your annual cost is the sum of your reconciled incidents over twelve completed months. Assign each incident to the period when the order happened, not the day a payout arrived. Toast’s billing FAQ says card deposits arrive about one to two business days after the sale, so a late-week problem can land in the next week’s payouts. When a credit posts after a month has closed, update that month. Report anything still pending at year end as its own line.

Don’t multiply a few weeks by 52. Opening weeks, a menu change or one bad night can make a short stretch unrepresentative. If you have six completed months, report six months and say so.

If you haven’t opened: you have no incident history, so the honest answer is a range of assumptions, labelled as assumptions:

  • Annual delivery orders, from your own sales forecast.
  • Share of orders with a problem: a test value, not an industry rate.
  • Reduced contribution per incident: work one of your own menu’s orders through the comparison above, using the fees and refund terms in the quotes or agreements you actually have. Where a term is unknown, mark it unknown.

For example, with a forecast of 6,000 delivery orders and Order B’s $26.00 as the cost per incident: at 1%, 6,000 × 0.01 = 60 incidents × $26.00 = $1,560. At 3%, 6,000 × 0.03 = 180 × $26.00 = $4,680. Both rates are placeholders to show how sensitive the answer is. Per-incident cost moves the result just as much: in Ridgeway’s example it runs from $0.00, for a refund fully reimbursed, to $48.00, for a full refund with nothing recovered. Replace every one of these with your own numbers once you have completed months.

Copy this record

Use one per incident, and the summary for each completed week or month. It holds no guest names, phone numbers or addresses; the order IDs are enough to find the order again.

DELIVERY INCIDENT RECORD
Scope: one delivery order with a
  refund, remake, re-dispatch or
  reimbursement request. Your own
  records only. No guest names,
  phones or addresses.

Channel: MARKETPLACE APP /
  OWN ORDERING + COURIER /
  OWN DRIVER
Agreement or statement checked:
Check ID:
Provider/platform order ID:
Order date:
Problem as reported:

BASELINE (nothing went wrong)
1 Food subtotal:            $
2 Order delivery fees or
  commission:               $
3 Original food and
  packaging:                $
Baseline = 1 - 2 - 3:       $

WHAT ACTUALLY HAPPENED
A Refund we funded (POS refund
  OR statement deduction for
  it, not both):            $
B Credits posted (seen in
  payout/statement):        $
  Date seen:
C Extra delivery fees or tips
  we paid (re-dispatch etc.): $
D Remake food + packaging:  $
E Added paid labor (only if
  paid hours went up):      $
REDUCED CONTRIBUTION
  = A - B + C + D + E:      $
  (contribution, not net
  profit)

PENDING / UNKNOWN (not in total)
Approved, not yet posted:   $
Decision: APPROVED / REJECTED /
  NONE YET / NOT REQUESTED
Card dispute open? YES / NO
  Outcome:

KEEP SEPARATE
Sales tax refunded:         $
Guest tip refunded:         $

CHECK BEFORE TOTALING
[ ] One refund counted once
[ ] Original food not added
    again
[ ] "Approved" not counted as
    received
[ ] Credit counted here only,
    not as cheaper later orders

PERIOD SUMMARY
Period (completed):
Delivery orders:
Orders with an incident:
Total A:     Total B:
Total C+D+E:
Reduced contribution:       $
Pending, not counted:       $
Undecided requests:
Late credits applied to the
  incident's period: YES / NO

Related tools and their limits

The delivery profit calculator shows what a normal delivery order leaves after the fees and costs you enter. Use it for the baseline. It doesn’t track refunds, credits or remakes, so the reconciliation stays on the record above. If you also use the first-month scorecard, its refunds, comps and voids line asks for value given back or written off: in Ridgeway’s week, the $18.00 refund, not the $33.00 contribution figure. For the bigger choice between apps, a courier and your own driver, see should your restaurant hire its own delivery driver.

Toast sources: Toast Delivery Services Billing FAQ (updated October 2, 2026), Get Help With Toast Delivery Services (updated October 16, 2026) and Toast Delivery Services Overview (updated October 8, 2026), all read October 26, 2026. They describe TDS only. We haven’t tested a live Toast account, and nothing here describes DoorDash or Uber Eats marketplace refund rules.

More answers

Next steps

All answers · Free restaurant calculators · Opening planner