Resources
Help & articles
Guides, how-tos and news for your catering business.
Online Features
Let customers place orders directly from your website with a branded online order form.
Let your customers place orders directly from your website with a branded online order form.

The online order form is a customer-facing page where people browse your items, choose what they want, and submit an order. When they submit, the order arrives in Puree ready for you to review and turn into a quote.
Puree styles the page to match your own website — your logo, fonts and colours — so it feels like part of your site rather than a third-party checkout. The form itself in the middle of the page works the same for everyone; everything around it is customised to your brand.
Most caterers link to their order form from a button on their own website. The customer clicks through, orders, and never really notices they’ve moved to a different page.
Under Settings → Order Form View you choose between two layouts. Both capture the delivery details at the top of the page and take the customer through to the same checkout — only the way items are presented changes.
If you’d like to use the cart view but don’t have photos of everything, you can generate them with AI Photos & Settings rather than organising a photo shoot.
On a cart-view form, customers narrow the items with a filter panel above the cards: All Items (or Favourites, if you’ve starred any), a button for each package category, a button for each item category, and a button for each dietary code your items carry.
You can add your item tags to that panel. Under Settings → Order Form View, turn on Let customers filter by item tag and a Tags row appears with a button for each item tag that an item on this form carries, in the order you keep them on the Tags page. A customer who clicks Lunch sees every item tagged Lunch, whatever category it sits in — useful when your menu is organised by occasion, course or season rather than by category. A tag that none of the form’s items carries gets no button, and only the tag’s name is shown; its colour stays in Puree. See Tags for how to tag items.
Item tags are normally internal. With this setting on, the names of the tags used on this form are shown to your customers, so name them accordingly.
With tags on, you can also turn on Hide the Categories row, so customers browse by tag instead of by category. The All Items view follows the form’s Menu sections setting: category headings unless you group by tag (see Grouping Items by Tag below). If none of the form’s items carries a tag, the Categories row comes back on its own, so the form always has a way to browse.
Both settings apply to the cart view only.
By default the form lists your items under their category headings. You can group them by your item tags instead, the same way an online menu can. In the form’s settings, under Menu sections, choose how to Group items by:
With either tag option, tick the tags to use, drag them into order and give each a level. Level 1 tags are headings; level 2 tags are sub-headings inside them. For example, Lunch and Dinner at level 1 and Hot and Cold at level 2 gives Lunch › Hot, Lunch › Cold, and so on. The list only offers tags that are on this form’s own items.
Each item shows once: under its first level 1 tag in your order, then under its first level 2 tag inside that. So an item tagged both Lunch and Dinner can’t be ordered twice by accident. Items with no level 1 tag are never hidden: they go under Other with Tags, and first in their category with Categories, then tags.
The grouping applies to the form view list and to the cart view’s All Items. Favourites and the filter buttons (categories, tags, dietary) still show a single list, and the Tags filter above works alongside the grouping: grouping lays out the whole form, while a tag button picks one tag’s items. Like the filter, grouping shows the names of the tags you choose to your customers.
Online menus have the same setting: see Online Menus.
Go to Online → Order Forms and click New Order Form. Give it a name (e.g. “Corporate Lunch Orders” or “Daily Catering”) and a slug. The slug becomes part of the public web address customers use, so it can only contain letters, numbers and underscores.
Most caterers only need one form, but you can create as many as you like — for example a corporate lunch form, a weekend event form and a school lunch form, each with its own URL, items and settings.
Each form in the list has an active toggle. Switching a form off takes its public URL offline, so customers can no longer reach it — useful if you want to pause ordering without deleting the form and everything you’ve set up on it.
Click Manage on a form and you’ll see four tabs across the top:
There used to be an Unavailable Dates tab here too. Days you’re closed are now kept once for your whole business on the Calendar & Google Calendar, and each order form chooses whether to honour them from its Settings tab.
The Save button sits at the top of the page — make your changes on a tab and save when you’re done.
The settings tab is grouped into sections:
Set the earliest and latest delivery time you’ll accept, and the time picker on the form is limited to that window. The time increment controls the minute steps in that picker — set it to 15 and customers pick 10:00, 10:15, 10:30; set it to 30 and they pick 10:00, 10:30. Anything from 1 to 60 minutes is allowed.
Not every caterer promises to arrive on the dot. The optional delivery time range text lets you say what the selected time actually means — for example “Delivery will be within a 1 hour window of your selected time”. It’s shown next to the time on the form and in confirmation emails. Collection has the same setting.
Customers can add more than one delivery time to a single order. When they do, each item gets a dropdown so they can say which delivery it belongs to — handy when morning tea goes out at 10am and lunch at midday on the same order.
Cutoff times stop customers ordering for a date you can no longer cater for. Under Cutoff Times you set a number of hours’ notice for each day of the week, and Puree works back from your earliest delivery time to show you the latest moment an order for that day can come in.
The classic example is Monday morning — you don’t want an order for 8am Monday landing at 5pm on Friday. Set enough notice hours on Monday and the form won’t let that happen. Because the notice is set per day, you can be stricter on the days that need more preparation.
If you offer collection as well as delivery, enable it in the Collection Settings section:
When enabled, customers see Delivery and Collection radio buttons at the top of the form. Selecting collection hides the delivery address and time fields and instead shows your collection address and a collection time picker. If you’ve added more than one collection address, the customer chooses which one they’re collecting from. The form adapts instantly — no page reload required.
You can also run a collection-only form by turning Allow delivery? off in Order Settings. At least one of delivery or collection must be enabled.
Collection orders appear in Orders Received with the order type “Customer to collect”. You process them the same way as delivery orders. For more detail, see our Online Order Collection: Let Customers Choose Between Delivery and Collection.
The Items tab lists your item categories, much like the quote builder. Open a category and tick the items you want on the form — or use the select-all control to take a whole category at once. Work through each category in turn until the form has everything you sell online.
Each item has three controls:
Items pull their names, descriptions and prices from your existing item setup — so make sure your Items & Categories are up to date before publishing the form. If an item has a minimum quantity, the quantity box shows it as a hint and warns the customer if they try to order fewer.
By default every included item is available whenever the form is open. Each item on the Items tab has a small availability badge: it reads Always for most items and turns amber when custom rules apply. Click it to limit the item to a date range, certain days of the week, or extra hours of notice. See Item Availability on Order Forms for the details.
The Packages tab works the same way as Items: tick the packages you want on the form, and star any you want treated as favourites. See Packages for how packages themselves are built.
Packages are grouped on the form by their package category, and each category becomes a filter button so customers can jump straight to it. Give your packages a category — “Platters”, “Grazing”, whatever suits — so they land under a heading that makes sense. Any package without a category is grouped under Other.
If you only deliver to certain areas, enable postcode validation. Enter the postcodes you deliver to, and customers outside your delivery area either see a warning (they can still proceed) or are blocked from ordering, depending on which option you choose.
Postcode patterns support wildcards (e.g. SW1* matches all SW1 postcodes), numeric ranges (e.g. 2000-2099 ), and comma-separated lists. There’s a test box on the settings page so you can check a postcode behaves the way you expect before going live.
The same list can carry a delivery fee per postcode, so the fee is calculated as soon as the customer enters their address. If you don’t deliver by postcode at all, you can hide the postcode field entirely. A signed-in customer ordering to one of their saved addresses can be charged that address’s own fee instead, with no postcode involved.
Two more settings on this tab apply to the fee however it was arrived at. Charge the delivery fee chooses between Once per order and For each delivery time, so an order with morning tea and lunch can pay for both trips. Free delivery over takes a figure that an order has to reach before delivery stops being charged; leave it blank to always charge. See Delivery Fees by Postcode for the detail.
Days you’re closed are now kept in one place for your whole business, on the Calendar & Google Calendar, rather than per order form. Hover any day there and click the ✕ to close it.
Each order form then chooses whether to honour that list, with the Block the dates marked unavailable in my calendar setting on the Settings tab. When it’s on, customers can’t pick a closed day and an order can’t be submitted for one. Turn it off for a form that should keep taking orders regardless, such as a shop that stays open over a shutdown.
Each order form has its own public URL made up of your business name and the form’s slug. Add that link to a button on your website, put it in your email signature, or include it in marketing material. If you use a Custom Domain & Website, the form can sit on your own domain instead.
The order comes together in one page. The customer picks delivery or collection, chooses a date from the dates you’ve made available, picks a time within your window, enters their address and postcode, and can add free-text special instructions. If a delivery fee applies to their postcode, it appears straight away.
They then browse items — filtering by category, by dietary code, by your favourites or, if you’ve turned it on, by item tag — add quantities, and proceed to checkout, where they enter their contact details and pay by whichever method you allow. Both you and the customer get a confirmation email.
Submitted orders land in Online → Orders Received with all the items, contact details, delivery address and requested date and time. From there you assign a customer and convert the order into a quote, with your default terms and introduction commentary already applied. See Processing Online Orders for the full workflow.
In the form settings, find Sales tax and choose Use account default, Includes sales tax or Excludes sales tax.
This applies to new orders from this form, including delivery and packages. Entered prices stay unchanged: excluding tax adds it on top. Existing orders keep their saved setting. Different forms can use different settings.
Customers see the default tax name and rate with the inclusive/exclusive explanation. Items using other bands have numbered footnotes with a key. The cart item modal also explains tax for that item. The order summary shows the tax breakdown without repeating the footnote keys.
Set item bands and accounting mappings through Tax Rates.