Catering deposits and payment terms that protect your cash flow
You are financing every event you cater. Here is the payment schedule that stops you doing it out of your own pocket.
The short answer
A workable catering payment schedule is: a non-refundable booking deposit of 25-50% to hold the date, a second payment of 25-50% due 30 days before the event, and the balance due between 7 days before and the day of the event — never after. Final guest counts should be guaranteed 10-14 days out, billed at the greater of guaranteed or actual. Cancellation terms should retain the booking deposit at all times, 50% within 60 days, and 100% within 14 days, because that is when the food is bought and the crew is committed. Local law varies on whether a deposit can be described as non-refundable, so have the clause reviewed where you operate.
Here is the thing nobody says out loud when you start catering: you are a lender. You buy the food, you pay the crew, you rent the china, and then some weeks later somebody pays you. Every event you cater is financed by you, at 0%, and the interest is your own stress.
A payment schedule is how you stop doing that. It is not aggressive and it is not unusual — it is what every venue, every florist and every photographer already does, and your clients have signed one before.
The schedule
| When | Amount | What it is for |
|---|---|---|
| At booking | 25-50%, non-refundable | Holds the date. This is the one that matters. |
| 30 days out | 25-50% | You are about to commit to rentals and staff |
| 7 days out, or day of | Balance | Before service, always |
| After the event | Overages only | Extra bar consumption, added hours, damages |
Take the balance before service. Not net 30, not 'we'll settle up after'. Once the event is over your leverage is gone, the client's excitement is gone, and chasing money for food somebody already ate is the least pleasant job in this trade.
How much deposit
It depends on how far out the booking is and how much of your capacity it consumes.
| Situation | Deposit |
|---|---|
| Wedding booked 12+ months out | 25-30% |
| Wedding booked under 6 months out | 50% |
| Corporate event, repeat client | 0-25%, or a PO |
| Corporate event, new client | 50% |
| Drop-off under $500 | Payment in full |
| Any event under 14 days out | Payment in full |
That last line is not a negotiating position. Inside two weeks you are buying food and committing staff immediately, and a cancellation costs you almost the full amount. Take the money.
The cancellation clause
This is the clause that gets read exactly once, at the worst possible moment. Write it so it is fair and so you can defend it out loud.
| Cancelled | Client owes |
|---|---|
| Any time | The booking deposit, retained |
| More than 60 days out | Deposit only |
| 30-60 days out | 50% of contracted total |
| 14-30 days out | 75% |
| Under 14 days | 100% |
The reason it steps up like that is real and you should say it plainly: the closer you get, the more of the cost is already spent and the less chance you have of selling that Saturday to anybody else. Clients accept this immediately when you explain it as a fact about your business rather than a penalty about their behaviour.
Two things worth adding. A postponement clause — one date move, more than 60 days out, deposit transfers, subject to availability — costs you very little and defuses most disputes before they start. And a force majeure clause, which everybody in hospitality now writes properly, having learned the hard way.
Guest count guarantees
Guarantee due 10-14 days out. Billed at the greater of the guaranteed number or the actual number. Increases accepted up to 72 hours out at the same per-head rate; decreases after the guarantee do not reduce the bill.
This sounds harsh until you have had a client drop from 180 to 140 four days out, after the food was ordered and eighteen people were booked. Then it sounds like the most reasonable paragraph in the contract.
Service charge, gratuity and tax
Be precise here, because it is the single most common source of invoice disputes and in many places it is regulated.
- Service charge is a charge for providing service and it is yours. It is not a tip, and in many jurisdictions you must say so explicitly on the invoice.
- Gratuity goes to staff. If you use the word, it must reach them.
- Do not use them interchangeably. Where these are regulated, using 'gratuity' for a charge you keep is the mistake that turns into a claim.
- State clearly whether tax applies to the service charge, because in many places it does.
- Show them as separate lines. A client who feels a charge was hidden will dispute the whole invoice, not just that line.
Getting paid without chasing
Most late payment is not a client refusing to pay. It is a client who lost the email.
- 1Put the schedule in the proposal, not the contract's back pages. Nobody should discover payment dates after signing.
- 2Send a reminder 5 days before each due date, not on it. A reminder before the deadline is helpful; one after is a chase.
- 3Make paying take one click. Every extra step is a day of delay. A link that opens a card payment beats bank details in an email, every time.
- 4Make the follow-up cheap to send. The second reminder fails because writing it is unpleasant, not because you forgot. A template you can send in ten seconds gets sent.
- 5Never start service on an unpaid balance without a written decision to do so. If you choose to, that is a business call — just make it deliberately, not by drifting into it.
The whole system is: terms in the proposal, deposit takes a click, follow-up that costs you ten seconds, and the balance settled before anybody loads a van. In Apron Desk that is the client portal — the proposal, the e-signature, the deposit and the balance all live at one link, payment goes straight to your own Stripe account rather than through us, and the chase-the-client emails are drafted in your tone for you to check and send.
See it with your own events in it.
14 days free, no credit card, $50 of AI usage included every month. If it is not for you, do nothing and it ends by itself.
Start free
