Mountify Help
BG → mountify.eu
Online payments

Refunds & cancellations

How to refund money, how the deposit policy works on cancellation, and what the client sees.

11 min read Updated 2026-07-26

Refunding money in Mountify has two completely different channels that look nearly identical on screen. One genuinely returns money to the client’s card. The other is only a bookkeeping entry — you hand the cash over yourself. Get them mixed up and you’ll either refund twice, or think you’ve refunded when you haven’t. This article is about exactly that.

The rule to remember: refund from Mountify, never from the Stripe Dashboard. A refund issued directly in Stripe does not flow back into Mountify — your till keeps the payment with no matching refund and your revenue figure becomes a lie. There is no way to fix it other than a manual entry.


1. The two channels — the difference in one row

Online (card)Cash / manual
What actually happensA real Stripe refund. The money travels back to the client’s cardA till entry only. You hand the money to the client yourself
Who has to act afterwardsNobody — Stripe moves the moneyYou — take the money out of the till and hand it over
Capwhat’s left on the most recent online card payment (paid minus already refunded)all non-online payments minus non-online refunds already made
If it failsYou get a red error and no money has movedYou get a validation error and no entry is created
Shows in Money → PaymentsYes, as a Refund with method OnlineYes, as a Refund with method Cash or Card

The channel is chosen automatically when there’s only one option. The Refund channel dropdown appears only when both channels hold a balance — i.e. on a mixed-paid booking (an online deposit plus a cash balance, for example).


2. Open the booking’s Payment panel

A refund is issued from the booking, and the panel is the same wherever you open it from:

  • Schedule → click the booking → the panel on the right → the Payment section;
  • Money → Payments → click a row in the table;
  • Money → Who owes me → expand the client → click a visit;
  • Money → Finish the day → click a booking in the list.

The Payment section shows the state (Paid, Partial, Overpaid…), the Due / Paid / Outstanding figures, and the action row.

Money → Payments: the KPI cards and the movements table
Money → Payments: the KPI cards and the movements table

3. Refund to the card (online)

  1. Open the booking’s Payment section.
  2. Press Refund. (The button only appears when real money has been received on the booking.)
  3. The Record a refund form opens.
  4. If you see a Refund channel dropdown, choose Online (card) — up to X. If the dropdown isn’t there and the booking has an online payment, the channel is already online.
  5. In Amount (currency, max X) type the sum. An empty field or a figure above the cap keeps the button disabled.
  6. Press Refund.

On success you get a Refund recorded toast and a new Refund row with method Online appears in the history beneath the panel.

The “Payment method” and “Note” fields do not apply to an online refund. The form shows them because it’s shared across all cases, but on the online channel they are ignored — the method is always “online” and the note isn’t stored. If you need an internal trace of why you refunded, write it in a comment on the booking.

If the refund is declined

ErrorMeaningWhat to do
”The card refund was declined — no money was returned. Try again.”The provider refused. No money moved.Try again — a retry is safe and won’t double-refund
”Refund exceeds what’s refundable on the online payment.”You asked for more than the card payment has leftLower the amount to the maximum shown
”No settled online payment to refund.”This booking has no settled online card paymentRefund via the Cash / manual channel instead
”Amount must be greater than zero.”Empty field or 0Enter an amount
”Couldn’t issue the refund.”Generic refusal (most often a missing permission)See the permissions section below
”Couldn’t reach the server. Check connection.”Network problemCheck your connection and retry

The form deliberately stays open on error, so you can correct the amount without starting over.


4. Refund cash / manually

  1. Open the Payment section → Refund.
  2. If a Refund channel dropdown is shown, choose Cash / manual — up to X.
  3. Enter the Amount.
  4. Choose the Payment methodCash or Card. Here the choice matters: it decides which line of the report the returned money lands in.
  5. Optionally write a Note (optional) — it is stored and visible in the history.
  6. Press Refund.

This entry moves no money by itself. It only records that you returned it. Hand the money over.

ErrorMeaning
”Refund exceeds what’s been paid (max X).”You can’t return more than was received on the booking
”Amount is unreasonably large.”Above the per-entry ceiling
”Booking not found — refresh and retry.”The booking was changed or removed in another browser tab

5. When the channel dropdown appears — and when it doesn’t

Situation on the bookingDoes “Refund channel” appearWhat Refund does
Online payment onlyNoIssues a real card refund
Cash / terminal payments onlyNoCreates an entry only
Online deposit + cash balanceYesYou choose the channel
Only an “On the house” entryNo (the Refund button isn’t even shown)
Everything already refundedNo (no balance left)

Take care on a mixed booking. Because the dropdown stays silent when there’s only one option, the classic mistake is the opposite: both channels hold a balance, you only read the amount, and you push back “online” money that was actually cash. Always read which channel is selected before pressing Refund.


6. An online refund starts from the MOST RECENT card payment

If a booking has two online payments (a deposit, then a card balance), the refund always starts from the most recent one. There is no way to say “refund exactly the deposit”.

In practice: refund in stages. Exhaust what’s left on the latest payment first; the next refund will then draw on the previous one. If the sum you want back is larger than what’s left on the latest payment, you’ll get “Refund exceeds what’s refundable on the online payment.” — issue two smaller refunds.


7. “Undo” is not a refund

Every row in the history under the panel carries an Undo button. It exists to correct a data-entry mistake, not to give money back.

Refund (a new row)Undo (voiding a row)
What it’s forThe client gets their money backThe entry was wrong and shouldn’t exist
Does it move moneyOn the online channel — yesNever
Does it stay in historyYes, as its own rowYes, struck through and badged Voided
Does it count in totalsYes (it reduces money received)No — it’s excluded from every total
Is it reversibleNo (returned money is returned)Yes

Pressing it raises a confirmation — e.g. “Undo this payment?” — reading: “The entry stays in history (marked voided) but stops counting toward totals.”

When to use Undo:

  • You pressed Paid cash but the client didn’t pay.
  • You recorded 100 instead of 10.
  • You marked On the house by mistake.
  • You made a manual refund entry for a refund you then didn’t hand over.

When NOT to use it: after a real online refund. Voiding that row only distorts the report — the money has already gone back to the card.


8. Cancelling a booking does not refund anything

When you cancel an appointment:

  • the slot is freed and becomes available to other clients;
  • if the booking was paid with a package, the credit goes back into the package;
  • money is not returned. Not cash, not card. If you decide to refund, you do it separately, by the steps above.

The same holds for a no-show. The visit’s status and the money state are two separate things — see Booking statuses.


9. “Refund required” — money in, slot gone

Sometimes a card payment settles late, after the appointment has already been cancelled or marked as a no-show. The money is real and already in your account, but the slot has been released.

Mountify does not auto-refund in this case. Instead:

  • on Money → Payments the row gets a Refund required badge, and a Refund required chip with a count appears in the filter bar;
  • on the board’s home screen, under “Needs attention”, a card appears: “A X payment awaits a refund.”

You decide what happens: refund it (by the online steps above) or keep it under your policy. The card clears once the case is resolved.


10. The deposit policy withholds nothing and returns nothing

The Refund on cancellation field on a service (Non-refundable / Always refundable / Refundable before a cutoff) is only the text the client reads at checkout. It:

  • doesn’t hold money back;
  • doesn’t return money on cancellation — neither before nor after the cutoff;
  • doesn’t notify anyone;
  • doesn’t check anything at any hour.

The payment screen even says so to the client:

The refund is issued by [your salon] under the salon’s policy — not automatically.

Where it’s set: Deposits & prepayment.


11. Never refund from the Stripe Dashboard

A refund issued inside the Stripe Dashboard never appears in Mountify. The consequences:

  • Money → Payments keeps showing the payment with no refund against it;
  • money received for the day/month is overstated;
  • the report and the accountant’s statement won’t match the bank;
  • the next refund from Mountify will have a wrong cap and may fail unexpectedly.

If it’s already happened: create a manual refund entry in Mountify (Refund → channel Cash / manual → the amount) to square the till, and write in Note (optional) that the refund was issued in Stripe. It isn’t pretty, but it beats a mismatch.


12. Who may refund

  • An online refund requires the refund_payment permission, part of the integrations permission group. By default Owner and Admin have it.
  • The interface does not check that permission up front — the Refund button is visible to anyone who can see the booking. A user without the permission gets the generic “Couldn’t issue the refund.” with no explanation why.
  • A manual (cash / manual) entry goes through the ordinary booking-edit permissions.

If a staff member says “refunds don’t work”, check their role first — see What each role can do.


Common questions

When does the client actually get the money on their card? Stripe sends the refund immediately; when the client’s bank shows it depends on the bank — usually a few business days. Mountify has no influence on that.

Can I refund more than was paid? No. Both channels are capped and the server refuses a larger amount.

Can I do a partial refund? Yes. Just enter less than the maximum. You can also refund in several goes until the balance is used up.

Does the client have a “request refund” button in their profile? No. There is no such button anywhere in their profile. The client contacts you.

Do refunds show in the reports? Yes. Money received is payments minus refunds. “On the house” entries count in neither.

What if Stripe returned the money but Mountify showed an error? Rare, but possible on very unlucky timing. Check the row in Money → Payments and in the Stripe Dashboard before trying a second time — so you don’t refund twice.


What’s next