You can keep what the cancellation actually cost you, and very little more. That means non-returnable materials, restocking and return costs, permits and design work you already paid for, your time, and profit you could not replace, never more than the job would have earned. If the customer cancelled inside a cooling-off window, you keep nothing: the federal rule says refund every payment within 10 business days.
The owners asking this question on Reddit usually start with a percentage. One r/Contractor owner whose customer backed out of a remodel before any work started proposed keeping "25% for my time and trouble." Another in the same thread pushed back: "I don't understand folks calculating based on percentage of material costs... It's all about your time." The second owner is closer to how a judge, a card network or an angry customer will look at it. A percentage is a guess. An itemised bill is evidence.
This post is about the day after the cancellation. How to set up the deposit in the first place, including the state caps, is in our guide to collecting a deposit before work, and appointment no-show fees are covered in charging a cancellation fee.
Step 1: Did they cancel inside a cooling-off window?
If the deal was signed at the customer's home and they cancelled within the window, you refund everything. No deductions, no restocking fee, no time.
The federal Cooling-Off Rule is blunt. A seller may not fail, "within 10 business days after the receipt of such notice," to "refund all payments made under the contract or sale." All payments means the tub you already picked up from the supply house is your problem, not theirs.
States add their own versions. In California, a home solicitation seller must tender "any payments made by the buyer" within 10 days of cancellation, and the notice the buyer signs gives a senior citizen until midnight of the fifth business day rather than the third. In Ontario, a customer who signed away from your place of business can cancel "for any reason within 10 days of receiving a written copy of the agreement," and "for most contracts, the company has 15 days to return your money."
There is one narrow federal exception. The rule does not apply where the buyer initiated contact for "a bona fide immediate personal emergency" and gives you "a separate dated and signed personal statement in the buyer's handwriting" describing it and waiving the right to cancel. A burst pipe qualifies. A bathroom refresh does not.
The practical rule: do not spend a kitchen-table deposit until the window closes. Which sales count as door-to-door, and the state-by-state thresholds, are covered in the cancellation fee guide; the short version is that a customer inviting you to their home does not take you out of it.
Step 2: What does your contract actually say?
The contract decides the starting point, not the finish line. Owners in the r/Contractor thread split three ways: "my contract says non refundable," "depends on what the contract says," and one blunt "you keep nothing." Here is what each position is worth.
No cancellation clause at all. You still have a claim, because a customer who signs and then walks away has broken the contract. California's Civil Code measures contract damages as "all the detriment proximately caused" by the breach. You just have to prove it, which is Step 3.
"Deposit is non-refundable." This is a liquidated damages clause, meaning both sides agreed the deposit is the damage. Under the Uniform Commercial Code, damages "may be liquidated in the agreement but only at an amount which is reasonable in the light of the anticipated or actual harm," and "a term fixing unreasonably large liquidated damages is void as a penalty." A 10% non-refundable deposit that roughly matches your permit, design and scheduling cost looks reasonable. A 50% non-refundable deposit on a job where nothing was ordered looks like a penalty.
California is stricter. For a contract to buy services "primarily for the party's personal, family, or household purposes," a liquidated damages provision "is void" except where "it would be impracticable or extremely difficult to fix the actual damage." A contractor can usually add up actual damage from receipts, so in California a homeowner's non-refundable deposit clause is on thin ice, and the itemised bill is your real case.
"Call it a retainer instead." This was the most repeated tip in both threads: "do not use the word deposit anymore," and "start using the word Retainer." Renaming does not change the test. A Washington REALTORS legal hotline lawyer, answering whether a seller could keep oversized non-refundable earnest money, put it plainly in her video: "What if we call it something else? ... It doesn't matter," because "the court will look at the totality of the money" being forfeited. That was real estate in Washington, not trades, but the logic is the same penalty rule. What helps is wording that says what the payment covers.
Note
This is general information, not legal advice. Cancellation, deposit and licensing rules vary by state and province, and a large disputed amount is worth an hour with a local construction lawyer before you refuse a refund.
Step 3: Add up what the cancellation actually cost you
Your number is the loss you can prove: money you cannot get back, time you spent, and profit you could not replace, minus anything you saved. Build it line by line, the way you would build a quote. The logic is the same as pricing a job, run backwards.
| Line | Usually keepable? | Proof |
|---|---|---|
| Special-order or custom materials you cannot return | Yes | Supplier order and return policy |
| Restocking fees on returned stock | Yes, the fee only | Return receipt showing the charge |
| Your time to return, store or resell materials | Yes, at your real hourly cost | Time log, mileage |
| Permits, engineering, drawings already paid | Yes | Receipts |
| Estimating and design time, if the contract charges for it | Usually | Quote wording, drawings |
| Subcontractor or rental cancellation charges | Yes, if you were billed | Their invoice |
| Profit on the job | Only if you could not refill the time | Calendar, turned-down leads |
| General annoyance | No | Not applicable |
The owners who had done this before reached the same structure on their own. One r/Contractor commenter said to "find out what it will cost to return them at the store. say 10%. then you add your own restocking fee say 10%," then add labour, fuel and packaging, "take it off the deposit. return whats left." A commenter describing their mechanical contractors quoted 25% on returned items for long delays, "10% supply house restock fee + 15% time waste coverage," with custom items paid in full. Another owner "charged my 1 day rate" for returning everything, and the customer "called back a few months later to get back on the calendar."
A 26-year GC in the same thread described the most generous version that still protects him: he keeps the deposit for permits, engineering and take-off, "I typically double our costs for the above and return the balance," and credits what he holds if they come back within a year.
Lost profit, and its ceiling
Profit is the line owners argue about most. The law does allow it: the UCC's seller remedy includes "the profit (including reasonable overhead) which the seller would have made from full performance," with "due allowance for costs reasonably incurred and due credit for payments or proceeds of resale."
Two limits apply. First, the ceiling: "no person can recover a greater amount in damages for the breach of an obligation, than he could have gained by the full performance thereof." If the job would have netted you $2,400, you cannot justify keeping $6,000. Second, the refill: if you moved another customer into those dates, you did not lose that profit. One r/Contractor owner said he was "actually happy" about the cancellation because it freed his time for other projects. That owner has a weak lost-profit claim and a strong costs claim.
A worked example
Say a $15,000 bathroom, outside California, with a $3,000 deposit. The customer cancels nine days before start. These are example figures, not benchmarks:
- Special-order vanity, not returnable: $1,100
- Tub returned, supplier restocking charge: $90
- Permit fee paid: $350
- 6 hours to order, collect and return materials at a burdened $85 an hour: $510
- Lost profit: $0, because you pulled a waiting job forward into the same week
Evidenced loss: $2,050. Keep $2,050, refund $950, and send the list with receipts. If you could not refill the week, the profit you would have made on those days goes on the list too, up to the ceiling.
Goods-heavy jobs have a statutory floor
If the contract is mainly for goods, such as a spa, equipment or cabinets supplied rather than installed, UCC Article 2 may govern, and it has a default number. Where the seller withholds delivery because the buyer breached and there is no valid damages clause, the buyer gets back everything over "twenty per cent of the value of the total performance... or $500, whichever is smaller." On an $8,000 equipment order that is $500. Above that, the buyer's refund is "subject to offset" where you prove actual damages. So $500 is what you keep without proof, not the most you can keep. Mostly-labour jobs fall under general contract law instead.
If you have ever refunded a whole deposit to make a problem go away, the loss rarely stops at the refund: processing fees you do not get back, restocking charges you absorbed, balances nobody invoiced. Our free scan reads your payment and accounting exports and gives you a written list of where money like this is leaking.
When they stop the job halfway
Once work has started, stop thinking about the deposit and bill for what you did. Earned value first, then the deposit is applied against it, and the gap goes one way or the other.
The r/handyman thread that surfaced this topic is the cleanest example. A $7,200 bathroom remodel, $4,000 paid up front. The client stopped the job after the $1,500 ceiling was finished and the $1,552 wall prep and painting line was partly done, then asked for $1,552 back, keeping the contractor at $2,448.
The most useful reply did the arithmetic instead of picking a side: "If she used your quote and paid based on what was completed, you would get $1500 (ceiling) plus $776 (wall prep). $2276 and an issue of trash removal." In other words, a straight completed-work calculation paid the contractor less than the customer had offered. The top-voted reply, "No money back," would have started a fight over a number that was already in his favour.
The lessons from that thread, in the owners' own words:
- Run the numbers before you answer. Earned value against payments received is the first figure you need. Your progress payment schedule should make this arithmetic obvious for every job.
- Get your tools and debris out first. "Never leave tools insite," and several commenters pointed out that "holding tools as hostage in this situation" is treated as theft in most places.
- Get the cancellation in writing. Who stopped the job decides who breached. The steps for that are in documenting a job site dispute.
- Check your paperwork before you threaten anything. One commenter warned that "if your state requires a contract and you don't have one, they can not only sue you and get every penny back, but that can also get you into legal troubles." The poster had no written contract.
If the customer owes you money rather than the other way round, the escalation path is in what to do when a customer won't pay.
Refunding a card deposit costs you twice
A refund does not reverse the processing fee. Stripe's documentation says "Stripe's processing fees from the original transaction aren't returned." Square's help centre says the same: "When you refund a payment, the processing fees for the payment aren't refunded back to you."
On Stripe's Canadian pricing of 2.9% + CA$0.30 for domestic cards, a CA$4,000 deposit costs CA$116.30 to take. Refund it in full and that CA$116.30 is gone. If the customer disputes the charge instead of waiting for your refund, Stripe adds a CA$15.00 dispute fee "for each dispute you receive," before any time spent on evidence.
Three things follow:
- Put the processing cost on the itemised list when your clause allows reasonable costs of taking payment. It is a real, provable loss.
- Refund the undisputed balance fast. A customer who sees a clear statement and a same-day partial refund rarely files a chargeback. How to fight one if they do is in handling a chargeback.
- Think about how you take large deposits. The fee math on big card payments is covered in whether to accept credit cards.
If you took more than the law allows
Anything above your state's deposit cap was never yours to keep, whatever the customer did. California limits a home improvement downpayment to "one thousand dollars ($1,000) or 10 percent of the contract amount, whichever amount is less." Massachusetts caps it at "the greater of one-third of the total contract price or the actual cost of any materials or equipment of a special order or custom made nature" (MGL c.142A s.2).
If you took $3,000 on a California job, the cancellation conversation starts at $1,000, and keeping the excess invites a licensing complaint on top of the refund demand. In a thread comment, one r/handyman owner summed it up: "Many states stipulate what percentage of a deposit you can accept and how many days they have to cancel." The full cap table lives in the deposit guide.
The reply, and a checklist for your own situation
Answer in writing, calmly, with a date for the numbers. Something like:
Thanks for letting me know. I'm stopping all orders today and checking what can be returned. I'll send you an itemised statement of costs already incurred by Friday, and refund the balance the same day.
Then work through the list:
- Date check. When was the contract signed, where, and when did they cancel? Inside a cooling-off window, refund everything within 10 business days.
- Cap check. Did you take more than your state or province allows? Refund the excess regardless.
- Clause check. Does your contract say what the payment covers on cancellation? If it says only "non-refundable," do not rely on it alone, and in California assume it will not hold for a homeowner.
- Stop the bleeding. Cancel supplier orders, subcontractor bookings and rentals today. Every hour you wait turns a returnable order into a loss you must justify.
- Build the list. Non-returnable materials, restocking fees, permits, design time, return trips at your real hourly cost, card processing cost.
- Profit, honestly. Only if you could not refill the dates, and never more than the job would have earned.
- Refund the balance the same day you send the statement, by the same method they paid.
- Fix the next contract. Split the payment into a booking amount and a materials amount, and write down what each covers if the customer cancels. Our guide to change orders uses the same principle: every dollar tied to something you can point at.
Worked through the checklist and found you have been refunding whole deposits, eating restocking fees, or never billing the return trips? That is the pattern our free leak scan looks for across your payment and accounting exports. You get a written list of what is leaking and what to do about each item.
Can you handle this yourself?
Yes, for most cancellations. A single cancelled job with receipts in hand is an afternoon: the checklist, a short statement, a refund. The r/Contractor thread shows owners getting it right without a lawyer, and often getting the customer back later.
It stops being a do-it-yourself job in three cases. When the disputed amount is large enough that a lawyer's hour is cheap by comparison. When you are not sure your licence and contract paperwork would survive scrutiny, because that changes who has leverage. And when cancellations are not one-offs: if deposits, refunds and processing fees are quietly eating margin across dozens of jobs, that is a cash flow problem, not a customer problem. Finding where the money goes is what our breakdown of where a small business loses money is for.
For everything else about getting paid, from deposits to liens, the getting paid hub collects our guides in one place.
