← Al Davies, 250 High Street

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:

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:

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

  1. Decide who will own the list. One person should be able to say "this list is correct today."
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Title (Single line of text). Rename the Title column to "Client name". Type the business or person name the same way every time.
  2. 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:

  1. Title (Single line of text). Rename it to "Event". Type a short name, such as "Spring luncheon".
  2. 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.
  3. Event date (Date and Time, date only).
  4. Headcount (Number). Type the number of guests. Update it when the client changes it.
  5. Menu (Multiple lines of text). Type what the client ordered, one item per line.
  6. Deposit status (Choice). Use numbered choices so the order stays the way you want it: 1 Not requested, 2 Requested, 3 Received, 4 Refunded.
  7. Deposit amount (Number). Type the amount as a plain number. Prices and deposit rules are your own.
  8. 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:

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

  1. In the classic view editor, create the view.
  2. Filter it to show rows where Deposit status is equal to 2 Requested.
  3. 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.

  1. Build a form with questions for event name, event date, headcount and menu.
  2. In Power Automate, start a flow with the Microsoft Forms trigger "When a new response is submitted" and pick your form.
  3. 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."
  4. 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.
  5. 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

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.

Tell me what's still manual

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