Resources

Help guides and articles for your catering business.

Online Order Form β€” Delivery Fees by Postcode

Automatically apply different delivery fees based on where your customer is located, and control which postcodes can place an order.

Overview

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.

Setting Up Fee Zones

Each row in the table defines one zone:

  • Postcode pattern β€” defines which postcodes belong to this zone (see format guide below)
  • Delivery fee β€” the fee charged for deliveries to that zone. Enter 0 for free delivery

Click 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.

Postcode Pattern Formats

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*.

Restricting Orders by Postcode

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:

  • Show a warning β€” the customer sees a message but can still proceed with their order. The order goes through without a delivery fee, and you can follow up with them about delivery options.
  • Block the order β€” the customer cannot submit the form. They must enter a postcode that matches one of your zones before they can proceed.

You can customise the message shown to customers when their postcode isn't in your delivery area.

Requiring a Postcode

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.

How It Behaves at Checkout

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

Testing Postcodes

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.

How Fees Appear to Customers

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.

Delivery Fees and Stripe Payments

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.