Catering order tracker in SharePoint
Move your catering spreadsheet into two SharePoint lists: "Clients", and "Catering Orders" with one row per event (date, headcount, menu, deposit status and order status). Add a saved view filtered to today so the kitchen sees only today's events. The list takes no payments and gives no food-safety advice. It records what you type. Exact names may differ on your screen.
Why email and spreadsheets break down
A catering order can start as an email. The client writes, you reply, and the headcount changes twice. The deposit is mentioned in a third message. A week later nobody can say which number is final.
Problems:
- The newest headcount is in a reply buried in a thread.
- The deposit was asked for, but no one wrote down if it came in.
- The menu is in one file, and the date is in another.
- The kitchen wants a list for Friday and someone builds it from scratch.
A list gives each event one row. Everyone looks at the same row, so there is one current headcount and one deposit status.
What you are building
You will build two SharePoint lists:
- "Clients": one row per client, with the client name and a contact line.
- "Catering Orders": one row per event.
A lookup column in "Catering Orders" points to "Clients". Staff pick the client from a list instead of typing the name each time. The spelling stays the same on every row, so you can find all orders for one client.
If you are new to lists, see "Replace a spreadsheet tracker with a SharePoint list". For a similar two-list build, see "Daycare attendance and pickup log in SharePoint". This guide does not repeat those steps.
Plan before you build
- Decide who will own the list. One person should be able to say "this list is correct today."
- Decide what counts as one order. One way to start: one event on one date is one row. A client with three events has three rows.
- Keep client details short. A name and one contact line are enough to start. Do not store card numbers or bank details in the list.
- Pick who can open the site before the first order goes in. Changing the view does not hide rows from anyone with access, so set permissions with your admin.
- This guide does not give food safety, allergy or licensing advice. Keep those records the way your local rules and your own procedures require. This list only records what staff type.
Step 1. Create the "Clients" list
Microsoft's help page on creating a list says: "Choose to start a list from scratch." You do this by selecting "+ New" and then "List" on your SharePoint site, choosing "Blank list", adding a name, and selecting "Create". Name the list "Clients". Then set up these columns:
- Title (Single line of text). Rename the Title column to "Client name". Type the business or person name the same way every time.
- Contact (Single line of text). One line, such as a first name and the best way to reach them. Use plain text here, not a Choice column, because Microsoft lists Choice as an unsupported column type for lookups, and you may want to show this column in orders.
Add one row per client. Add only what you need.
Step 2. Create the "Catering Orders" list
Create a second blank list named "Catering Orders". Set up these columns:
- Title (Single line of text). Rename it to "Event". Type a short name, such as "Spring luncheon".
- Client (Lookup). In the list, select "Add column", then "Lookup". Microsoft's help page lists the steps for a lookup column. Pick "Clients" as the source list. Under "Select a column from the list above", pick "Client name". Use "More options" to add more columns from the source list, such as Contact. Then save.
- Event date (Date and Time, date only).
- Headcount (Number). Type the number of guests. Update it when the client changes it.
- Menu (Multiple lines of text). Type what the client ordered, one item per line.
- Deposit status (Choice). Use numbered choices so the order stays the way you want it: 1 Not requested, 2 Requested, 3 Received, 4 Refunded.
- Deposit amount (Number). Type the amount as a plain number. Prices and deposit rules are your own.
- Order status (Choice): 1 Inquiry, 2 Confirmed, 3 Delivered, 4 Closed, 5 Canceled.
Microsoft's lookup page lists "Choice" and "Currency" as unsupported column types for lookup source columns. That only affects columns in "Clients" that you want to show in orders. Your Choice and Number columns in "Catering Orders" are fine, because they are not lookup sources.
Step 3. Enter an order
When a client confirms, a staff member opens "Catering Orders" and selects "New". They type the event name, pick the client, and enter the event date, headcount, menu and deposit status. Save. From that moment, the list is the source of truth. If the client emails a new headcount, change the row, not a copy of the menu in a file.
Keeping each order current:
- One person owns each order. Add a Person column named "Owner" if you want to filter by owner.
- Update the row the same day the change arrives.
Step 4. Build the kitchen view for today
The kitchen wants one answer: what is the kitchen making today?
In "Catering Orders", reach the classic view editor through the view menu and "Edit current view". Set one filter, Event date is equal to [Today], show Event, Client, Headcount, Menu and Order status, and save the view with the name "Today".
Set this filter in the classic view editor. Microsoft's filtering page says the [Today] keyword does not work from a column header.
Kitchen staff can open the Today view in a phone's web browser through https://office.com/launch/Lists. There is no Lists phone app any more: Microsoft retired it in mid-November 2025.
Step 5. Build a view for deposits
Create a second view named "Deposits to chase".
- In the classic view editor, create the view.
- Filter it to show rows where Deposit status is equal to 2 Requested.
- Add a second filter if you want to hide canceled orders: Order status is not equal to 5 Canceled.
Our advice, not a Microsoft rule: set blank and "is not equal to" filters in the classic view editor too.
Open it before the first call of the day. A row that sits here for days needs a follow-up from its owner. The list does not send the reminder by itself.
Step 6. Plan the week
Once a week, an admin can open "Catering Orders" and sort by Event date. Look at the next seven days: is each headcount confirmed, and is each deposit received? Our advice, not a Microsoft rule: sort the default view by Event date so the next event is always at the top.
For a prep sheet by day, the "Today" view is the start. If you want a day other than today, one way to start is to sort by Event date and read down to the day you need.
Take order requests with Microsoft Forms
Staff can type orders straight into the list. To let a client or a front-desk person send a request without opening the list, build a Microsoft Form and have a Power Automate flow add a row.
- Build a form with questions for event name, event date, headcount and menu.
- In Power Automate, start a flow with the Microsoft Forms trigger "When a new response is submitted" and pick your form.
- Add the Microsoft Forms action "Get response details". Microsoft says the trigger's Response Id is for use "with 'Get response details' action to fetch the content of the form response."
- Add the SharePoint action "Create item". Microsoft describes it as "Creates a new item in a SharePoint list." Pick the "Catering Orders" list and map the form answers to Event, Event date, Headcount and Menu.
- Set Order status to 1 Inquiry. A staff member picks the Client and confirms the request.
Microsoft's connector reference says: "The connector only works with organizational accounts." Check with your admin that the people who build and answer the form have the right accounts. For the full flow, see "Save Microsoft Forms answers to a SharePoint list".
@@KEEP@@
One order, one new headcount
Take "Spring luncheon" for Client 3. Event date is the date the client chose, Headcount is 40, Deposit status is 3 Received and Order status is 2 Confirmed. When the client emails a new headcount of 45, the person who owns the order changes Headcount to 45 the same day. The "Today" view then shows that row to the kitchen on the event date.
What to avoid
- Do not keep a second copy of the menu in email or a file. Two copies will disagree.
- Do not rely on the Today view to keep deposit amounts private. Use permissions.
- Do not put card numbers, bank details or health details in these lists.
- Do not make Contact a Choice column if you want it to show in orders. Lookups do not support Choice columns.
- Do not leave Order status blank. A blank status hides the row from every status view you build.
- Do not leave old orders in the main view forever. Our advice, not a Microsoft rule: set Order status to 4 Closed and filter closed rows out of your daily views.
- Do not use this list as proof that food is safe to serve. It records orders only.
Honest limits
A list stores what people type and nothing more. It cannot tell you a deposit landed or an invoice was paid, so keep money records in the place you already use for money.
Two events on the same Saturday show up as two rows. Only a person reading the Event date view can see that one kitchen cannot cook both.
Each change needs a person to type it. A menu edit or a new headcount that nobody records leaves the row misleading the next reader. Give each order one owner and update the row the same day.
When to get help
You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.
I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.
See trackers I built: Tools I built
FAQ
What columns should a catering order spreadsheet have?
Event, Client, Event date, Headcount, Menu, Deposit status, Deposit amount and Order status. Put clients in their own list so each name is typed once.
How can clients or staff submit a catering order form into the list?
Build a Microsoft Form and a Power Automate flow that starts with "When a new response is submitted" and adds a row with the SharePoint "Create item" action. Microsoft says the Forms connector only works with organizational accounts.
Can the list show only today's events?
Yes. Use the classic view editor, open Filters, and set Event date to is equal to [Today]. Microsoft says you must use the classic view editor for the [Today] keyword.
Why two lists and not one?
A client can have several events. With a "Clients" list, each client name is typed once, and every order picks it from a list. That keeps spelling the same, so you can find all of one client's orders.
Will the list tell me when a deposit is late?
Not by itself. Use the "Deposits to chase" view and check it each day. A reminder needs a person or a separate automation.
Sources
- Microsoft Support, Create list relationships by using lookup columns
- Microsoft Support, Use filtering to modify a SharePoint view
- Microsoft Support, Create a list
- Microsoft Learn, Microsoft Forms connector reference
- Microsoft Learn, SharePoint connector reference
- Microsoft Support, Microsoft Lists mobile apps retirement