Help guides and articles for your catering business.
Automatically apply different delivery fees based on where your customer is located, and control which postcodes can place an order.
The delivery postcodes section lets you define zones, each with its own fee. When a customer enters their postcode on the order form, Puree matches it against your zones and automatically shows β and charges β the correct delivery fee. Zones with a fee of zero show as free delivery.
These settings are found under Online β Order Forms β Settings β Delivery Postcodes.
Each row in the table defines one zone:
0 for free deliveryClick Add row to add more zones. Zones are matched top-to-bottom β the first matching row wins, so place more specific patterns above broader ones.
Patterns are flexible and support several formats:
| Format | Example | Matches |
|---|---|---|
| Exact postcode | 2000 |
Only 2000 |
| Wildcard prefix | SW1* |
SW1A, SW1P, SW1V, etc. |
| Numeric range | 2000-2099 |
Any postcode between 2000 and 2099 |
| Comma-separated list | EC1A,EC1M,EC1N |
Any of the listed postcodes |
Postcodes are matched case-insensitively and spaces are ignored, so SW1A 1AA and sw1a1aa both match SW1*.
By default, the fee rows are used to look up delivery fees only β customers can still place an order regardless of their postcode. To enforce your delivery area, tick Restrict orders to postcodes listed above.
When restrictions are enabled, you choose how to handle postcodes outside your zones:
You can customise the message shown to customers when their postcode isn't in your delivery area.
When postcode restrictions are enabled, customers must enter a postcode before they can place an order. If they attempt to submit without one, they'll see the message: "Please enter your postcode to continue."
If restrictions are not enabled, the postcode field is optional β a delivery fee is still applied if the postcode matches a zone, but no error is shown if it's left blank.
| Situation | Restrictions off | Restrictions on β warn | Restrictions on β block |
|---|---|---|---|
| No postcode entered | Order proceeds, no fee | Error: postcode required | Error: postcode required |
| Postcode matches a zone | Zone fee applied | Zone fee applied | Zone fee applied |
| Postcode doesn't match | Order proceeds, no fee | Warning shown, order proceeds, no fee | Error: order blocked |
Use the Test a postcode tool at the bottom of the settings page to check how a postcode will be handled before publishing. Enter any postcode to see whether it matches a zone and what fee would be applied.
As a customer fills in their details, their postcode is saved automatically. By the time they reach the cart summary, the delivery fee is shown as a separate line alongside the order subtotal. The total displayed β and charged β includes the delivery fee.
If no postcode has been entered yet, the cart shows the total excluding the delivery fee, with a note that the delivery fee will be added once their address is confirmed.
Collection orders are never charged a delivery fee regardless of postcode settings.
If you accept card payments via Stripe, the delivery fee is included in the amount charged to the customer's card. This makes it important to set up your delivery zones before enabling Stripe on your order form β you want the correct total to be charged at the time of payment. See Online Order Form β Payment Methods for more on payment methods.