How to process refund and return requests as Restaurant and Hospitality Founders

Customer SupportFor Restaurant and Hospitality Founders2 apps12 steps~24 min to set up

A guest disputes a $180 tasting menu charge because they walked out after a 45-minute wait and never ate a bite. You find out via a Stripe chargeback email three days later, then spend twenty minutes digging through Toast to reconstruct the ticket, another ten in your inbox finding the OpenTable reservation, and another fifteen composing a response to the card network. Meanwhile the floor manager is fielding the same situation in person with a Friday-night couple who says the fish was off. You have no central log, no standard language, and no way to see whether refund requests are trending up — until your bookkeeper mentions it a month later.

Customer SupportFor Restaurant and Hospitality Founders2 apps12 steps~24 min to set up
Outcome

What you'll set up

A single refund and return request tracker that pulls in Stripe chargebacks, flagged Square transactions, and guest complaint emails from Gmail — so every open dispute lives in one place with full context
A standard response workflow that drafts your reply to the guest or the card network using the ticket details and your house policy, so you send in minutes instead of an hour later
A running KPI view showing refund rate by week, average dispute resolution time, and top complaint categories — visible before you open the door each morning
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Apps used
Data sources & config

Starch syncs your Stripe data on a schedule (charges, customers, disputes) and syncs your Gmail on a schedule (messages and labels). Square is connected from Starch's integration catalog; the agent queries it live when your tracker runs. OpenTable and Resy guest data are pulled through browser automation — no API needed. Your refund policy is stored as a knowledge document inside Starch so every drafted reply stays consistent.

Prompts to copy
Build me a refund and dispute tracker for my restaurant. Each record should have: guest name, reservation date, amount disputed, dispute reason (one of: no-show policy, food quality, wait time, billing error, other), current status (open / responded / resolved / won / lost), the Stripe charge ID if there is one, and my notes. Pull in new disputes from Stripe automatically and flag any Gmail threads where a guest mentions 'refund', 'charge', 'dispute', or 'wrong amount'. I want to see open disputes sorted by age.
Triage my inbox and surface any guest emails about refunds, chargebacks, or billing complaints. For each one, summarize the issue in two sentences, pull the dollar amount mentioned, and draft a reply using this policy: we do not refund no-show fees, we offer a comp or partial refund for food quality issues at manager discretion, and billing errors are refunded within 3 business days. Flag anything that looks like a formal chargeback notice separately.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect Stripe as a scheduled-sync provider — Starch will automatically pull new charges, refunds, and dispute notifications into your workspace on a regular cadence, so you stop finding out about chargebacks via email three days late.
2 Connect Gmail as a scheduled-sync provider — Starch reads your inbox and labels so the Email Triage app can surface guest complaint threads and draft replies without you manually sorting through 80 messages.
3 Connect Square from Starch's integration catalog — the agent queries your Square transaction data live when your refund tracker needs to cross-reference a ticket number or a payment amount.
4 Set up browser automation for OpenTable or Resy — Starch logs into your reservation dashboard through your browser and pulls guest contact details and dining history to attach to each dispute record, no API required.
5 Start with the CRM app and describe your refund tracker in plain language — the example prompt above is a good starting point. Starch builds the schema, the intake form, and the filtered views for you.
6 Start with the Email Triage (Founder Inbox) app and paste in your refund and chargeback policy. The app will begin triaging incoming guest complaint emails and drafting replies aligned to your policy automatically.
7 Review the first batch of auto-populated dispute records and correct any miscategorized reason codes — this trains the agent on your specific language (guests at your restaurant say 'the fish was off,' not 'food quality complaint').
8 Set a daily automation: every morning at 7 a.m., Starch checks for new Stripe disputes opened in the last 24 hours and any unread Gmail threads flagged as refund-related, and Slacks you a summary with the total dollar exposure and the oldest open item.
9 For each open dispute, use the drafted reply from Email Triage as your starting point, edit if needed, and log the send date and your response position (contesting or refunding) back into the tracker with one click.
10 At the end of each week, ask your Starch workspace: 'What was my refund rate this week as a percentage of covers, and what were the top three complaint reasons?' — Starch pulls from your tracker and gives you an actual number, not a spreadsheet you have to build yourself.
11 If a dispute escalates to a card network chargeback, Starch can automate pulling the original Stripe charge record, the OpenTable reservation details, and any prior email correspondence into a single evidence package you can attach to your rebuttal.
12 Once Customer Support Agent launches (coming soon — request beta access now), it will handle first-contact guest inquiries about refunds and your cancellation policy across email and chat before they ever reach your inbox, escalating only the ones that need a manager decision.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Saturday March 14 2026 — post-weekend dispute batch

Sample numbers from a real run
Stripe dispute — no-show, 2-top, Fri Mar 135,000
Guest email — 'overcharged for wine flight', Sat Mar 143,600
Square refund already issued — food quality, Sat Mar 142,200
Stripe chargeback — 'never received reservation', Fri Mar 1318,000

Monday at 7:05 a.m. your Starch Slack message arrives: four open refund items, $288 total exposure, oldest item two days. The $180 Stripe chargeback from Friday — a guest claiming they never made a reservation — is flagged as highest priority because the dispute window closes in six days. Starch has already attached the OpenTable reservation record (pulled via browser automation), the Stripe charge detail, and a draft rebuttal letter citing the booking confirmation timestamp. You spend eight minutes editing the draft and submit the evidence. The $36 wine-flight complaint came in via Gmail at 11:47 p.m. Saturday; Email Triage summarized it as a billing discrepancy, noted the guest's name matches an OpenTable regular with three prior visits, and drafted a reply offering a $36 credit toward their next visit rather than a refund — consistent with your policy for regulars. You approve it in two clicks. The $22 Square refund was already processed by your floor manager; the tracker flagged it as resolved and logged it automatically when Starch queried Square that morning. Total time: fourteen minutes instead of the ninety it would have taken you to reconstruct each situation from scratch across four different dashboards.

Measurement

How you'll know it's working

Refund rate as a percentage of weekly covers (industry watch: above 1.5% is a signal)
Average dispute resolution time in days from open to closed
Chargeback win rate against card networks (most independents never track this)
Dollar value of open disputes at end of each week
Breakdown of refund reason codes — food quality vs. billing error vs. no-show policy — to catch a kitchen consistency problem before it shows up in Yelp reviews
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Handling it manually in Gmail + Stripe dashboard
Free, but you reconstruct every dispute from scratch across multiple tabs, and there's no log — so when the same guest disputes for the second time, you have no history to reference.
Toast or Square built-in refund flows
Handles POS-level refunds cleanly, but does nothing with Stripe chargebacks, guest email complaints, or any dispute that originated outside the POS terminal.
Zendesk or Freshdesk
Purpose-built support ticketing that's powerful, but costs $55–100 per agent per month and requires someone to configure it — overkill for a team where the owner is still the de facto support department.
A shared Google Sheet for tracking disputes
Zero cost and total flexibility, but someone has to manually update it after every interaction, it doesn't draft replies, and it doesn't alert you when a chargeback window is about to close.
On Starch RECOMMENDED

One platform — crm, founder inbox all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

Does Starch actually connect to Toast or my specific POS?
Toast doesn't have a widely available public API, but Starch can automate your Toast dashboard through browser automation — no API needed. Square and Stripe connect directly: Square through Starch's integration catalog (queried live), Stripe as a scheduled-sync provider. If your POS is web-based and you can log into it, Starch can reach it.
Will Starch store my guest payment data?
Starch syncs transaction metadata from Stripe (charge IDs, amounts, dispute status, customer records) on a schedule. It doesn't store raw card numbers or PCI-scoped payment credentials — those stay in Stripe. Worth noting: Starch is not SOC 2 Type II certified yet, so if your accountant or hotel brand standards require that certification, name it early.
What if a guest emails me through OpenTable's messaging system instead of directly?
OpenTable doesn't offer an API for inbox messages, but Starch can automate your OpenTable account through browser automation and pull messages that way. It's not instant-sync — it runs on a schedule — but for dispute tracking purposes that's usually fine since you're not operating a real-time chat window.
Can Starch automatically issue the refund in Stripe, or does it just track and draft?
Today Starch tracks, alerts, and drafts your responses. Issuing a refund through Stripe's API is an action Starch can be configured to take, but for a restaurant we'd recommend keeping a human approval step in the loop — you want to decide whether you're refunding or contesting before anything hits the card network.
I already have a customer support agent app shown here — is that available now?
The Customer Support Agent that handles first-contact inquiries automatically is coming soon — it's in development and not available today. What's available now is the Email Triage app (Founder Inbox), which triages your inbox, drafts replies to guest complaints, and flags chargeback notices — you're still in the loop on every send.
My dispute volume is maybe five a month. Is this overkill?
Five disputes a month is still five conversations where you're reconstructing context from scratch, potentially missing a chargeback deadline, and sending a one-off reply with no standard language. The tracker's bigger value for a low-volume operation is the pattern data — if food quality complaints spike in week two of a new menu, you'll see it in the reason-code breakdown before it shows up in your Google rating.

Ready to run process refund and return requests on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.