Refunds
A refund records money a supplier gave back to a customer on an invoice: as store credit, cash, a check, a bank transfer, a card refund on their own terminal, or any other way. Clipp records refunds; it never sends money back through Stripe or PayPal. A refund can't return more than the customer paid on the invoice. It reopens the invoice's balance, books negative income (unless it's store credit), and tells the customer by email, text and push (on new-style invoices, only when the supplier ticks Notify customer).
Who uses it
- Supplier staff with full invoice access (Admin and Clerk by default) refund from the invoice, or while cancelling an order.
- Restaurants receive the refund notice (on a cancellation always, from the invoice only when the supplier ticks Notify customer). Store credit refunds show up in their credit balance with the supplier.
How it works
Refund when cancelling an order
Cancelling an order that has money on it adds a Issue a Refund step: "A refund is required to complete the cancellation." It comes after the reasons step, and after the inventory step when the goods had left the shelf. The steps are described on Returns & cancellations.
| Field | What it says | Default |
|---|---|---|
| Amount | Please select the refund amount. The only choice is Issue Full Refund ($X) | X = everything paid less everything already refunded |
| Method | Please select the refund method. Store Credit first, then the accepted manual methods (Cash, Check, Other ACH, Other Credit Card, Other) | Store Credit |
| Reference | Check Number / Transaction ID / Card Last 4 Digits, all optional | for those methods |
| Account | Please select the account (Optional). | the method's default account; hidden for Store Credit; can be Unassigned |
| Date | Select the date the refund was issued. | today |
| Notes | Notes (optional), internal only. With Other: "Please describe the refund method (optional).", shown on the customer's invoice. | empty |
The button reads Confirm Cancellation & Issue Refund. The cancellation and the refund payment save together, so if the refund can't be saved the order isn't cancelled. The bookkeeping entry is written just after, and if that step fails the refund is still saved and the error is only logged.
Store credit the order used comes back to the customer automatically, whatever refund method you pick.
- The refund notice goes to the customer even if the cancellation's notify box is unticked.
- Card and bank (ACH) are never offered as refund methods. To give back a card or bank payment, refund it in Stripe yourself, then record it here as Other Credit Card, Other ACH or Other (verify the recommended practice with support).
Refund a new-style (v2) invoice
New-style invoices are refunded from the same Manage Payments → Issue Refund tab, and the amount, method, account, date and notes work as above. What differs:
- The tab is offered only when the invoice is Paid or Partially paid. On an unpaid, Processing, void or cancelled invoice it is not available.
- Issue Full Refund suggests only the overpaid excess when the customer paid more than the total (for example after a return), and otherwise everything paid less what was already refunded. A custom amount can't be more than the customer paid.
- Notify customer is a box on the form, off by default. The customer is told only when the supplier ticks it.
- The refund is recorded, not sent through a processor, and a retry of the same refund after a failure is recognised and never refunds twice. Editing the amount after a failure counts as a new refund.
- Store Credit adds the amount to the customer's credit with the supplier and books nothing. Any other method is booked as Refund Provided in Sales Return. If the refund can't be booked (for example no Sales Returns category is set up), it is refused whole: nothing is recorded, the status doesn't change and the customer isn't told.
- The invoice's payment status is recomputed in the same save: a fully paid invoice refunded in part becomes Partially paid, and refunding everything paid makes it Unpaid.
- After a return on a Paid invoice, the returns success dialog offers Issue a Refund, which opens the invoice on this tab. On a partly paid invoice it offers View Invoice only.
- Two refunds made at the same moment can't together give back more than the customer paid: one is recorded and the other is told what is still refundable.
- A cancelled invoice takes no refund here: any refund is made when the order is cancelled, as described above.
Refunds already on an order
Orders that came across from the previous system can already carry refund records. They show on the invoice's Records tab as Refund (cash, check and so on) or Credit Issued (store credit), and can be corrected or removed there until the order is cancelled. See Editing & deleting payments.
Calculations
The refund amount
Refundable = money received on this invoice − refunds already given. Only money that has actually arrived counts: cash, check, Other ACH, Other Credit Card, Other, and online card and bank payments that are Paid. These don't count:
- a bank payment still Processing or Pending
- store credit the invoice used, which comes back separately on cancellation
- Clipp promotion payouts
- the card fee the customer paid on top
The amount is rounded to the cent, and never goes below $0.00. If nothing is refundable, the refund step doesn't appear and the order cancels without one.
Step by step: a $200.00 invoice paid in cash
| Step | Refunded so far | Status | Balance due | Store credit | Bookkeeping |
|---|---|---|---|---|---|
| Paid $200.00 cash | $0.00 | Paid | $0.00 | $0.00 | Order Payment Received $200.00 |
| Cancel and refund $200.00 cash | $200.00 | Cancelled | — | $0.00 | + Payment Reversal – Order Cancelled ($200.00), Sales Return |
With Store Credit as the method the customer's credit goes up by $200.00 and nothing is booked.
Cancel with store credit already used
A $275.00 invoice had $25.00 of the customer's store credit applied and was paid the remaining $250.00 in cash. The supplier cancels and refunds by check. The refund is the $250.00 received.
| Before | After | |
|---|---|---|
| Bookkeeping | Order Payment Received $250.00 | adds Payment Reversal – Order Cancelled, ($250.00), Sales Return, Operating Bank |
| Customer's store credit | $0.00 | $25.00, returned automatically, nothing booked |
| Invoice | Paid | Cancelled, records read-only |
The original payment entry stays; the cancellation entry cancels it out.
There's no "Refunded" payment status. A cancelled order that was refunded shows as Cancelled.
Where it shows up
- Invoice: status Cancelled, Records (a cash or check refund shows as Refund; a store credit refund as Credit Issued), the PDF's refund lines, and the Activity Log.
- Customer: Payment History, and their store credit.
- Bookkeeping: Payment Reversal – Order Cancelled as negative income in Sales Return. Nothing for store credit.
- Sales report Payment Breakdown: refunds are subtracted from the same method's payments.
- Messages: see Receipts & messages.
| Channel | Who | What |
|---|---|---|
| Email Refund Received | the customer's email contacts for this supplier | amount, method, invoice, a link, the invoice PDF and the reason for the cancellation |
| Email Refund Issued | the supplier's business email address | the same details |
| Push | the customer | Refund Issued · "$50.00 has been refunded for your order INV-1001 from {Supplier}." |
| Text | the customer's staff with invoice access | "Clipp: Refund Issued. $50.00 has been refunded for your order INV-1001 from {Supplier}. Tap here to view." |
On older invoices the notice always goes out for a refund issued from the invoice or a cancellation, and there's no notify box. On new-style invoices a refund from the invoice notifies the customer only when Notify customer is ticked.
Permissions
| Role | Refund from the invoice / cancel with a refund |
|---|---|
| Admin, Clerk | Yes |
| Driver, Warehouse, Sales Person | No (read-only invoice access) |
| Custom roles | Only with full access to Invoices |
Cancelling also needs the order-cancellation permission. See Returns & cancellations.
Decisions
- A refund can't exceed what the customer paid on the invoice. Before this, a $200 refund on an $86.50 invoice was accepted and left the invoice owing more than its total. (#2499)
- Refunds are recorded, not sent through Stripe. (No decision found; the code has no processor refund call.)
- Store Credit is the default refund method and always offered. (#2121)
- A refund has its own date, defaulting to today. It drives the bookkeeping date and the reports. (#2121)
- Each refund records which account the money came from, defaulting per method and allowing Unassigned. (#2124)
- A cancellation and its refund save together, or not at all. A failed refund used to leave a cancelled order with no refund. (#2321)
- Store credit refunds aren't booked. (#2306)
- New-style invoices are refunded from the invoice, with an opt-in customer notice. Cancelled ones refund at cancellation. (#2600)
- A repeated idempotency key returns the refund it recorded. A retry never refunds twice. (#2600)
Specs
SRF-001 to SRF-022 cover refunding a new-style (v2) invoice: refunding-sale-order-invoices.feature. Older invoices are covered by IMM-004, IMM-007, IMM-008, IMM-011, IMM-017 to IMM-022 and IMM-027 to IMM-029 in invoice-money-movements.feature, embedded on Bookkeeping effects.
Known limitations
- No refunds through the processor. A card or bank payment has to be refunded in Stripe or PayPal separately, and nothing links the two.
- A store credit refund reopens the invoice balance.
- A bank payment still clearing can't be refunded. The tab isn't offered while the invoice is Processing.
- On older invoices the refund notice can't be switched off, even when cancelling with notify unticked.
- The supplier's copy goes only to the business email address, not to staff.
- The cancel dialog doesn't mention the returned store credit. It still comes back.
FAQ
The customer paid by card. Can I refund the card from Clipp? No. Refund it in your Stripe dashboard, then record it on the cancel step, for example as Other Credit Card, so the invoice and your books match.
How do I refund part of a paid invoice? Open it, choose Manage Payments → Issue Refund, pick Custom Amount and enter up to the remaining refundable amount (what the customer paid, minus refunds already given). See Refund a new-style (v2) invoice.
Why is the Issue Refund tab greyed out? Nothing has been paid yet, the invoice is Processing, cancelled or void.
Where is the refund in my books? Under Sales Return as a negative amount: Refund Provided for a refund from the invoice, Payment Reversal – Order Cancelled for one made while cancelling. Store credit refunds aren't booked.