What is in the template
One row per service event, not one row per asset. A bandsaw with two entries this year shows both, in order, so the pattern is readable: a scheduled blade change in May, then an unscheduled drive belt failure six weeks later that cost nine hours of downtime and a note to check the tensioner next time.
The sample includes a statutory inspection on a forklift and a failed repair on a pressure washer, because both are cases the log has to handle: work that produces a certificate rather than a part, and work that did not fix the problem and needs a follow-up row.
Columns explained
| Asset_ID | The tag on the machine. Repeat it on every service row so one asset has a readable history. |
| Service_Date | When the work was done. Sorting by asset and date is the whole value of the log. |
| Service_Type | Preventive, Corrective, or Inspection. The mix between the first two is the clearest health signal a fleet gives you. |
| Meter_Reading | Hours, kilometres, or cycles at the time of service. Blank for assets with no meter. |
| Performed_By | In-house or the contractor name, so recurring external costs are attributable. |
| Parts_Used | Which spare parts were consumed, referenced by SKU where you stock them. |
| Parts_Cost | Material cost of the service. Cumulative parts cost against purchase price is what tells you when to replace rather than repair. |
| Labour_Hours | Time on the job, whether or not it is invoiced. |
| Downtime_Hours | How long the asset was unavailable, which is usually a larger number than labour hours and a larger cost than both. |
| Result | Pass or Fail. A failed service means the asset is still down and needs a follow-up row. |
| Next_Service_Due | The date or meter reading that triggers the next preventive visit. An empty value here is how services get missed. |
| Notes | What was found, what was deferred, and anything the next technician should know before opening the panel. |
What the log is supposed to tell you
Three questions justify keeping it. Is this asset getting worse, measured by corrective events per year and rising downtime? Is it worth repairing again, measured by cumulative parts and labour cost against what a replacement would cost? And which parts should be on the shelf, measured by what actually gets consumed rather than what a manual recommends?
A log that only records dates and a one-word description cannot answer any of them. The cost, downtime and parts columns are the ones that turn a compliance artefact into a decision tool, and they are also the ones most often left blank.
Where a maintenance spreadsheet breaks down
It is passive. Next_Service_Due is only useful if somebody opens the file and sorts by it, and preventive maintenance is exactly the kind of work that loses to whatever is urgent this week. The failure mode is not a wrong log, it is a correct log nobody read in time.
It is also disconnected from the parts it consumes. Fitting a filter should reduce spare parts stock by one, and in a spreadsheet it does not, so the parts you rely on for planned work are the ones most likely to be missing when you need them.
In StockFlow, the Assets module keeps equipment in the same system as stock: an asset registry with status and readiness, check-in and check-out, barcode scanning, and overdue alerts. It is included on Professional and above, or available as a $4/month add-on.
Related resources
Trusted by small businesses
What our customers say
“Super Kind! Quick replies from their support and very easy fixes, changed the dashboard a bit and customized it. Also gave me 450 items extra on the free plan just for me. Highly recommend and again great service!”
“Best customer service! Stockflow's customer support is fast and extremely helpful. They assisted me with customization of the software to improve my experience as a user.”