An equipment maintenance log in SharePoint for a clinic or lab
Short answer: keep two linked SharePoint lists. Equipment has one row per instrument with its next service date. Service records gets one new row each time an instrument is serviced. A scheduled Power Automate flow then emails a daily digest of items coming due, so the schedule no longer depends on anyone's memory.
Dates slip because a service is rare and nobody sees the gap grow. The date sits on a sticker or in one person's calendar. This guide covers the two lists, one view and the flow. It does not say what needs servicing, how often, or against which standard. The maker's manual and your own policy answer that. Exact names may differ on your screen. Microsoft's help pages are linked at the end.
Free template columns: a sample log
You can build this log in SharePoint or in Excel. These are the columns to build, with three example rows. Row numbers are only for reference.
Equipment list:
- Row 1: Equipment name Device 12, Asset tag 0042, Location Room B, Service interval days 90, Next service date 01/12
- Row 2: Equipment name Device 18, Asset tag 0057, Location Room A, Service interval days 180, Next service date 03/02
- Row 3: Equipment name Device 21, Asset tag 0063, Location Room B, Service interval days 365, Next service date 06/20
Service records list:
- Row 1: Equipment Device 12, Date done 10/14, By Technician A, Result 1 Pass
- Row 2: Equipment Device 18, Date done 09/30, By Outside company, Result 3 Needs part
- Row 3: Equipment Device 12, Date done 07/16, By Technician A, Result 1 Pass
Excel version: the same columns work on two sheets, one for equipment and one for service records. In SharePoint, Microsoft says to select Export, then Export to Excel from the command bar of the list. Microsoft says the Excel table has a one-way connection to the list, so changes made in Excel are not sent back to the list.
Schedule, log and checklist: three different things
Our advice, not a Microsoft rule: keep these three apart.
- A maintenance schedule says when each instrument is next due. In this guide that is the Next service date column and the Due soon view.
- A maintenance log (also called a repair log or service record) says what was done and when. In this guide that is the Service records list. Log a repair as one more row, with the Result column telling you if a part is needed.
- A maintenance checklist says what to check during a visit. This guide does not build one; follow the maker's manual and your own policy, and attach the filled checklist to the service row.
One device, from install to the next service
Picture Device 12, a bench centrifuge, tag 0042, in Room B. Three events in its life decide what the lists must hold.
- Installed: a row appears in the Equipment list with its name, tag, room, interval and first service date.
- Serviced: a row appears in the Service records list with the date done, who did it and the result.
- Due again: the Equipment row gets a new Next service date, and the flow stops naming the device until that date nears.
Every column below exists to carry one of those three events.
Where the date hides
- A sticker on the device or a binder on a shelf.
- One person's calendar, and that person is away or has left.
- A paper form in a drawer as the last record.
- No single screen that lists all the equipment.
- A date that passes quietly, with nothing turning red.
The two lists answer the first four. The reminder flow answers the last one.
Two lists, linked by asset tag
Equipment holds the present state. Service records holds the past. Build Equipment first, because the other list points at it.
Equipment list, one row per instrument, such as "Analyzer 7" or "Autoclave 3":
- Make a blank list named "Equipment".
- Rename the required Title column to "Equipment name".
- Add "Asset tag" as Single line of text. It matches the label on the instrument and is the one place the tag is typed.
- Add "Location" as Single line of text.
- Add "Service interval days" as Number, such as 90. Our advice, not a Microsoft rule: copy this number from the maker's manual and your own policy.
- Add "Next service date" as Date and time, date only.
- Add "Out of service" as Yes/No, so the list shows which instruments are down today. No view or flow in this guide reads it.
Service records list, one row per visit:
- Make a second blank list named "Service records".
- Rename Title to "Record title" and give each row a short name, such as "Device 12 service 2026-03".
- Add "Equipment" as Lookup. Choose the Equipment list as the source and "Equipment name" as the shown column. The source list must be on the same site. Tick "Asset tag" as an extra column to show, so the tag appears here without being retyped.
- Add "Date done" as Date and time, date only.
- Add "By" as Person, or Single line of text for an outside company.
- Add "Result" as Choice, with numbered values:
1 Pass
2 Fail
3 Needs part
- Check that Attachments is on, so the service certificate can ride with the row. The exact names may differ.
Our advice, not a Microsoft rule: the leading number keeps the Result values easy to tell apart. Microsoft's lookup-columns page says a lookup can pull only certain column types. Title and Single line of text qualify.
Log a service, then move the date
After each visit, two edits, in this order:
- In Service records, add a row: pick the equipment, enter the date done, the technician and the result, and attach the certificate.
- In Equipment, set "Next service date" to the date done plus the interval from the maker's manual and your own policy.
The second edit is a manual step on purpose. It keeps the build small and easy to check. If the result is "2 Fail" or "3 Needs part", one way to start is to leave the old date alone until the device passes.
A Due soon view
The morning digest pushes. The view lets someone pull. It lives on the Equipment list and shows every instrument whose service date falls within 30 days. A calculated "days left" column is not an option: SharePoint rejects [Today] in calculated formulas, and Microsoft's TODAY page limits it to default values. A view filter does accept [Today].
- On Equipment, open the view switcher at the top right and pick Edit current view. This opens the classic view editor. Microsoft says a filter set from a column header rejects [Today] and [Me], so use this editor.
- Under Filters, choose Show items only when the following is true.
- Pick Next service date, choose "is less than or equal to", and enter [Today]+30.
- Sort by Next service date, ascending, and save the view as "Due soon".
A date already behind today is also below [Today]+30, so overdue units sit at the top with no second view.
A morning digest flow
A view helps only when someone opens it. A scheduled flow carries the same answer to an inbox. The general pattern sits in "Send a reminder before a due date in a SharePoint list". This flow reads Equipment, not Service records, and sends one digest for the whole site.
- In Power Automate choose Create, then Scheduled cloud flow. Name it "Equipment due digest", repeat every 1 Day, and start at a morning hour in your own time zone.
- Add the SharePoint action Get items and point it at Equipment.
- Microsoft's page on Get items says: "The default item limit is 100". It also says: "If you are working with large lists, you can increase this limit up to the list view threshold limit of 5,000." Set Top Count above your instrument total, such as 500. If you will ever have more than 5,000 instruments, also turn Pagination on in the action settings. With Top Count left empty, an instrument past row 100 never reaches the digest.
- Fill Filter Query with the column's internal name, where each space becomes _x0020_. Open the column settings and read the web address after Field= to confirm it. To catch anything due within 14 days, write:
Next_x0020_service_x0020_date le 'formatDateTime(addDays(utcNow(),14),'yyyy-MM-dd')'
Enter the part inside the outer quotes as an expression with the fx button, not as typed text. Microsoft's Get items page uses the same form and notes that formatDateTime(utcNow(),'yyyy-MM-dd') is an expression. Replace 14 with your own warning window, then test on sample rows, because time zones can shift a date by one day.
- Add Create HTML table, with From set to the value output of Get items. Show four columns: Equipment name, Asset tag, Location and Next service date. Example row: Device 12, tag 0042, Room B, one date.
- Add a Condition before the email so an empty morning sends nothing. The test: the Get items output is not empty, using the empty function from Microsoft's function reference.
- On the yes branch add Send an email (V2) from Office 365 Outlook, addressed to whoever owns equipment upkeep. Body: one sentence, the table, and a link to the Due soon view. Microsoft's data operations page mentions an IsHtml setting, but Send an email (V2) already treats the body as HTML, so the setting may not appear. Send a test and confirm the table renders as a table.
- Save, run once, and open the run history to read each step's output.
Name a second editor for the flow. A flow with one owner can stall when that person leaves.
Keep patient and sample data out
This log tracks machines, not people. Keep patient names, specimen numbers and any detail that points to an individual out of every column, note and attachment. For a service row, the instrument, the date, the technician and the outcome are enough.
A filtered view hides nothing from anyone who can open the list. If a smaller group should see it, change the list's permissions. Microsoft's list-permissions page covers giving a list its own permissions, and it recommends the built-in SharePoint groups. Talk to your admin first.
Where this goes wrong
An asset tag typed into both lists ends up spelled two ways, and the link between them breaks. Pick it from the lookup instead.
A service row added without moving Next service date leaves the digest quoting the old date, so the two edits are one task.
One list for both live devices and their history makes the due view fill with old visits. Keep Equipment short and Service records long.
A retired device keeps appearing in Due soon while it still has a Next service date. Clear the date or delete the Equipment row, and keep its Service records rows as history.
Honest limits
The email reports dates. It does not book a technician or confirm that work happened. Accuracy rests on one habit: after every visit, update Next service date on Equipment. If that step is skipped, the digest repeats an old date. A calculated "days left" column will not work here, so rely on the view and the flow. Service intervals on this page, or any web page, are not a source; the maker's manual and your policy are. Licensing is outside this page; ask your admin which licenses the actions need before you build.
If your records are on a spreadsheet today, see "Replace a spreadsheet tracker with a SharePoint list". To record who has an instrument out, see "Equipment checkout with no record: how to track who has what". For a register covering every asset, see "How to set up an asset register in SharePoint".
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
Is there a free equipment maintenance log template in Excel?
The sample columns above give you the layout for Excel or SharePoint, and Microsoft says Export, then Export to Excel from the list command bar makes an Excel copy.
How do I build an equipment maintenance schedule?
Add a Service interval days column and a Next service date column to the Equipment list, then use the Due soon view and the morning digest flow.
What is the difference between a maintenance log and a checklist?
The log records what was done and when, while a checklist lists what to check during a visit; this guide builds the log.
How do I keep an equipment repair log?
Add one row to Service records for each repair, with the equipment, the date done, who did it and the Result.
Can I use a calculated column for days left?
No. SharePoint blocks [Today] in calculated column formulas, so use a view filter in the classic view editor and the reminder flow.
Sources
- Microsoft Support, Create list relationships by using lookup columns
- Microsoft Support, Use filtering to modify a SharePoint view
- Microsoft Support, TODAY function
- Microsoft Support, Edit permissions for a list or library
- Microsoft Learn, Run a cloud flow on a schedule in Power Automate
- Microsoft Learn, In-depth analysis into Get items and Get files SharePoint actions
- Microsoft Learn, Use data operations in Power Automate
- Microsoft Learn, Workflow expression functions reference
- Microsoft Support, Export to Excel from SharePoint or Lists