When you create a discount code you set a handful of rules that decide how much comes off and when the code is allowed to work. This article explains each one, what it does at checkout, and the order they're checked in, so you can set up a code that behaves exactly as you intend. To create a code in the first place, see Create a discount code.
The two types
Every code is either a percentage or a fixed amount.
- Percentage takes a share off the order total. A value of 20 means 20% off, so a £30 basket drops by £6.
- Fixed takes a set amount off, in your store currency. A value of 5 means £5 off, whatever the basket comes to.
A fixed discount never takes more off than the basket is worth. If a £5 code is used on a £4 order, the discount caps at £4 so the total can't go below zero.

The rules
Alongside the type and value, you can set three rules that limit when the code applies.
- Minimum order amount — the basket has to reach this figure before the code works. Set £25 and a customer with £20 of items will be told they need to spend more. Leave it blank for no minimum.
- Max uses — a cap on the total number of redemptions across everyone. Once the code has been used that many times, it stops working for everybody. Leave it blank for unlimited use.
- Expiry date — the last day the code is valid. After that date it's refused. Leave it blank and the code never expires.
There's also the Active switch. An inactive code is refused at checkout as if it didn't exist, so it's the quick way to pause a promotion without deleting it.
What happens at checkout
When a customer enters a code and taps Apply, MenuDock checks it against the rules in this order and stops at the first one that fails:
- The code exists, is active, and hasn't been deleted. If not: Code not found or inactive.
- It hasn't passed its expiry date. If it has: This code has expired.
- It hasn't hit its max uses. If it has: This code has reached its usage limit.
- The basket meets the minimum order. If not: Minimum order of £X required.
- On a multi-location store, the code is valid at the chosen branch.
Only when every check passes is the discount worked out and shown as money off the total. The usage count goes up only when an order is actually placed and paid, so a customer applying a code and then abandoning the basket doesn't burn a use.
Location scope (Business, multiple branches)
If you're on the Business plan with more than one location, the form adds a Valid at locations section with a Valid at every location checkbox, ticked by default so the code works at every branch. Untick it and choose the branches you want, and the code only applies at those. A customer ordering from a branch that isn't on the list is told the code isn't valid there. Single-location stores never see this section.
When to change this
- Running a "spend £30, get £5 off" offer? Use a fixed £5 code with a minimum order of £30.
- Want a limited-run promo? Set a max uses cap, an expiry date, or both.
- Pausing a seasonal code to bring back later? Switch it to Inactive rather than deleting it.
Related articles
Need a hand?
If a code is rejected and you can't see why, run through the five checks above in order: active, not expired, under its use cap, basket over the minimum, valid at the branch. Still puzzled? Email support@menudock.co.uk with your store name and the code.