← Al Davies, 250 High Street

Florist order tracker in SharePoint

Short answer: make one SharePoint list called "Florist Orders", with a row for every delivery. A row carries the delivery date, the address, the card message, the driver and a Delivered flag (Yes or No). Then save a view called "Today's deliveries" that lists only rows dated today. The list takes no payments and knows nothing about stock in the cooler. It holds what a person types in. Microsoft changes its screens from time to time, so the names of menus and buttons may differ from this text.

Why phone notes and paper slips break down

Orders reach a flower shop by phone, at the counter or through a web form. The card wording lands on one slip, the street address on another, and the delivery window in someone's head. By the morning of a busy holiday, the driver holds a stack of paper and no single list.

What goes wrong:

When every delivery has its own row, the driver, the counter and the person on the phone read the same address and card wording, and "did Order 12 go out?" has a yes or no answer.

What you are building

You will build one SharePoint list with these parts:

If you are new to lists, see "Replace a spreadsheet tracker with a SharePoint list". For a similar build with a client list and an event view, see "Catering order tracker in SharePoint". This guide does not repeat those steps.

Plan before you build

Seven choices shape the columns. Make them before you open SharePoint.

  1. Name one person who answers when a customer rings at 4 PM and asks whether Order 12 is right.
  2. Separate delivery from pickup. A pickup has no driver and no street address to visit. Our advice, not a Microsoft rule: add a Choice column named "Fulfillment" with 1 Delivery and 2 Pickup, and filter the driver views on it.
  3. Capture the occasion date as its own value. A funeral on Friday and a June wedding both have a firm date that may differ from the delivery date.
  4. Capture the delivery window as its own value. Funeral homes and church offices set hours, so "Between 1 and 3 PM" belongs on the row, and the service time can go in Notes.
  5. Give swaps a home. When a stem runs out and the customer agrees to another, record it in Substitution notes, so the driver and the counter read the same promise.
  6. Keep money details out. A first name, a street and one phone line are enough. Card and bank numbers never go in the list.
  7. Treat a view as a screen filter, not a lock. Anyone with access to the list can open any view. Ask your admin which site groups fit. Our advice, not a Microsoft rule: limit access to staff who need to read card messages, since sympathy wording can be personal.

Step 1. Create the list

Go to https://www.microsoft365.com and open your SharePoint site, or open your team site directly. Microsoft's help page on creating a list says: "Choose to start a list from scratch." On your site, select "+ New", then "List", then "Blank list", type the name "Florist Orders" and select "Create". Labels on your screen may differ.

Microsoft's help page also says: "A blank list opens with a standard "Title" column on the left." Keep that column. It is required by default.

Step 2. Add the columns

Set up these columns. Use "Add column" in the list to add each one.

  1. Title (Single line of text). The Title column is required by default. Rename it to "Recipient" and type the name of the person who will receive the flowers. You can also turn off the Require setting in the column settings.
  2. Delivery date (Date and Time, date only). This is the column the daily view will use.
  3. Delivery address (Multiple lines of text). Type the full address. Check it against the customer's words before you save.
  4. Card message (Multiple lines of text). Type the message exactly as the customer gave it.
  5. Arrangement (Single line of text). A short name, such as "Dozen roses, vase".
  6. Driver (Person). Pick the person who will deliver. If a driver is not in your Microsoft 365 account, use a Single line of text column instead.
  7. Delivered (Yes/No). Set the default value to No in the column settings, so new rows start as No. Change to Yes when the order is handed over.
  8. Order status (Choice): 1 Taken, 2 In prep, 3 Ready, 4 Out for delivery, 5 Cancelled. Use numbered choices so the order stays the way you want it. A Choice column sorts by its text. The number is there to keep your order.
  9. Order total (Number). Type the amount as a plain number. Prices are your own. Our advice, not a Microsoft rule: use Number here, because Microsoft lists Currency as an unsupported column type for lookup source columns, and you may want a lookup later.
  10. Fulfillment (Choice): 1 Delivery, 2 Pickup. Our advice, not a Microsoft rule: set the default value to 1 Delivery so no row is left blank, and leave pickups out of the driver view.
  11. Substitution notes (Multiple lines of text). Write any agreed swap here, in the customer's words, and leave it empty when nothing changed.
  12. Delivery window (Single line of text), such as "Between 1 and 3 PM".
  13. Occasion date (Date and Time, date only).
  14. Notes (Multiple lines of text). Gate codes, a service time or a venue contact go here.

Add one row for a test order and look at it in the list before you add real ones.

Step 3. Enter an order

Enter the row while the customer is still on the line, or straight after the counter sale. Fill in these columns first: Recipient, Delivery date, Delivery window, Delivery address, Card message and Arrangement. Add Occasion date for weddings and funerals, and Substitution notes if a swap was agreed.

Example row: Order 12, Recipient "Recipient 12", Delivery date set to Friday, Delivery window "Between 1 and 3 PM", Fulfillment 1 Delivery, Order status 1 Taken.

Read the card message back to the customer before you save. A mistyped card is the one error the recipient sees.

Step 4. Build the delivery-day view

Build this one for the van: today's stops, their delivery windows and the cards that ride with them.

  1. Open "Florist Orders". Open the view menu, then choose "Edit current view" to open the classic view editor. (Create a new view first if you want to keep the main view as it is.)
  2. Under "Filters", choose "Show items only when the following is true".
  3. Pick Delivery date, then "is equal to", and type [Today].
  4. Add an And filter: Fulfillment is equal to 1 Delivery.
  5. Show the columns Recipient, Delivery window, Delivery address, Card message, Arrangement, Driver and Delivered. Sort by Driver.
  6. Save the view with the name "Today's deliveries".

Microsoft's help page on filtering a view says: "It is not possible to use the [Today] or [Me] filters when filtering using a column header." It also says: "You must use the classic view editor to filter columns using these keywords." Its example for a date column is "Due Date is equal to [Today]".

Step 5. Build a view for each driver

Create a second view named "My deliveries". In the classic view editor, set a filter on Driver: is equal to [Me]. Add a second filter: Delivered is equal to No. Add an And filter: Fulfillment is equal to 1 Delivery. The same page says "There are two keywords that you can use to filter based on the current day [Today], or the current user [Me]." Each driver then opens the view and sees only their own open stops.

A view is not security. A driver who opens another view can see every row.

Step 6. Build a view for missed deliveries

Create a third view named "Not delivered, past date".

  1. In the classic view editor, create the view.
  2. Add a filter: Delivery date is less than [Today].
  3. Add a second filter, joined with And: Delivered is equal to No.
  4. Add a third filter if you want to hide cancelled orders: Order status is not equal to 5 Cancelled.

Marking Delivered as Yes is how a row leaves this view. Skip that tick and last week's bouquets crowd out the one that truly went missing. When a row is marked Yes, it drops out of the view.

Our advice, not a Microsoft rule: set blank and "is not equal to" filters in the classic view editor too.

Check this view each morning. A row here means a delivery date has passed and nobody marked it delivered. The list does not send a reminder by itself.

Step 7. Review the week ahead

Sort "Florist Orders" by Delivery date and read the next seven days. For each row ask three things: does the Delivery window sit inside any service time in Notes, is the Card message complete, and does every Substitution notes entry match what the counter told the customer? Group the stops by Driver to see whether one van carries too many drop-offs for a single afternoon.

What to avoid

Honest limits

A list holds what staff type. It cannot check that a street exists, charge a card or order stems. It cannot decide whether one van can reach six stops before a 2 PM service.

Route order and van loading stay with a person who reads "Today's deliveries" and chooses the sequence.

The list is also only as current as its last edit. If a changed address is phoned to the driver but never typed into the row, the row is wrong. The person you named in the plan should update the row at the moment the change arrives.

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

Can the list show only today's deliveries?

Yes. Use the classic view editor, open Filters, and set Delivery date to is equal to [Today]. Microsoft says you must use the classic view editor for the [Today] keyword.

Why do I need a Delivered column?

A view that shows late orders needs a way to drop finished ones. A Yes/No column does that. When you mark a row Yes, a filter on Delivered is equal to No no longer shows it.

Can I hide the card messages from some staff with a view?

No. A view only changes what is shown. To limit who can open the list, use permissions, and ask your admin which groups to use.

Can each driver see only their own stops?

One view can show only rows where Driver is equal to [Me]. That is a convenience, not security, because a driver can switch to another view.

Will the list tell me when a delivery is late?

Not by itself. Use the "Not delivered, past date" view and check it each day. A reminder needs a person or a separate automation.

Sources