Log catering enquiries as a customer and a draft invoice
Every catering enquiry lands in Square as a named customer and a draft invoice with the event details already on it.
New submission on your "Catering enquiry" form
Create Customer in Square, then Create Invoice as a draft for the estimated total
One-directional. A submission triggers the action — nothing is written back into your form.
A catering enquiry is a quote and a customer at once. Building both in Square from the same submission means the owner opens the app to a named profile and a draft invoice with the guest count already on it, rather than a voicemail and a note on the back of a receipt.
Restaurants and food trucks that price per event use this for the deposit conversation. The draft is a starting point — the figure is yours to set — and it exists within seconds, which is usually before the next caterer has rung back.
Setting it up
- 1
Publish the catering order form and make Event Date, Guest Count and Menu Package required, since those three decide the number on the invoice.
- 2
Build the Zap on New Submission from the catering form and check the sample data carries the whole Menu Items and Quantities answer, not a truncated version.
- 3
Add Square's Create Customer action first, mapping Customer Name, Email Address and Phone Number, so the invoice has somebody to belong to.
- 4
Add the Create Invoice action second and point it at the customer ID that step returned.
- 5
Build the invoice line from Menu Package as the name and Guest Count as the quantity, leaving the per-head price to be set by hand or by a lookup table of your rates.
- 6
Put Menu Items and Quantities, Special Requests and Venue or Delivery Address in the invoice message, so the customer can check what they asked for.
- 7
Set the due date well ahead of Event Date — a deposit is worth nothing if it clears on the morning of the party.
- 8
Send a test enquiry, price the draft in Square Invoices, then turn the Zap on.
What maps where
Using the Catering Order Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Square |
|---|---|
| Customer Name | Given and family name on the Square customer profile the invoice is addressed to |
| Email Address | Where the invoice goes once you have priced it and sent it |
| Phone Number | Phone on the customer profile — most catering deals get settled on a call |
| Event Date | Invoice message, and the date you count back from when setting the due date |
| Guest Count | Quantity on the invoice line, against your per-head package price |
| Menu Package | Name of the invoice line item |
Variations worth knowing
A Zapier lookup table turning Menu Package into your per-head rate means the draft arrives with a real total rather than a placeholder. You still open it before sending, but the number is close enough to quote from.
Add a step that appends the full enquiry to the customer note. When the same office books its Christmas lunch again, the conversation starts from what they ordered and how many turned up, not from a blank page.
If something isn't arriving
Create Customer has to run first, and the invoice step has to reference the customer ID it returns. If the customer step failed — usually a malformed email address — the invoice step still runs unless you add a filter between the two.
An answer like "about 40-50" is not a number Square can multiply. Constrain Guest Count to a numeric field on the form, and add a Zapier formatter step that pulls the first number out as a fallback.
Frequently asked questions
Does the customer see the invoice straight away?
No. It is created as a draft and nothing leaves Square until you send it. That gap is the point: catering prices depend on the date, the venue and the guest count, and none of those should be quoted automatically.
What if the enquiry is for a date we are already booked?
Nothing in the flow checks a diary. The draft is created anyway, which is easily handled — delete it and reply. If clashes are frequent, name the dates you cannot cover in the form's intro copy so fewer arrive.
Can one form cover catering and table bookings?
Keep them separate. A table booking should not produce an invoice, and a Zap that has to guess which is which will get it wrong. Two forms and two Zaps keep each flow specific and easy to change later.
Related automations
- Add counter signups to your Customer Directory
A signup at the till or on your site becomes a Square customer profile straight away, spelled the way the customer typed it.
- Add new members to a customer group
Each membership signup creates the customer in Square and drops them into the group your discounts and campaigns point at.
- Build a pickup pre-order the counter can ring up
A weekend pre-order arrives in Square as an open order with the right items, so staff prep it and ring it up at the register.
- Record workshop registrations as customers
A class registration becomes a Square customer tagged with the workshop they booked, so invoicing and follow-up start from a real record.
- Turn quote requests into draft invoices
An order enquiry arrives in Square as a draft invoice addressed to the buyer, with the spec and the figure already on it.
- Add new clients to your QuickBooks customer list
Every new client who fills in your intake form arrives in QuickBooks as a customer record, ready to invoice.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free