Resources
Help & articles
Guides, how-tos and news for your catering business.
Online Features
Create discount codes your customers can enter at checkout on your online order forms — percentage or fixed amount, with dates, usage limits and a minimum order.
Promotions your customers can type in at checkout on your online order forms. A code is a percentage or a fixed amount off, with your own dates and limits around it, and what it is worth lands on the order as an ordinary discount — visible on the quote, on the PDF and in your accounting export like any other.
A discount code does nothing on its own. Every order form starts with discount codes switched off, so as well as creating the code you have to turn on Accept discount codes on this form in that form’s settings. Until you do, there is no code box on that form’s checkout.
Codes belong to your business rather than to one order form, so a spring promotion is one code however many forms you run. You will find them in the settings menu, from the icon in the top-right corner of any page, under Discount codes.
That makes a working promotion two things rather than one: the code itself, kept once for your whole account, and a switch on each order form saying whether that form honours codes. Both have to be in place before a customer can use anything. The switch starts off, which is what lets the same promotion run on some forms and not others.
New code opens a short form in two halves. The first is the code itself.
spring10 and ` SPRING10 ` both match SPRING10.The second half is limits. All of them are optional, and a blank field means no limit. Create code saves it.
Uses per customer counts against the email address on the order, so it depends on Puree knowing who is ordering.
A customer who has signed in, or who has already filled in their details, is told as soon as they try the code that they have used it before. A customer who types the code first and their details afterwards has it accepted at that point — there is no email to count against yet — and it is taken off again when they submit, with a note telling them the code has been fully redeemed and to check their total before confirming.
The limit holds either way. What changes is how early they find out.

This is the step most people miss. Every order form starts with discount codes switched off, including forms you built long before you made your first code, so a new code works nowhere until you say where it should work.
Go to Online → Order Forms, press Manage on the form you want, open its Settings tab, and switch on Accept discount codes on this form. Save, and a Have a discount code? box appears on that form’s checkout.

Do this for each form that should honour codes. A form left switched off shows no code box at all, and a code typed against it is refused — so if you have created a code, advertised it, and a customer tells you there is nowhere to type it, this switch is almost always the reason.
On the second step of checkout — Confirm order — a Have a discount code? box sits between the items and the totals. The customer types the code and presses Apply. A code that holds up is confirmed on the spot — “Code SPRING10 applied (10% off)” — and the totals redraw underneath it. A code that does not is refused with the reason: not recognised, not started yet, expired, fully redeemed, already used by them, or an order that has not reached the minimum.

They can take the code off again, and change their basket afterwards. The discount is worked out again every time the order changes, so a customer who adds or removes items is discounted on what they are actually buying.
A code is charged against the order subtotal, delivery fee included — the same base as a percentage you type into the discount panel yourself, so 10% means the same thing whoever applied it.
A percentage stays a percentage all the way through. The quote, the PDF and your Xero or QuickBooks export say “10%”, not an amount that has lost the reason behind it. The one exception is a capped code where the cap actually bites: a ceiling cannot be written as a percentage, so it is stored as the capped amount instead.
A fixed amount never exceeds what is being bought. A $50 code on a $30 order takes $30 off rather than handing back change.
On the quote the discount is its own line, and the line names the code — Discount (10.0%) — code SPECIAL10 — so a total that sits under the menu prices explains itself to whoever is reading it. Tax is then charged on the discounted figure rather than the original one.

An order carries a single discount or surcharge, so a code cannot be added to an order that already has one. A customer who meets this is told the order already has a discount applied, and nothing you set is quietly written over.
A use is counted when the order is submitted, not when the code is typed. A customer who applies a code and then closes the tab has not spent one of your fifty.
If the order is later declined, cancelled or deleted, the use goes back into the pool.
If you edit the discount figure yourself in the order builder, the use still stands — the customer really did type the code — but it is marked as overridden in the usage list, so the code is not credited with money it is no longer paying.
You can also apply a code to a quote by hand. On the details step of the order builder, switch on Add Discount / Surcharge and look at the Visible adjustment panel: under the None / Discount / Surcharge choice there is a Discount code box. Type the code, press Apply, and the discount above fills with what the code is worth. Nothing is saved until you save the quote, as with everything else on that step.

Applying a code this way still checks that the code exists, is switched on, is inside its dates and has a use left — those are promises you made to somebody. It does not check the minimum order value or the one-per-customer limit, because those are rules for customers helping themselves, and you are making that decision yourself.
An order that came in from your website shows the same panel with the code named on it, so a quote with 12% off it reads as a promotion rather than somebody’s typo.
Click a code in the list to see Who used it: when, which customer, which order, how much the code took off, and whether it still stands or was released or overridden. Your list also shows a running count against the total-uses limit, the code’s dates, and whether it is live, scheduled, expired or switched off.
Switch off stops a code working immediately without deleting anything, and Switch on brings it back. A code that has never been used can be deleted outright; one that has been used cannot, because its history is the record of what you charged and why.