Skip to content

Refunds

Refunds in Funny Little Shows are a two-step process. One person requests the refund against a booking; another approves or rejects it. Only on approval does anything reach Stripe and money move.

That split is deliberate. Whoever is on the phone to an unhappy customer can raise the refund immediately, without also holding the power to send money out of your account — the two are separate permissions, so you decide who does which.

Refunds are set per session, and customers see the terms before they buy.

Open the session, go to its Pricing tab, and next to Refunds Enabled click Edit Refund Policy:

  • Refunds Enabled — the switch that says whether you offer refunds on this session at all.
  • Refund Policy — either plain text describing your terms, or a link to a policy page elsewhere (it must start with https://).

Your buy page shows this to customers. With refunds switched off it tells them plainly that no refunds apply to this session.

Refunds are always raised against a booking. Go to Ticketing → Bookings, find the booking, and either:

  • use the Refund action on the booking’s row; or
  • open the booking and click Request Refund.

Either takes you to the Create Refund page, which shows the booking’s reference, customer, ticket count and the amounts you’re working with.

The page shows two money figures side by side, and the difference matters:

FieldWhat it is
Total PaidEverything the customer paid, booking fee included
Total Ticket AmountThe refundable amount — ticket value less any discount applied
Booking FeeCharged at checkout and shown separately

A refund is capped at the Total Ticket Amount. The booking fee sits outside it and isn’t part of what you refund here.

Full Refund returns the whole refundable ticket amount and covers every ticket on the booking. There’s nothing else to choose.

Partial Refund opens up two controls, and you can use either or both:

  • an amount, which you set yourself, up to the maximum shown; and
  • a ticket selection, where you tick the individual tickets being refunded. Each ticket shows its reference, category, current status and price.

Ticking tickets is what makes a refund about those seats rather than just about money. Refunded tickets change status and come back off the sold count — so if you’re giving three of a party of six their money back, tick those three.

A Reason for Refund is required. It’s stored with the refund, shown to whoever approves it, and recorded on the booking’s timeline — so write it for the person deciding, not for yourself: why, and who asked.

Click Submit Refund Request to raise it.

Submitting the request doesn’t move any money. It:

  • creates the refund at status Requested;
  • sets the booking to Refund Pending;
  • sets each ticket being refunded to Refund Pending; and
  • records the request, with your name and reason, on the booking’s timeline.

Tickets marked Refund Pending are held, not released: they can’t be resold while the request is waiting on a decision, and your availability doesn’t change. The pending count is an indicator that a decision is outstanding — the seats only move once the refund is approved and completes.

Go to Ticketing → Refunds for Manage Refunds — every refund request, with the booking reference, customer, amount, type, status, who requested it and when.

Use View on any row to see the full detail, including a timeline of the request and, once processed, the Stripe reference.

Approve is available on refunds still at Requested, to anyone with the approve permission. Approving sends the refund to Stripe for action immediately — there’s no separate send step, and no undo.

The status then moves through:

StatusMeaning
RequestedRaised, waiting for a decision
ApprovedApproved here, going to Stripe
Sent to StripeAccepted by Stripe, awaiting confirmation
CompletedStripe confirmed the money went back
FailedStripe couldn’t process it

Sent to Stripe and the brief Processing state are just the refund in flight. Stripe confirms separately, so a refund normally reaches Completed shortly after you approve rather than the instant you click — refresh the list if you’re watching for it.

Once Stripe confirms:

  • the refund is marked Completed;
  • the booking becomes Refunded;
  • every refunded ticket becomes Refunded, comes off the sold count, and its seat is returned to sale where the ticket category allows it; and
  • the customer’s ticket PDF is deleted, so the QR code can’t be presented at the door.

The money goes back to the card the customer paid with. Card refunds usually take a few days to appear on their statement — that’s their bank’s timing, not something that’s still pending at your end.

Reject is available on refunds at Requested or Approved — so a refund approved by mistake can still be stopped, provided Stripe hasn’t taken it yet.

Rejecting closes the request off in Funny Little Shows and releases the pending count against the session. No email is sent to the customer — if they asked for the refund, telling them it was declined is a conversation for you to have.

Refunded tickets and amounts flow into the session’s Sales Reconciliation report, so what you settle on matches what actually cleared. Every step — requested, approved or rejected, completed — is also written to the booking’s own timeline, giving you a full history of who did what and when.

Two separate grants control the workflow:

PermissionWhat it allows
Create request for refundsRaise a refund against a booking
Approve refund requestsApprove or reject a refund request

Grant them to the same person and they can refund end to end. Grant them to different roles and you have a genuine second pair of eyes on every payment going out. Viewing the refund list only needs ordinary bookings access.