← Al Davies, 250 High Street

A work order tracker in SharePoint, without a spreadsheet

A spreadsheet work order tracker breaks when two people edit it or nobody sees what is overdue. Put each work order in one SharePoint list row with order number, location, priority, status, assignee and due date, then save views for Mine, Overdue and Open by priority. A small Power Automate flow can email the person when an order is assigned to them.

Excel or a SharePoint list

Our advice, not a Microsoft rule: a spreadsheet is fine while one person keeps it and the job count is small. Move to a list when two or more people add orders, when you need a view of overdue work, or when you want an email on assignment. This guide does not offer a file to download. It lists the columns to build, so you can set them up in a new list in a few steps.

Columns for a work order tracker: Order number, Type, Priority, Status, Location, Assigned to, Date opened, Date due, Date done, Hours spent, Parts used, Notes.

A sample filled-in order, as the list would show it:

Why jobs get lost between calls and emails

A work order is a job for your own crew: fix the loading dock door, replace a light panel, service the boiler. The job arrives by phone, text, email or a word in the hall. Each way lives in a different place. Soon these problems show up:

One list fixes the place problem. Everyone looks at the same rows, and each row has a name next to it.

This guide is for internal facilities and field work: your own staff doing jobs on your own sites. If your jobs are repair requests from tenants, with a vendor to call, see "A property maintenance request tracker in SharePoint". If you track small fixes at the end of a building job, see "A punch list tracker in SharePoint for a small contractor". If people ask for help with computers and accounts, see "Help desk ticket tracker in a SharePoint list". If you are still deciding whether to leave your spreadsheet, see "Replace a spreadsheet tracker with a SharePoint list".

Before you start

Write these three down before the first order.

  1. Intake. Name the one or two people allowed to open a new order. Fewer hands means tidier numbers and tidier wording.
  2. Owner of the morning review. One named person reads the list at the start of each day.
  3. Meaning of each status. Write a single line per status and post it where the crew will see it.

This guide is a how-to for a tracking list. It does not replace your safety rules, your maintenance policy or any contract. It makes no claim about what you must record or how fast you must act.

Step 1. Create the list

Menu wording can differ from what you see.

  1. Go to the SharePoint site your crew uses, or to the Lists app in Microsoft 365.
  2. Pick the command that makes a new list, then choose the blank starting point.
  3. Call the list "Work orders" and create it.

Step 2. Add the columns

Microsoft's column types page explains every type named here. The set below is a starting point, and the order matters less than the types.

The identifying and sorting columns:

The who and where columns:

The date columns, all Date and time with the date only setting:

The work-record columns:

Our advice, not a Microsoft rule: put a digit in front of each Choice value, as above, so Priority and Status read as a clear rank in every view.

Any column can be marked required, which stops a row from saving while it is empty. A sensible set to require is Location, Type and Priority. Keep Assigned to, Hours spent and Date done optional, because someone fills them in after the order is opened.

Hours spent holds a single figure per order. When several people work one job, either they add their time into that figure or each person's hours go in Notes. Our advice, not a Microsoft rule: if you need hours by person and by day, build a second list with one row for each time entry.

Step 3. Add one sample row

Enter one made-up order and label it a test, then remove it once the views work.

Then add a second test row with Priority 1 High and check that both rows show in the list.

Step 4. Save the view "Mine"

This view shows only the orders assigned to the person who opens it.

  1. In the list, open the view menu and choose the option to save a new view. Name it "Mine".
  2. Open the view menu again and choose Edit current view. This opens the classic view editor.
  3. Under Filters, choose "Show items only when the following is true". Set Assigned to, "is equal to", and type [Me].
  4. Add a second filter with "And": Status "is not equal to" 4 Done.
  5. Save.

Microsoft's filtering page says: "There are two keywords that you can use to filter based on the current day [Today], or the current user [Me]." It also says: "You must use the classic view editor to filter columns using these keywords." Microsoft's page also says "It is not possible to use the [Today] or [Me] filters when filtering using a column header."

I also use the classic view editor for "is not equal to" filters. That part is our advice, not a Microsoft rule.

Step 5. Save the view "Overdue"

  1. Save a new view named "Overdue".
  2. Choose Edit current view.
  3. Under Filters, set Date due "is less than" [Today].
  4. Add "And": Status "is not equal to" 4 Done.
  5. Sort by Date due, ascending.
  6. Save.

Microsoft's page says "The [Today] keyword works on date based columns." It also says "You can have up to 10 statements in a filter definition," so these two filters are well inside the limit. Microsoft's page gives the example "Due Date is equal to [Today]" for a view of items due today; this guide uses "is less than" so the view shows orders whose due date has passed.

Do not try to build an "overdue" calculated column. SharePoint blocks [Today] in calculated column formulas, so use a view filter instead. If you want the late rows to stand out in color, see "Turn overdue rows red in a SharePoint list".

Step 6. Save the view "Open by priority"

  1. Save a new view named "Open by priority".
  2. Choose Edit current view.
  3. Under Filters, set Status "is not equal to" 4 Done.
  4. Sort by Priority, ascending, then by Date due, ascending.
  5. Save.

This view has no [Today] or [Me] keyword. I still use the classic view editor for it because it has the "is not equal to" filter; again, that is our advice, not a Microsoft rule.

Step 7. Email the person when an order is assigned

A Power Automate flow can send a message when an order is created or changed. Microsoft's SharePoint connector page describes the trigger "When an item is created or modified" this way: "Triggers when an item is created, and also each time it is modified." That means the flow runs every time anyone edits the row, so add a condition that checks the status before you send anything.

One way to start:

  1. Sign in to Power Automate and create a new cloud flow from blank. Microsoft's page on creating a cloud flow describes the steps.
  2. Add the SharePoint trigger "When an item is created or modified". Pick your site and the "Work orders" list.
  3. Add a Condition. Check that Status is equal to 2 Assigned. If you also want to avoid repeats, add a hidden Yes/No column called "Alert sent", set its default value to No, check that it is No, and set it to Yes after you send the message. If you add an Update item action, fill Title with the item's Title from dynamic content.
  4. In the Yes branch, add the Office 365 Outlook action "Send an email (V2)". Microsoft's connector page says: "This operation sends an email message."
  5. In To, use the email of the Assigned to person from the dynamic content. In Subject, use the Order number. In Body, add the Location, Priority and Date due.
  6. Save the flow.

Microsoft's page on creating a cloud flow also says: "Use the Send email (V2) action to format email in which you customize the font, use bold, italic, or underline, customize the color and highlight, create lists or links, and more." Exact names may differ on your screen. For help getting an email address from a Person column, see "Get an email address from a SharePoint person column".

Do not turn this into a flow that changes the same list item it watches without a guard. A flow that edits its own trigger item can start itself again. See "Power Automate flow triggers itself in an infinite loop".

Step 8. A weekly list of overdue orders (optional)

If you want one email a week with every overdue order, use a scheduled flow with Get items and a date range, not an equals test. Set Top Count and turn Pagination on, or orders past row 100 never reach the email. For the full build, see "Late tasks nobody notices: setting up late alerts".

Open the list on a phone

Crews work away from a desk. Microsoft says the Lists mobile apps for Android and iOS were retired in mid-November 2025. To reach Lists in a phone browser, open your SharePoint root site and tap the Microsoft Suite navigation icon in the top left corner. If Lists is not in the list of apps, tap More apps in the bottom right corner and then tap Lists. Microsoft also gives the shortcut link https://office.com/launch/Lists. Microsoft's pages do not describe a phone form for lists, so open the list in the phone browser and test adding a row before you tell the crew to use it. See "Microsoft Lists phone app is gone: what to use now".

Get the orders into Excel

Open the list, make sure no items are selected, open the Export menu on the command bar and choose Export to Excel. Microsoft says the export covers the list items shown in the current view, so switch to the view you want first. Our advice, not a Microsoft rule: keep an Open by priority view for the Excel copy you send to people outside the list. For problems with an export, see "SharePoint list export to Excel fails or misses rows".

What to avoid

Honest limits

A list records the work. It does not schedule your crew, order parts or track stock levels. If you need parts counts that go down as you use them, that is a second list, and it is more work to keep up. Hours spent by one number per order is also a rough figure. Start with one site or one crew, fix what does not work, and then expand.

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

Is there a free work order tracker template for Excel?

This guide has no file to download. It lists the columns to build in a SharePoint list: Order number, Type, Priority, Status, Location, Assigned to, three dates, Hours spent, Parts used and Notes.

Will the assign email send again when someone edits the order?

It can. The trigger "When an item is created or modified" runs on every change. Check Status in a Condition, and use the Alert sent column from Step 7 to stop repeats.

When is a spreadsheet enough for tracking work orders?

Our advice, not a Microsoft rule: when one person keeps it and the job count is small. Move to a list when several people add orders or you need overdue and assigned-to-me views.

How do I get work orders into Excel from the list?

Open the Export menu on the command bar and choose Export to Excel. Microsoft says the export covers the items shown in the current view.

Why does my "Mine" view show nothing?

Check that the filter was set in the classic view editor (Edit current view, then Filters), that Assigned to is a Person or Group column, and that the value is [Me] exactly. An order with nobody in Assigned to never shows.

Why does my flow only see 100 orders?

Get items returns 100 items by default. Set Top Count higher, up to 5,000, and turn Pagination on in the action's settings.

Sources