Holdback · Help

The Holdback guide

Launch wording updated 24 Oct 2026; release checks and remaining live-store checks are recorded in the release results. Getting started is the short version, in the order you set things up. This is the long one: every screen, every setting and every button, and what each one does. Download this guide as a PDF to print or keep.

Contents

  1. How Holdback works
  2. Today
  3. Charges and Settings
  4. Your products, in the Shopify admin
  5. The theme editor
  6. Rentals
  7. What your customer sees
  8. What happens by itself
  9. Plans
  10. Shopify Flow
  11. Uninstalling and reinstalling
  12. Getting help

1. How Holdback works

Holdback agrees a deposit at checkout, and Shopify saves the customer's card for it. A deposit paid at checkout isn't available yet. The product notice explains the deposit, and the agreement is kept with the rental.

Each hire is one rental on Rentals. Keep a late fee, recording a return and finishing the deposit are separate actions. Nothing recurs and there are no instalments.

The latest charge date. Checkout prints a date for the deposit, and Shopify's own wording says the card will be charged then. It's the latest anything could be taken, and only if owed. By default it is the hire period plus the inspection window, counted from the order. Finish every rental before it. Holdback releases a deposit that is still open the day before the date, if no problem has been recorded (see also the release after a booked return in section 8). Any extension fee is paid by payment link. Once the date passes, Holdback will not keep money from the saved card; eligible fees use a payment link. Where the order still owes the deposit, Shopify marks it overdue, and the full remaining balance can be collected from the order page in Shopify, with no reason recorded and no email to your customer.

2. Today

Today is the first screen when you open Holdback: the date and one quiet line for your plan and this month's deposits ("Standard · 12 of 50 deposits this month"), and See plans at the top. A banner appears only when something needs you: the plan's limit reached, your store unable to take deposits, Holdback's terms to accept, products customers can't see, a currency Holdback can't work in, or rules to reapply after a reinstall.

Setup

While setup isn't finished, Setup is the first card, open, with "Setup · n of 3 done" and one button for each step still to do: Open theme editor (the editor opens with Holdback's app embed already switched on; press Save), Add a deposit, and View Rentals for the test order. Once all three are done it moves down beside Money this month, closed, as "Setup · all 3 done"; open it to see the name of your live theme.

What needs you, and Everything else

What needs you is listed in sections, each headed with the reason and a count: Overdue, Customer replied to a claim, Payment failed, Customer asked to cancel, Claim to send and others. Each rental in a section is a card with one button. On an overdue hire it is It's back, which opens the check on the rental (section 6), with Keep a late fee beside it where that applies. When the list is empty, Today says so. Recording a return takes no late fee. Use Keep a late fee separately for eligible late days, whether the item is still out or has come back. You get one email a day while returns are waiting (Settings → Reminders turns it off).

Under the list, Everything else counts the rest, each count linking to the Rentals filter that lists them: Due back today, Out on hire, Booked, not started, Claim sent, customer hasn't paid and Part of the deposit kept, the rest still open.

Money this month

Recovered this month and All time, beside the deposits agreed on hires out. Recovered counts late fees taken from saved cards, and claims your customers have paid, less anything refunded. Never the deposit limits. A charge you later refund in Shopify isn't counted. Holdback deducts a refund when it knows which payment the refund was for, as it does for a fee your customer paid by payment link. On a few charges it may not know, and refunds you make in Shopify on those may not be deducted.

Booking app notices

If Holdback finds Cowlendar or Book That App on your live theme, a note names it and says Holdback works alongside it: the deposit is added to each booking, and the booked dates show on Rentals. If recent orders only look like they came from a booking app, the note says so and asks you to place a test booking first. Either way, place one test booking on a product with a deposit and check it appears on Rentals with its dates before taking real bookings.

Your plan

The quiet line under the date: your plan's name and how many deposits opened this month, with See plans at the top of the page. See section 9.

Getting started guide and referral code

A small card near the bottom links to the getting started guide. The referral code is in Settings: open Did a partner recommend us?, type their code and press Add code. It credits them and doesn't change what you pay. Once added, Settings shows Referred by and the partner's name. What Holdback does is a section in Settings too.

Banners that can appear on Today

3. Charges and Settings

Charges is where you decide what customers agree to at checkout: which products carry a deposit, the late fee, the damage guide prices and the damage waiver. Settings has everything else: customer emails, reminders (the store's late fee and claim reminders), cancellations, the deposit check at checkout, selling in person, local delivery for hires, your plan, the referral code, the setup checklist and help.

Charges: the list

The Deposits section has one line for each item with a deposit: the item, the Hire fee (today), the Deposit (card saved, taken only if owed) — "per booking" where that's set — Hire length ("3 days + 2 to check", with the latest charge date if you changed it), and the late fee ("£15.00 a day", or None, with "store default" or "this item" when the rate isn't the rule's own).

Two red lines can appear under an item:

Edit opens the item on the add page with its deposit filled in. The ··· button has Remove, which takes the deposit off that item (it then sells at its normal price), and View in Shopify.

Under the list are the Late returns, Damage guide prices and Damage waiver sections, and How deposits work is a closed section at the bottom.

Add a deposit

Press Add a deposit at the top of the Deposits section on Charges. It's its own page, in four numbered steps, with what checkout will say on the right (under the steps on a phone). Set each product's price in Shopify to the hire fee. Holdback adds the deposit on top at checkout.

1. Which items. Select products or variants picks whole products, or only some variants of one (variants you leave out can't be bought online, because Shopify requires a purchase option on the whole product; the page warns you). Select collections picks every product in a collection. Your picks are listed in a grey box.

2. The deposit and the hire.

FieldWhat it does
DepositThe deposit amount, in your store's currency.
Hire period (days)How long the hire lasts, 1 to 365 days. Rentals shows the item as due back this many days after the order.
Inspection window (days)Time after the return to check the item before you decide on a charge, 0 to 365 days.
Latest charge date (closed)The date checkout shows for the deposit. Leave it blank for hire plus inspection (for per-booking deposits, hire plus inspection plus 90 days, never more than 365). Rules already set up keep the date they had. To give one the longer date, open it and type the number of days into Latest charge date. If customers book ahead, make it cover how far ahead they book plus the hire and the inspection, because it counts from the order, not from the hire.

A booking past the latest charge date. A booking app can let a customer book a return later than the latest charge date checkout showed. Shopify fixes that date at checkout and Holdback does not move it: from that date, Shopify lets you take the whole remaining balance from the order by hand, so Holdback releases the deposit by that date (the check runs up to a day early), which can be days before the item is due back. Once the date passes, Holdback will not keep money from the saved card for a late return; late days can only be asked for by payment link. Holdback emails you once when a rental opens like this (when your store has an email address and a sender set up). To avoid it, set Latest charge (or, on a per-booking deposit, How far ahead customers book) to cover how far ahead your customers book.

3. How the hire fee is paid. Two choices, and a rule to know:

4. Late fee (optional). Late fee per day, per item: when an item isn't back on time, Rentals suggests this amount times the number of items times the whole days late (one amount for the whole booking on a per-booking deposit). Use Keep a late fee to keep eligible late days, whether the item is still out or has come back. Recording a return does not take it. Leave it blank to keep the rate the rule already has; enter 0 to remove it. A late fee for particular items (closed) sets a different daily rate on the items picked in step 1; it overrides the rule's and the store's for deposits opened from then on.

At checkout, on the right, works the numbers out as you type for a £100 item: what's due today, the deposit, the due-back day, the late fee, and the date checkout will show, in days after the order.

Press Apply deposit. A message confirms how many items it was applied to and you're back on Charges. If anything couldn't be applied, a red box lists each item and why, under the heading "Nothing was changed". Cancel goes back without saving.

Once a product has a deposit, Shopify refuses to add it to a cart without the deposit — unless you let deposit items sell in person without one (see "Selling in person", below).

Settings: customer emails

Every time a fee is taken or a deposit is released, the customer is emailed what happened, the amount, your reason and the order number, under your store's name, at the address on the order. If the order has no customer email, that address bounced or was reported as spam, or no sender is set up, no email goes and the rental says so. A fee is not taken in that case: Holdback refuses it before any money moves.

Press Save email settings.

Your customer may also get Shopify's own receipt. When a fee is taken from the saved card, Shopify can send its own payment receipt as well as Holdback's itemised email. Holdback asks Shopify not to send the order-edit notice, but the payment receipt is Shopify's and goes out anyway, so a customer can end up with two emails for one charge. Holdback's says why the money was taken; Shopify's is the receipt. The help page on refused charges says more.

Settings: reminders

Defaults for every hire. A deposit's own late fee, or an item's, comes first; these fill in where neither is set, and each deposit keeps the late fee it opened with.

Press Save reminders.

Charges: damage waiver

It's on Charges, under Damage waiver (press Turn on or Change). Off until you turn it on. A customer ticks a box on the product page and pays a small extra charge, and in return you agree to limit what you claim from them for accidental damage. It's a promise from your store, not insurance.

On the product page the waiver goes into the cart with the hire, one for each item hired, and comes out of the cart or changes with it.

Press Save the waiver. Holdback creates a product called Damage waiver, and publishing it is up to you: open it and turn on Online Store under Sales channels, or customers aren't offered it. A banner reminds you until you do.

The waiver limits a damage claim. A late fee, a claim for a missing part and a claim for an item not returned aren't affected. If someone buys only the waiver, without a hire, refund it from the order. The page Offering a damage waiver has the detail.

Settings: selling in person (Shopify POS)

Shopify POS can't save a card for a deposit: the card is only saved for one at online checkout. Sell deposit items in person has three settings:

The line underneath says what's true right now. Press Save. Online, the product page still adds the deposit either way. Anything sold without one is listed on Rentals under "Sold without a deposit". Customers can still order online and collect from you — see Selling in person with Shopify POS.

Settings: plan

Your plan and this month's deposits, the prices, and See plans. See section 9.

Other banners on Charges

4. Your products, in the Shopify admin

You can also see and set a product's deposit without leaving the product page in Shopify.

The Holdback deposit block

On a product's page in your Shopify admin, a Holdback deposit block shows whether the product carries a deposit. With one, it shows the deposit, the hire fee, the hire period and the inspection window — or, for a product whose variants differ, a line for each variant. It warns you if the price changed after the deposit was set. Add a deposit or Edit in Holdback opens Add a deposit with the product already picked.

Purchase options

In the product's Purchase options card, choose Add a Holdback deposit (or Edit Holdback deposit). Set the deposit, hire period and inspection window, pick the variants if there are several, and press Save deposit. Remove deposit takes it off. It opens from a single variant's page too.

This quick form doesn't show per-booking deposits, a changed latest charge date or a late fee. Saving it keeps the per-booking setting and a changed latest charge date (as long as it's still at least hire plus inspection); to change any of those, use Charges.

5. The theme editor

Holdback works through an app embed in your theme, called Holdback deposit, found under App embeds in the theme editor's left sidebar. It adds the deposit to the cart and explains it on the product page. You can switch it off at any time, and nothing is added to your theme's code either way.

Its settings, all optional — leave any text box blank for Holdback's own wording:

6. Rentals

Every hire with a deposit on the customer's card. The list tells you what needs doing; each rental has its own page, where everything you can do with it lives.

The list

At the top: a Find a rental search (order number, customer or item), and the filters All, Overdue, Due today, Out on hire, Booked, Claims and Finished, each with its count. Overdue covers a hire past its due-back date; Claims covers a claim waiting or to send. Every rental still to settle is listed, with the 300 most recently finished; older finished rentals stay on their orders in Shopify.

Each rental is one card: the item, one status chip ("Overdue · 2 days", "Out on hire", "Booked"), "#order · customer", and one line saying what needs doing, or the due-back date and the deposit. Press a card to open the rental; on a wide screen the list sits beside it. How deposits work is a closed section at the bottom.

Due back today. The Due today filter shows Due back today, where several returns can be released in one press. Each hire that can be released has a tick box (all unticked to start with) and a Problem button, which opens the same check as It's back. Tick the ones that are back and fine and press the one button ("n back, all fine · release £X"): each deposit is released in turn, and the result for each shows underneath. A hire that needs something first has Open the rental, with what is owed.

One rental's page

Opening a rental (press its card) shows its own page: the status card, with one chip, a sentence saying what to do, the button for the next step and every note for where it stands, then the form you opened. Below: The £X deposit (a bar of Kept, Not taken and Released, one line per amount), with Take money (Keep a late fee, It's not coming back, Send a damage claim, Keep more from the deposit) and Give money back (Release the deposit) where they apply; Return (how and when it came back, with its photos); What happened (the latest four steps and emails, newest first, in your shop's time, and Show all); and More: Evidence PDF, What <customer's first name> sees (their deposit page), Photos and evidence, Extend hire, Booking cancelled, Emails sent to <customer's first name> (both rows show your customer's first name) and Hire details (out, due back, came back, hire fee paid, finish by, the late fee agreed). Back to Rentals takes you back to the list.

It's back opens a check that asks "All OK?" and records how and when the item came back. Yes, all fine records it, and for an on-time return with nothing owed it also releases the deposit (the button says how much). For an overdue hire, recording a return does not take a late fee: use Keep a late fee before finishing the deposit. No, there's a problem asks What's wrong?: damage opens the claim route; loss or non-return on eligible new agreements offers a confirmed keep. Earlier agreements retain their claim route.

When part of a deposit has already been kept, Release the deposit ends it. A paid non-return keep can make Keep more from the deposit available after due-back, while the item is still marked not returned or lost and has no came-back marker. An earlier late-only keep does not qualify. The reason comes from the fixed choices; private notes are not emailed to the customer.

Statuses

StatusMeaning
Out on hireThe card is saved and none of the deposit has been taken. Waiting for the hire to come back.
OverdueOut on hire, and past its due-back date.
Charge not completedA charge or release was started and didn't finish, usually because the card was declined. The amount and reason show underneath.
ReleasedFinished, with none of the deposit taken.
£X taken£X was kept from the deposit for eligible late days or non-return, never more than the deposit. The reason shows underneath. When it's the whole deposit, the amount is the whole deposit.

Under the status you may also see "Customer emailed", or "Customer not emailed" and why; a suggested late fee; a note if part of a charge was later refunded in Shopify; and a claim's own line — Claim sent, waiting for your customer, Claim paid, Claim withdrawn or Claim written off, with its amount and date. While a claim waits, a red line warns you not to use Shopify's Collect payment button on the order.

Notes under the item

The buttons

It's back. Record the return and its condition. This does not keep late fees. The page shows whether the deposit can be released or needs a separate finish or claim.

Extend hire. Propose a new due-back date and, optionally, an extension fee. An extension fee is paid by payment link, never from the saved card. The customer approves the proposal on their deposit page, which moves the due-back date immediately. The approved fee stays pending until the deposit is finished, when a separate Shopify payment link is sent; payment does not gate the new date. A free extension moves the date without a payment. Pending proposals and incomplete payments are shown on the rental. Releasing the deposit does not silently collect an extension fee.

Keep a late fee is separate from It's back. For a hire that is at least a whole day late, choose the number of whole days to keep. The amount is the agreed daily rate for the order times those days, capped by what is left of the deposit; days already paid for cannot be kept twice. The panel shows the calculation before you confirm. There is no free amount or customer-facing reason to type. Recording that the item came back does not take a late fee.

If the saved card cannot be used, including after its latest date, the eligible fee goes by payment link. Your customer pays on Shopify's payment page. Holdback must be able to email the customer before keeping money; a missing or suppressed customer address or unavailable sender stops the keep before any money moves.

Send a damage claim. Opens the claim form, in four steps: what's wrong, what it costs (the estimate line by line), the photos and a note, then check and send. Holdback releases the deposit, adds the estimate to the order, and emails your customer the estimate and a link to their claim page, which shows the photos you sent; you get a copy with the photos and the evidence PDF. There they tick I approve this claim of £X and press Approve and pay (Holdback records it), which takes them to Shopify's payment page. Or they press I don't agree and write to you: their message is on the rental and in your inbox, and Holdback doesn't remind them to pay until you lower the claim. While it waits, the rental says so in red, with a warning not to use Shopify's Collect payment button, and Open the claim offers Check for payment, Withdraw the claim and Write it off. Once it's paid, Claim: lower final cost refunds the difference if the repair cost less. Damage, loss and non-return has every step.

Customers cancelling online. Shipped hires with the cancellation terms in their checkout agreement can use Cancel this hire on the deposit page linked in their emails. If every hire has a booked start, the cut-off hours in Settings apply (48 by default). If none has a booked start, the customer can cancel until it is sent, capped at the earlier of due-back or 30 days after the order. Mark orders as fulfilled when you send them: a customer can cancel online until you do. The refund choice applies to both and defaults to everything paid, including shipping and tax. Holdback releases the deposit, cancels the order, refunds and sends one cancellation email to the customer and a copy to you, without taking anything from the saved card. Unbooked hires show Ask to cancel once their online window closes only while the due-back date is still ahead; after due-back they contact the shop. Pickup, local delivery, mixed booked/unbooked carts and earlier hires without the new agreement keep Ask to cancel.

Booking cancelled. For a booking cancelled in your booking app, which doesn't cancel the Shopify order. Holdback cancels the order in Shopify, releases the deposit in full and emails your customer. Refund the hire fee the customer paid at checkout is ticked by default; untick it if your terms keep the hire fee on cancellation. Press Cancel booking and release deposit, or Keep booking. It can't be undone. If Holdback stops on a cancel (the rental says so, and Today shows a banner), it moves no more money on it: check the order in Shopify, refund your customer there if they are owed a refund, then press Mark as finished. A refund you made outside Shopify (cash, for example) can't be seen by Holdback, so refund the customer in Shopify as well, or the cancel stays open.

Resume. On a charge that didn't finish. Tries the same amount with the same reason again.

Ask for a new card. On a declined charge. Shopify emails your customer a link to update their card. While you wait, the button becomes Send the link again, and Resume is hidden, because the charge would only decline again. When they've updated it, the rental says "Card updated" and Resume comes back.

Holdback never adds a line to an order for your customer's saved card to pay. A late fee that can't be kept from the deposit (the deposit is already finished, or the card declined) goes to your customer as Shopify's own payment link, which they pay on Shopify's page; the saved card is never charged for it.

Give up and release. On a charge that isn't going to go through. It removes the charge from the order and releases the deposit in full, and your customer is emailed to say none of it was taken from their saved card. Press Give up and release the deposit, or Keep trying. It can't be undone. If you still want a late fee, send your customer a payment link from Shopify. Don't use Collect payment.

Evidence. Available on every rental, even after settling. Add handover and return photos (under More, Photos and evidence) — they're made smaller before uploading, up to 20 per rental — and remove any you don't want. Evidence PDF (under More) gives you one file with the rental, its payment and release records, the customer emails and the photos, ready to send if a customer disputes a charge. Your customer sees the handover photos on their deposit page, with one tick to say they've seen them (the date is in the PDF); return photos reach them only if you send them with a claim. Photos are deleted 180 days after the deposit is finished and any claim on it is closed; see the privacy policy.

Past the latest saved-card date, eligible late fees go by payment link. The page explains which action is available. Recording a return, releasing the deposit, cancellation and evidence remain separate; claims are approved and paid by the customer.

Why charge here and not in Shopify

Your Shopify order page has a Collect payment button beside the balance. It takes the whole balance at once from the saved card: no limit, no reason recorded, no email to your customer and nothing in the evidence pack. While a claim is open it would take the claim without your customer's approval. Charging from Rentals limits the amount to the deposit, puts your reason on the order and in their email, and keeps the photos and the PDF together for a dispute. The page Avoiding chargebacks explains why that matters.

Sold without a deposit

Items that have a deposit rule but were sold without one — usually in person on Shopify POS — are listed here with the order, the item, the date and whether it was in person or online. No card was saved for a deposit on these, so take one another way, such as a card pre-authorisation on your terminal, or cash.

Other banners on Rentals

7. What your customer sees

On the product page

A box beside Add to cart: the figures (the hire fee today and the deposit their card is saved for, marked "not taken"), three short points, and Full deposit terms, which opens the whole notice: what the date at checkout means, what Shopify's wording means, their consent to the card being kept on file, and how to cancel. You can change every line of the full terms in the theme editor (section 5). Under it, a tickbox, "I agree to the deposit terms.": until it's ticked, Add to cart asks them to tick it and Buy it now is hidden. If you offer the damage waiver, a second tickbox offers it with its price; while it's ticked, Buy it now is hidden so the waiver goes through the cart.

At checkout

For a deposit on the card, checkout shows the hire fee due today and the separate deposit line as a later balance. The product-page terms explain the date as the latest day an eligible amount could be kept. This is a one-off hire, with no recurring payment or second order.

Emails

Sent under your store's name, in your customer's language (English or French) and in the currency they paid in:

Each rental shows whether its latest email went, and why not if it didn't. An email isn't sent if the order has no customer email, if that address bounced or was reported as spam, or if no sender address is set up. A fee is not taken in that case: Holdback refuses it before any money moves.

The status page

The link in the first email opens a page showing where their deposit stands: open, released, or a fee taken, with the amounts and your reason. It's in their language. The link keeps working while the deposit or a claim on it is open, and for 90 days after both are finished.

8. What happens by itself

9. Plans

Every plan has every feature. Plans differ only in how many deposits a month they cover:

PlanPriceDeposits a month
FreeFree5
Standard$34 a month, 14-day free trial50
Pro$69 a month200
Scale$129 a monthUnlimited

Paid plans can be billed yearly at 10 months' price. A yearly plan's deposits are one allowance counted across the year: Standard 600, Pro 2,400. Plans are priced in US dollars and Shopify adds them to your Shopify bill. The count starts again each month (each year on a yearly plan).

Going over your plan's count doesn't stop anything. Every deposit is still recorded, and you can finish each one as normal — a banner asks you to upgrade. Change plan from See plans on Today or in Settings → Plan.

10. Shopify Flow

Holdback adds to Shopify Flow:

The trigger is sent when the deposit is finished; keeping another part does not send it again unless that finishes the deposit.

Flow isn't available on development stores, so these have been checked against Shopify's schema but not yet run in a live workflow.

11. Uninstalling and reinstalling

Finish every rental before you uninstall. While Holdback is uninstalled:

Reinstall within 48 hours and Holdback puts your deposit rules back exactly as you had them, and Today says "Your deposits are back on". If some couldn't be restored, Today lists them under "Some deposit products need their deposit applied again": reapply them on Charges. After 48 hours, Holdback deletes your store's data.

Reinstalled after more than 48 hours? Shopify removed Holdback's deposit options and Holdback deleted what it kept itself. Today tells you, under the heading "Holdback was removed for more than 48 hours", with links to Charges and Settings, and lists any product customers aren't able to buy until you add its deposit again. Set your late fee per day again on each deposit (Charges, Edit), your waiver choice on Charges, and your customer emails and reminders in Settings. Press "Got it" to clear the notice. Your old rentals and their history are gone; keep the evidence PDF the uninstall email linked to. If none of your products needed a deposit when you left, Holdback has no way to tell this install from a first one, so Today doesn't show the notice.

12. Getting help