# How to take deposits on Shopify bookings

> Shopify checkout is built to charge in full. Here's how to take a deposit on a service booking instead — the three approaches that actually work, how much to charge, and how to collect the balance.

URL: https://opencals.com/blog/shopify-booking-deposits
Author: Stanislav Tyshchenko
Published: 2026-08-08
Updated: 2026-09-05
Categories: tutorial

If you sell products on Shopify, checkout is simple: the customer pays the full price, you ship the thing. If you sell time — a two-hour tattoo session, a bridal hair trial, a photography shoot — full payment upfront is a hard ask, and £0 upfront means you eat the cost when someone doesn't show.

A deposit is the middle ground. The customer pays a small amount to hold the slot, you keep it if they vanish, and the balance is settled later. It's the single most effective no-show fix I've seen service businesses use, and it's also the thing Shopify's native checkout doesn't do out of the box.

This is a practical guide to getting it working: what your options actually are, how to set one up, how much to charge, and what to do about the remaining balance.

> **Key takeaway**
>
> Shopify's checkout charges the full product price, so a deposit has to come from somewhere else — a draft-order workflow, a deposit/partial-payment app, or a booking platform that treats the deposit as part of the booking itself. For service businesses, the third option is the only one that keeps the deposit tied to the appointment, the cancellation window, and the balance owed.

## Why deposits are awkward on Shopify in the first place

Shopify's checkout was designed around a product with a fixed price and a fixed inventory count. You add it to a cart, you pay 100% of it, an order is created, and fulfilment begins. Every part of that flow assumes the transaction is complete at checkout.

A service booking breaks three of those assumptions at once:

- **The price isn't always final.** A colour correction quoted at £120 might land at £160 once the stylist sees the hair. A room rental billed hourly depends on when the customer actually leaves.
- **Payment happens in stages.** Deposit now, balance at the appointment — or deposit now, balance the night before.
- **The thing being sold is a time slot**, and if it's cancelled at 8pm the day before, you can't sell it again. The deposit exists to price that risk.

None of that is a criticism of Shopify. It's just that the checkout is doing exactly what a product store needs, and a service store needs something else layered on top. I wrote about that split in more detail in [Shopify booking widget vs full store](https://opencals.com/blog/shopify-booking-widget-vs-full-store) — the deposit question is one of the clearest places where the two diverge.

## The three ways to take a deposit

There are really only three shapes this takes. They're listed here roughly in order of how much manual work they leave you with.

| Approach                                | Deposit at checkout                      | Balance handling                                      | Tied to the booking?                         | Manual work |
| --------------------------------------- | ---------------------------------------- | ----------------------------------------------------- | -------------------------------------------- | ----------- |
| Draft orders / invoices                 | No — you send an invoice for the deposit | Second invoice, sent by hand                          | No                                           | High        |
| Partial-payment app                     | Yes — % or fixed amount                  | Charge saved card or second invoice                   | Loosely — it's a product, not an appointment | Medium      |
| Booking platform with deposits built in | Yes — set per service                    | Balance tracked against the booking, chargeable later | Yes                                          | Low         |

### 1. Draft orders and invoices

The zero-app version. You take the booking (by phone, DM, or a form), create a draft order in Shopify for the deposit amount, and email the invoice. When the job is done, you create a second order for the balance.

It works, it costs nothing extra, and it falls apart the moment you're doing more than a handful of bookings a week. Nothing links the deposit to a calendar slot, so no-shows still require you to remember who paid what. Fine for a photographer taking four shoots a month. Not fine for a salon with three chairs.

### 2. A partial-payment or deposit app

There's a category of Shopify apps that let a product be sold at a percentage of its price, with the remainder collected later. They do the job they advertise — the deposit is taken at checkout, in the normal Shopify flow, and the customer gets a normal order confirmation.

The limit is that these apps think in _products_, not _appointments_. The deposit is attached to a line item, not to a time slot with a staff member and a cancellation window. So you still need something else deciding whether 2pm on Thursday is available, and the two systems don't know about each other. When a customer cancels inside your window, nothing automatically decides whether the deposit is forfeited.

### 3. A booking platform that handles the deposit as part of the booking

This is the approach where the deposit stops being a payments problem and becomes a booking rule. The deposit amount is a property of the service — "Balayage: £45 deposit, £180 total" — and it's charged when the slot is confirmed. The balance stays attached to the booking. The cancellation window decides what happens to the deposit if the customer cancels.

This is how [deposits and cancellations](https://opencals.com/features/deposits-cancellations) work in Opencals, and I'll be upfront that I built it, so take the framing with that in mind. The reason it's built that way isn't clever product design — it's that a deposit only makes sense in relation to a cancellation policy, and if those two things live in different tools, someone has to reconcile them by hand every week.

> **You can run this alongside Shopify**
>
> Using a booking platform for deposits doesn't mean leaving Shopify. Opencals installs as a [Shopify app](https://opencals.com/features/shopify-integration), so product orders keep flowing through your existing store while service bookings — deposits included — are handled by the booking layer. If most of your revenue is services, running the booking storefront as the main entrance and keeping Shopify for retail is also a common setup.

## Setting up a deposit on a booking, step by step

The specifics differ by tool, but the sequence is the same everywhere. This is the version for a booking platform where deposits are a service setting.

1. **Decide which services need a deposit**: Not all of them do. Deposits earn their keep on long, high-value, or hard-to-refill appointments. A 20-minute fringe trim doesn't need one; a four-hour tattoo session does. Start with the two or three services where a no-show genuinely hurts.
2. **Set the deposit amount per service**: Either a fixed sum or a percentage of the service price. Fixed amounts are easier for customers to understand and easier for you to explain on the phone. Percentages scale better if your prices vary a lot between services.
3. **Set the cancellation window**: This is the part people skip, and it's the part that makes the deposit mean something. Define how far in advance a customer can cancel and still get the deposit back — 24 or 48 hours covers most businesses. Inside that window, the deposit is retained.
4. **Write the policy into the booking flow**: The deposit terms should be visible before payment, not buried in a confirmation email. Customers accept deposits readily when the reason is stated plainly; they dispute them when they feel ambushed.
5. **Decide how the balance gets collected**: Three normal options: card on file charged after the appointment, an invoice sent when the work is done, or payment in person. Pick one and make it consistent — mixed methods are where reconciliation time goes.
6. **Run it for a month, then look at the numbers**: Compare no-show rate and booking volume before and after. If bookings dropped noticeably, your deposit is too high for your market. If no-shows didn't move, it's probably too low to be a real commitment.

## How much should the deposit be?

There's no universal number, but there is a principle: **the deposit should hurt slightly more than the inconvenience of showing up.** Too low and it's a rounding error the customer will happily forfeit. Too high and you lose bookings from people who'd have turned up anyway.

What tends to work in practice:

- **Short, low-value appointments (£20–£50):** often no deposit at all, or a flat £5–£10. The admin overhead can exceed the loss you're preventing.
- **Standard appointments (£50–£150):** 20–30%, or a flat amount around £20–£30. Enough to signal commitment.
- **Long or high-value work (£150+):** 25–50%. Tattoo artists, colourists doing full transformations, photographers blocking half a day. Here the deposit is also covering materials and prep time you've already spent.
- **New customers specifically:** some businesses charge a deposit only on first bookings and drop it for returning clients with a good record. This is a nice compromise if you're worried about friction — it targets the risk without taxing loyal customers.

One thing worth saying honestly: deposits _will_ cost you some bookings. That's the trade. You're exchanging a slice of top-of-funnel volume for a much higher show rate on the bookings you do get. For most service businesses that's a good trade, because an empty chair at 2pm can't be resold, but it's a real trade and not a free win.

## The deposit is only half of it — the policy is the other half

A deposit with no stated policy is just a prepayment. What turns it into a no-show deterrent is the rule attached to it, and that rule needs three things:

1. **A window.** "Cancel more than 24 hours before your appointment for a full refund of your deposit."
2. **A consequence.** "Cancellations inside 24 hours, and no-shows, forfeit the deposit."
3. **Visibility.** The customer sees both before they pay, and again in the confirmation.

If your booking system doesn't know the cancellation window, none of this is enforceable without you personally adjudicating every case — which is exactly the job you were trying to automate. This is the concrete reason the deposit belongs next to the booking rather than in a separate payments app.

> **Be generous once**
>
> The most common mistake I see is rigid enforcement on a genuine emergency. Keeping a £40 deposit from someone whose car broke down buys you £40 and costs you a customer and a review. Most owners I've talked to hold the policy firmly by default and waive it once, quietly, when the reason is real. The policy exists to change behaviour at booking time, not to maximise forfeitures.

## Collecting the balance

Once the appointment happens, the rest of the money has to move. The three workable patterns:

**Card on file, charged after the appointment.** The smoothest for the customer — they walk out, the balance is charged, a receipt lands. Requires that your payment setup supports saving the card at booking, and it requires you to be accurate, because charging the wrong amount to a saved card is a fast way to a chargeback.

**Invoice after the appointment.** Best when the final price isn't known until the work is done — extra colour, an overrun session, add-ons chosen on the day. You send the balance as an invoice and the customer pays online. This is the pattern behind [invoicing customers after a booking](https://opencals.com/blog/invoice-customers-after-booking), and it's what most businesses with variable pricing end up using.

**Pay in person.** Nothing wrong with this if you already have a terminal at the desk. The deposit did its job by getting the person through the door; the rest is a normal counter transaction.

If customers can add extras at booking time — a treatment upgrade, an extra hour, a product bundle — those should be priced into the balance rather than bolted on separately. [Booking add-ons](https://opencals.com/blog/booking-add-ons) covers how that fits together.

## When not to charge a deposit

Deposits aren't universally correct, and it's worth naming the cases where they cost more than they save:

- **Very short appointments where your slot refills easily.** If a cancelled 2pm reliably gets taken by a walk-in, the no-show isn't costing you much.
- **A brand-new business with no reviews.** Asking strangers for money upfront when they have no signal about you is a genuine conversion problem. Get a base of reviews first, then introduce deposits.
- **Highly competitive local markets where nobody else charges one.** You can still do it, but you need to explain why on the booking page, and you should expect to lose a few price-sensitive customers to the salon down the road.
- **Free consultations.** Charging a deposit on a free intro call defeats the purpose of offering it.

## Where to go next

- [Deposits & cancellation policies](https://opencals.com/features/deposits-cancellations): How deposit amounts, cancellation windows, and refunds are configured per service.
- [Shopify booking widget vs full store](https://opencals.com/blog/shopify-booking-widget-vs-full-store): Whether your service business needs an embedded widget or a full booking storefront.
- [Best Shopify appointment apps](https://opencals.com/blog/best-shopify-appointment-apps): An honest comparison of the booking apps available for Shopify merchants.
- [Invoicing after a booking](https://opencals.com/blog/invoice-customers-after-booking): Collecting the balance and post-appointment add-ons without chasing people.

## Frequently asked questions

### Can Shopify take a deposit natively, without an app?

Not on a standard checkout. Shopify charges the full price of a product at checkout. You can approximate a deposit using draft orders and invoices, or by selling a separate low-priced 'deposit' product, but neither approach links the payment to an appointment or a cancellation window — you'll be reconciling manually.

### What is a reasonable deposit for a service booking?

For a typical £50–£150 appointment, 20–30% or a flat £20–£30 works well. For long or high-value work such as tattoos, colour transformations, or half-day photography, 25–50% is normal because you're also covering prep time and materials. Very short, low-value appointments often don't justify a deposit at all.

### Do deposits actually reduce no-shows?

Yes, consistently — a customer who has money at stake shows up far more reliably than one who doesn't. The trade-off is that some people won't book at all when a deposit is required. For most service businesses the higher show rate more than covers the lost bookings, because an empty appointment slot can't be resold.

### Should the deposit be refundable?

Refundable outside your cancellation window, retained inside it. That's the structure that makes a deposit function as a commitment rather than a prepayment. State both parts clearly before the customer pays — most disputes come from people who didn't know the rule, not from people who disagree with it.

### How do I collect the remaining balance?

Either charge a saved card after the appointment, send an invoice once the final price is known, or take payment in person. Use invoicing when the final amount can change on the day; use a saved card when your prices are fixed. Mixing methods inconsistently is what creates reconciliation work.

### Can I take deposits and still keep my Shopify store?

Yes. A booking platform that installs as a Shopify app handles service bookings and deposits while your product orders continue through the existing store. If services are the bulk of your revenue, running the booking storefront as the primary entrance and keeping Shopify for retail is also a common arrangement.

Deposits are the rare change that's both small to implement and immediately visible in the numbers. Pick your two riskiest services, set a deposit and a 24-hour window, say it plainly on the booking page, and look at your no-show rate in a month.

If you want to see how it's configured end to end, the [deposits and cancellations](https://opencals.com/features/deposits-cancellations) page walks through the settings, and [pricing](https://opencals.com/pricing) is $0.99 per booking with no monthly fee — so a slow month costs you almost nothing.
