Payments
The Payments tab is your transaction control centre. Every time a guest pays at a table, a counter tab, or over the handheld, that payment lands here in the Dashboard within a few seconds. Open this page when you need to:
- Look up a specific charge (the guest called back asking about it)
- Issue a refund — full or partial — and keep a paper trail of why
- Email a receipt a guest didn’t get
- See what’s been sold today — revenue, transaction count, average ticket, approval rate
- Audit an order — see every item and modifier, plus who paid how
- Check refund history across the venue
- Pull up an open order that’s still being worked
Payments is the transaction-level view — one row per charge, with the ability to act on it (refund, resend receipt, view the order behind it).
For trends and analytics — sales by day, hour, payment method split, staff performance, tax summaries — head to Reports instead. Same underlying data, completely different lens.
Getting to the page
In the Dashboard sidebar, click Payments (the wallet icon). If your restaurant has more than one location, the page will wait for you to pick one from the location switcher at the top of the sidebar — Payments are managed per location.
Once a location is selected, its name appears as a small pill next to the “Payments” title so you always know which venue you’re looking at.
The four tabs
A tab bar runs along the top of the page. Each tab shows a live count badge of matching records for the current date range, so you can see at a glance how much there is to look at:
| Tab | What it shows |
|---|---|
| Payments | Every completed, failed, or in-progress charge. This is the default. |
| Orders | Every order raised in the venue — including ones that haven’t been paid yet. |
| Refunds | Every refund you’ve processed, with the reason and the original payment it came from. |
| Disputes | Reserved for chargebacks and payment disputes (quiet most of the time — hopefully always). |
Tap a tab to switch. The date filter row below stays the same across all four.
The date filter row
Everything on every tab is scoped to a date range. The row sits right above each tab’s content.
Four quick-preset buttons on the left:
- Today (default when you open the page)
- Yesterday
- Last 7 Days
- Last 30 Days
Two extras to their right:
- Date — opens a two-calendar popover (a From and a To calendar). Pick any custom range. Future dates are disabled; the To calendar is also capped at or after the From date. Tap Apply to confirm, or Cancel to back out.
- More ▾ — reveals This Month, Last Month, and Custom for the less-common ranges.
The active preset is highlighted with a darker border. The current range is also shown in plain English between the two buttons (e.g. “Mar 05 – Apr 16, 2026”).
Every time you load the page, the filter resets to Today. If you were looking at last month and refreshed, you’re back to today. This is deliberate — the page is designed for live service.
Payments tab — the main view
Summary cards (top of the page)
Four cards across the top, recalculated every time you change the date range:
| Card | What it shows |
|---|---|
| Total Revenue | Sum of every approved charge in the date range. Anything failed or pending isn’t counted. |
| Transactions | Total count of charges — approved, failed, pending. Under it: a small breakdown of how many were card vs cash. |
| Avg. Transaction | Total Revenue ÷ number of approved charges. Useful as a quick “how busy were we” pulse. |
| Approval Rate | What percentage of charges went through successfully. A green Healthy badge if 95% or higher, amber Needs attention below that. If payments are often failing it usually means a terminal or network issue — head to Devices or Terminals and check status. |
The transactions table
Below the summary cards, the full transactions table. One row per charge, newest first.
| Column | What you see |
|---|---|
| Status | A coloured pill — see the reference below. |
| Order ID | A short code for the order the charge belongs to. In a monospace font so it’s easy to copy. |
| Type | Dine In, To Go, or Quick #N for counter tabs (marked with a ⚡ lightning bolt icon so they jump out). |
| Customer | The guest’s name if we have it, otherwise just “Guest”. |
| Total | How much was charged. If any of it’s been refunded, the refunded amount appears as a small subtitle under the total. |
| Payment Method | Cash, or the card brand (Visa, Mastercard, Amex) — with the brand’s logo when available. |
| Table | The table label (e.g. A1, Table 3), or a dash — for orders that aren’t table-based (quick tabs, to-go). |
| Time | When the payment happened, in short form (Apr 16, 14:23). |
Click any row to open the payment detail for that charge (see below).
Status reference
You’ll see these pills everywhere on the page. Here’s what each one means:
| Pill | Meaning |
|---|---|
| Approved (green tick) | Payment went through. Money is on its way to the account. |
| Failed (red cross) | Payment was declined or errored. Nothing was charged. Common causes: card insufficient funds, terminal disconnected, card blocked. |
| Processing (amber) | We’re still waiting for the card network to confirm. Usually clears within seconds — if it’s stuck in Processing for minutes, something’s wrong. |
| Pending (dashed grey) | Charge was raised but not yet submitted. Rare — refresh to see if it’s progressed. |
| Refunded (amber rotate icon) | The full amount has been refunded. Total is crossed with the refunded amount underneath. |
| Partial Refund (amber) | Some (but not all) of the charge has been refunded. |
The payment detail dialog
Click any row in the Payments table → a dialog slides up with everything about that charge.
Header
- Transaction ID in big monospace font (handy to copy if you need to reference it on a support call)
- A status pill on the right (Approved, Failed, Refunded…)
Details grid
A two-column block with the basics:
- Customer — name, or Guest if anonymous
- Table — label, or a dash for non-table orders
- Date & Time — the full timestamp (Apr 16, 2026 at 14:23)
- Type — Dine In / To Go / Quick #N
- Payment Method — the card brand and last 4 digits (Visa ••••1234), or Cash
Cash breakdown (cash payments only)
If this was a cash payment, a small box shows three lines to help you reconcile with the till drawer:
- Cash received — what the guest handed over (green)
- Change given — what went back (amber)
- Net received — the money that actually stays in the drawer (dark)
Items list
Every item from the order:
- Quantity (2×) · item name
- Any modifiers underneath in grey
- The line total on the right
Totals
Under the items, a small totals block:
- Subtotal
- Tax
- Tip (only if there was one)
- Total (in bold)
Action buttons
Two buttons pinned to the bottom of the dialog:
- Refund — opens the refund flow (next section)
- Send Receipt — opens the receipt email flow
Issuing a refund
Refunds go back to the original payment method — card back to card, cash back as cash. You can refund the whole charge, or just a specific amount, and always with a documented reason.
Not every user can refund. The Process refund permission is set in Permissions. By default, Managers can refund, Servers can only view. If you tap Refund and get an error, ask a manager to do it — or get them to tweak your permission group.
Open the payment
In the Payments table, click the row for the transaction you want to refund. The detail dialog opens.
Tap Refund
The dialog swaps to the Process Refund view with the order ID under the title.
Read the summary box
At the top of the form, a grey box shows three lines:
- Transaction amount — what was originally charged
- Already refunded — how much has been refunded before (if any)
- Remaining refundable — the maximum you can still refund
If Remaining refundable is £0, the charge is already fully refunded and you can’t take any more off it.
Pick full or partial
A Full refund (£X.XX) checkbox is ticked by default — it auto-fills the refund amount to the maximum remaining. To refund a smaller amount, untick it and a number field appears below: “Refund Amount”. Type the amount you want to refund (pounds and pence). The form will stop you going over the remaining refundable — if you try, it shows “Max refundable amount is £X.XX.” in red.
Pick a reason
Below the amount, five buttons — pick the one that fits. The reason is stored with the refund so you and your team have a paper trail later:
- Requested by customer (default — the most common case)
- Duplicate charge — the same order was paid twice by mistake
- Returned item — the guest sent food back after payment
- Fraudulent transaction — you suspect the card was used without permission
- Other — anything that doesn’t fit the above
Tap “Process Refund”
The big amber button at the bottom of the dialog. A spinner shows while the refund is being sent. On success, the dialog closes and the payment row updates immediately — you’ll see the refunded amount in the total column and a new entry appear in the Refunds tab.
Two specific errors are worth knowing:
• “Missing payment reference” — the original charge doesn’t have an Adyen PSP reference stored. Usually means it was an older payment or a manually-recorded cash charge that can’t be refunded through the card network. Handle the refund in cash from the till.
• “Missing Adyen account” — the location isn’t linked to an Adyen merchant account. Head to Terminals and confirm the venue is paired.
Card refunds are sent to the guest’s bank straight away, but banks take a few business days to actually post them to the card statement. This is normal — if a guest calls saying the refund hasn’t arrived, check the Refunds tab; as long as it’s Completed here, it’s on its way.
• You can refund the same charge multiple times as long as you haven’t hit the full original amount — useful for small goodwill gestures on larger bills.
• Refunds can’t be reversed from here — once you tap Process Refund, that’s it. Double-check the amount before confirming.
• Cash refunds still leave a refund record here, but the actual cash has to come out of the till drawer manually.
Sending a receipt by email
A guest emails a week later asking for their receipt? Pull up the payment and email it to them in under a minute.
Open the payment
Find the charge in the Payments table (use the date filter if it was more than a few days ago). Click the row.
Tap Send Receipt
Next to the Refund button at the bottom of the dialog. The dialog swaps to the Send Receipt view.
Type the guest's email
A single text box — customer@email.com placeholder. The cursor is already in it when the dialog opens.
Tap “Send Receipt”
The emerald button. An alert under it reminds you: “Receipts are sent immediately. Double-check the email address before sending.” — there’s no “undo” so re-read the address first.
Orders tab
The Orders tab shows the order-level view — one row per order, regardless of whether it’s been paid yet. Useful when a server asks “what’s on Table 14 right now?” or you want to check every order that ran through the bar this lunchtime.
Paid vs Open
Two buttons at the top of the table:
- Paid Orders (default) — closed-out orders
- Open Orders — orders still in play (pending, fired, in-progress, ready)
Switch between the two to match what you’re after.
The table
| Column | What you see |
|---|---|
| Status | Paid, Completed, In Progress, Cancelled, Pending — colour-coded. |
| Order ID | Short code in monospace. |
| Type | Dine In / To Go / Quick #N. |
| Tickets | How many tickets were sent to the kitchen, plus small status badges showing where each one is (Draft, Pending, Fired, In Progress, Ready, Served). |
| Total | The order total (even if unpaid). |
| Table | The table label. |
| Time | When the order was opened. |
Click any row → the Order detail dialog slides up. It’s similar to the payment detail but organised around the tickets instead of the charge:
- Header — order ID + status
- Details grid — table, time, type
- Tickets — one expandable card per ticket sent to the kitchen. Each shows:
- The ticket number, its kitchen status, and a small ⚡ Rushed flag if the server pushed it to the top of the queue
- Every item with modifiers and line prices
- Seat assignments (Seat 1, Seat 2…) next to each item, so you can see exactly who ordered what on a shared table
- Totals at the bottom — subtotal, tax, total.
There’s no action buttons here — Orders view is read-only. If you want to refund anything, switch back to Payments and click the matching charge.
Refunds tab
A permanent log of every refund you’ve ever processed for this location, within the selected date range.
| Column | What you see |
|---|---|
| Status | Completed (green), Failed (red), Pending or Processing (amber) while the card network is still working on it. |
| Order | The short code of the order the refund came from. |
| Refund Amount | The refunded amount in amber (with a minus sign — −£24.50). |
| Original Payment | The full original charge, for context. |
| Method | Cash or card brand + last 4 (*Visa ***1234). |
| Reason | The reason you selected at refund time (Duplicate charge, Returned item, etc.). |
| Time | When the refund was processed. |
When there are no refunds, you’ll see a friendly empty state — “No refunds” — which, given the context, is usually good news.
A refund can fail if the original charge is too old or the card provider rejects it. Open the refund row’s original payment in the Payments tab and try again, or contact support if it keeps failing.
Disputes tab
Empty most of the time — that’s a good thing. This tab is reserved for chargebacks (when a guest’s bank challenges a charge) and official payment disputes. If any ever show up, they’ll appear here for investigation.
How a payment gets from the iPad to this page
So you know roughly what to expect during a shift:
- A server (or counter cashier) tapes payment on the iPad POS.
- The card terminal — or the cash-drawer flow — confirms the amount.
- The POS records the transaction and marks it Approved (or Failed).
- Within a few seconds, it appears in the Payments tab here.
- When you change the date filter or refresh the page, the latest transactions pull in.
The Payments page doesn’t live-update in the background. If you’ve had it open for an hour during a busy lunch, refresh the page (or change the date preset) to see what’s come in since. This is a deliberate choice — the page loads fast, and surprise-refreshing mid-investigation is worse than a manual refresh.
If you have more than one location
The Payments page works at two levels:
- One location selected — you see only that venue’s transactions, and the location name appears as a small pill next to the “Payments” title.
- Account level (all locations at once) — the page aggregates across every location in the account. The four summary cards become combined totals, the transactions table interleaves charges from every venue, and the tab badges count everything together. This is ideal for owners or ops managers who want one “how did the business do today” view.
Switch levels from the location switcher at the top of the sidebar — pick a single venue to drill in, or pick the account name to zoom back out.
If you’re only after a specific location, switching into it is always faster than filtering. For deeper cross-location trends (by day, by method, by staff), Reports is the better tool.
Who can do what — permissions at a glance
| Permission | What it unlocks |
|---|---|
| View payments | See the Payments page at all — the sidebar entry, tabs, tables and detail dialogs. |
| Process refund | Use the Refund button in the payment detail dialog. |
Both sit under the Dashboard permission group — go to Permissions to see which of your roles have them, and adjust as needed. A few common recipes:
- Managers — both permissions.
- Servers / shift leads — view only (they can check a charge, but all refunds go through a manager).
- Kitchen / runners — neither.
- Owners — both.
Every refund records who processed it, the reason, the amount, and the time. You can pull all of this up later in the Refunds tab, or export it via Reports. If a refund ever gets disputed, this is the audit trail.
Common shift workflows
”A guest says the card was charged twice”
- Open Payments, set the filter to Today (or Yesterday).
- Search the Customer column for their name — or sort by Time to find the pair of identical totals close together.
- Open the duplicate → Refund → Full refund → reason Duplicate charge → Process.
- The duplicate disappears into the Refunds tab; the original charge is untouched.
”A guest wants 20% off because of a slow kitchen”
- Open the payment → Refund → untick Full refund.
- Type the refund amount (e.g. £12.50 on a £62.50 bill).
- Reason → Requested by customer.
- Process Refund.
- The original charge now shows Partial Refund in the table with “£12.50 refunded” under the total.
”End-of-day check”
- Set the filter to Today.
- Look at the four summary cards — Total Revenue, Transactions, Avg. Transaction, Approval Rate.
- Approval Rate is green? All good. Below 95%? Open the Payments table and sort by Failed charges — usually a terminal or network issue. Check Devices or Terminals for status.
- Flip to the Refunds tab and scan the list — anything unusual?
”A guest lost their receipt, wants it emailed”
- Set the date filter to when they came in.
- Find the charge (Customer name, Table, or just scan by total).
- Open it → Send Receipt → enter their email → Send Receipt.
Quick recap — the moves you’ll do most often
- See today’s take → open Payments → look at the four summary cards.
- Look up a specific charge → open Payments → set the date → scan by Customer, Table, or Total.
- Refund a guest → open the payment → Refund → pick full or partial → pick reason → Process Refund.
- Email a receipt → open the payment → Send Receipt → enter email → send.
- Check what’s been refunded → Refunds tab.
- Pull up an open order → Orders tab → Open Orders.
- Dig into an order’s items → click any row in Payments or Orders → read the items list.
Next steps
- Reports — Sales trends, breakdowns by method/staff/tax, Z-reports and exports
- Devices — If approval rates are dropping, check iPad + terminal status here
- Permissions — Control who on your team can see Payments and who can issue refunds
- Terminals — Pair and manage the card readers that feed into this page