How to track service history for each pool

Last updated July 24, 2026

Track pool service history per pool, not per customer: every completed visit saves its date, technician, chemical readings, and notes to that pool's own record. Open the pool and you see every past visit in order, newest work on top of months of readings. Service software builds this automatically as techs close out stops.

The question usually arrives mid-phone-call. A customer says nobody has been out in three weeks, and you have about ten seconds to either produce the dates or start apologizing for something you probably did.

It shows up quieter on a Tuesday morning too, when a fill-in tech takes a stop he has never seen and has to decide whether to dose or retest. Service history answers both, and it is not something you keep on the side - it accumulates as visits get closed out, and it lives on the pool it belongs to. Here is what gets recorded, where you look it up, and what it is good for.

Key takeaways

  • Service history attaches to the pool, not the customer - a house with a pool and a spa keeps two separate histories.
  • A complete visit record carries the completed timestamp, the technician, eight water readings, the tech's notes, and any photos.
  • Log as-left readings: what the water measured when the tech walked away is the number that settles a dispute.
  • A spreadsheet holds up to roughly 15-20 accounts before contacts, route, and history drift into separate tabs.
  • Read a pool's history three ways: trend sparklines for shape, the reading grid for legibility, and the timeline for what actually happened.
  • History is what lets a fill-in tech take an unfamiliar stop and retest instead of dosing blind.
  • A read-only customer portal gives the pool owner the same history you have, which prevents the "did you come out" call instead of winning it.

How do I track service history for each pool?

You track service history by logging every visit against the pool itself, so the record builds as you work instead of getting written up afterward. Operators do this three ways - a paper log, a spreadsheet, or service software - and they fail at different sizes. The pool maintenance log in the glovebox, usually a printed pool service record form per stop, works for the first dozen pools and then becomes the only copy of everything. A spreadsheet survives to roughly 15-20 accounts before the tabs sprawl: one for contacts, one for the route, a photo folder that matches neither.

However you choose to track pool maintenance history, the practical difference between the three is not storage, it is retrieval. A three-week-old reading you can find during a phone call is worth more than a perfect swimming pool service log you have to drive home to read.

Three ways pool service companies keep service history
MethodHolds up untilWhere it breaks
Paper log or clipboardAbout 10-15 poolsOne copy, in one truck. Nothing is searchable and a lost binder is a lost history
SpreadsheetAbout 15-20 accountsNo per-visit readings or photos, and contacts, route, and history drift into separate tabs
Service softwareNo practical limitOnly as complete as the habit - history is thin if techs close out visits without readings
  • Whichever method you use, the rule is the same: history attaches to the pool, not the customer. A house with a pool and a spa keeps two histories, because the two bodies of water have different volumes, different sanitizer, and different problems. Pool service customer management software that keeps one record per pool makes that separation automatic instead of a naming convention you have to remember to maintain.

Every visit should record eight readings, a timestamp, and the tech who ran it

What lands in history is decided at the stop, not at the desk. A complete visit record carries the scheduled date and the completed timestamp, the technician who ran it, the visit status, the tech's notes, and a full set of water readings. Miss the readings and all you have is attendance. Miss the notes and you have numbers with no reason behind them.

  • Free chlorine and combined chlorine, in ppm
  • pH
  • Total alkalinity and calcium hardness, in ppm
  • Cyanuric acid, in ppm
  • Salt level, on saltwater pools only
  • Water temperature
  • Technician notes - what you saw, what you did, and why

As-left readings are the ones that settle arguments

Those eight readings are as-left values: what the water measured when the tech walked away, not what it measured when he arrived. That distinction matters the moment anyone questions a visit, because the as-left number is the one that describes the pool you left behind. Photos attach to the visit alongside the readings.

On commercial accounts the same record doubles as pool inspection history when a health inspector asks. On residential accounts it is the pool service documentation that lets you prove what chemicals you added on a single visit when one stop gets questioned rather than the whole season.

Where do I actually pull up a pool's history?

On the pool, not on a separate history screen. Open the customer, open the pool underneath them, and that pool's page carries its whole record: the specs at the top, then three views of the same visit history, each answering a different question.

The first is a water trends card - a sparkline for each parameter, with the latest value beside it. pH, free chlorine, combined chlorine, total alkalinity, calcium hardness and cyanuric acid always chart; salt and water temperature appear only on pools that actually log them, so a chlorine pool is not staring at an empty salt column. This is the shape-of-the-water view, and it is where a slow cyanuric acid climb across a season shows up as a line going the wrong way.

The second is a reading history grid: one row per completed visit, one column per parameter, with out-of-range values flagged. Sparklines compress, so the six balance parameters are hard to read as trends. The grid is the legibility view - all eight readings side by side, visit over visit.

The third is the service timeline: the visits themselves, each with its date, technician, as-left pH and chlorine, and a one-click path into the full visit. Notifications that went to the customer for that pool sit in the same timeline, so the on-my-way message and the visit it belongs to line up. There is no separate pool service tracking software module to open and no search to run first - the pool visit history is a section of the pool.

Dated readings end a disputed visit without an argument

A history's first job is settling the "you never showed up" call, and it does that with dates rather than tone.

A Tucson pool service company runs 165 residential pools across two techs. A customer calls in July convinced nobody has touched her pool in three weeks, after spotting a green tinge at the shallow end. The admin does not remember whose stop it was that week, so she opens the pool and reads the timeline back: three completed visits in the last three weeks, each with a technician name and a completed timestamp, the most recent showing free chlorine at 0.8 ppm and pH at 7.9, both flagged out of range, with a note from the tech - "kids leaving the pool cover off midday, discussed with homeowner."

That call ends calmly, and it ends in under a minute, because nobody has to reconstruct anything. The green tinge was real and so were the three visits. What the history changed was the subject: the conversation moved from whether the company showed up to why the chlorine was not holding, which is a problem the operator can actually fix.

History is what lets a fill-in tech take a stop cold

The second job is quieter and happens far more often. Two days after that call, the tech who runs the Tucson route calls in sick, and the fill-in has never serviced that pool.

Before he adds a single chemical he reads the last three visits: free chlorine low two weeks running, cyanuric acid on the high side, a note about the cover. So he retests instead of dosing to a number he assumed, finds the same low chlorine, and treats the cause instead of the reading.

Without that history he has two options and both are bad. He can dose blind on a pool whose sanitizer demand he does not know, or he can call the sick tech at home. A one-truck operator can hold a route in his head and get away with it. At 165 pools across two techs nobody can, and the history is what makes any tech able to cover any stop - which is the same thing as being able to take a day off.

Can the pool owner see their own history?

Yes, through a read-only customer portal, and it is usually the cheapest way to stop the "did you come out" call before it gets made.

The pool owner gets a magic link by email. There is no password to create and no account to manage, which matters because a homeowner will not maintain another login for their pool guy. The link opens their own view: the pools serviced at their property, every completed visit with the same eight as-left readings the tech logged plus any service photos, and their invoices with a pay link on the ones still open.

Scoping is enforced at the database level rather than in the page, so a customer's link resolves only to that customer's records, and an expired or revoked link resolves to a plain not-found instead of a message confirming the link once existed. That last detail sounds paranoid until you remember that a forwarded email should not become a window into a neighbor's pool.

A pool's history, a customer record, and a service report are three different things

Operators use the three terms interchangeably and then get confused about which one is actually missing. They answer different questions and they get built in different ways.

Service history vs. customer record vs. service report
What it answersScopeHow it gets built
Service historyWhat has happened at this pool over timeEvery completed visit on one poolAccumulates automatically as visits close out
Customer recordWho is this account and what do we need to service itOne customer and their poolsFilled in at setup, then kept current
Service reportWhat happened at this stopA single visitGenerated and sent after that visit
  • The distinction matters when something is wrong. If a tech cannot find the gate code, the pool customer record is incomplete. If a customer says they never got proof of Thursday's stop, the service report did not go out. If nobody can say what the chlorine has done since May, the history is thin, which almost always means visits are being closed out without readings.
  • Setting up accounts from scratch? What a complete customer record should include is the field-by-field version of that middle row. If the question is instead what goes out to the customer after every stop, what one service report should cover is the single-visit document, not the running pool service record behind it.

Frequently asked questions

How far back can I see a pool's service history?

As far back as the first visit you logged on that pool. There is no rolling window that ages old visits out, so a pool you picked up in 2024 still shows its 2024 readings alongside last Thursday's. That matters more than it sounds: seasonal problems only become visible with a couple of summers behind them, and a cyanuric acid level that looks fine in isolation reads differently when you can see it climbing every August. Archiving a pool does not delete its history either. If a customer cancels or a pool goes offline, archiving hides it from your lists, the route builder, and your plan's pool count, but the service history is kept and comes back intact if you restore the pool later. The only real gap in a history is the period before you started logging visits, which is why the cheapest thing you can do on a route you just bought is start logging from day one rather than waiting until the records are tidy.

Can I still see a pool's history if three different techs have serviced it?

Yes. The technician is stored on each visit, not on the pool, so the history reads as one continuous record with a different name attached to different weeks. That is the point of keeping it on the pool: turnover, sick days, and route reshuffles do not fragment the record. Practically, it means you can answer two different questions from the same screen. Scrolling the timeline tells you what happened to the water over time regardless of who was there. Reading the technician names down the same column tells you whether a run of low chlorine lines up with one tech's stops or happens no matter who services it. That second read is worth doing before you conclude a pool is difficult, because sometimes the pool is fine and the training is not.

Does a skipped visit show up in the history the same way a completed one does?

It shows up, but not in the same places, and the difference is deliberate. A skipped visit is a real status, so it appears on the pool's timeline with its date and the tech who marked it - which is exactly what you want when a customer asks why there is a two-week gap in July. What it does not do is enter the chemistry views. The water trends and the reading history grid are built from completed visits only, because a skipped stop has no as-left readings to chart, and letting an empty visit into a trend line would put a phantom dip in your chemistry. So the timeline answers "did anyone come out," and the readings views answer "what was the water doing." A locked gate, a dog in the yard, or a customer who asked you to skip that week all belong in the first question, and the tech's note on the skipped visit is where the reason lives.

What happens to the history if a tech forgets to mark a visit complete?

The work does not land in history until the visit is closed out, so an unclosed visit sits in an open status and stays out of the completed-visit views. This is the single most common reason a history looks thinner than the work actually done. The fix is closing out the visit rather than re-creating it - open that visit record and complete it with its readings, and it takes its place in the timeline and the reading grid on the date it belongs to. Worth building the habit around: a tech who logs readings at the pool while the test kit is still wet produces a history you can defend, while a tech who plans to enter four stops from the truck at 5pm produces one with holes in it. If you are seeing repeated gaps from the same tech, that is a coaching conversation, not a software problem.

Do I lose a pool's history if I move that stop to a different route or technician?

No. History follows the pool, not the route and not the tech, so reassigning a stop to a different route or a different technician does not move, reset, or hide anything. The visits already logged stay attached to the pool and keep the technician name they were completed under. This is what makes route reshuffling safe to do as often as your geography needs it. Operators sometimes avoid rebalancing routes because they are quietly worried about disturbing the records, and then they run inefficient routes for a year to protect a history that was never at risk. The same holds when a pool moves between properties on a multi-location account - the pool carries its visits with it, and the transfer tells you up front how many visits of service history are moving.

How does service history work for a customer with two pools on one property?

Each pool keeps its own separate history, even though both sit under one customer and get serviced on the same stop. That is the right behavior rather than an inconvenience: a pool and an attached spa have different volumes, often different sanitizer, and completely different chemistry patterns, so averaging them into one record would hide the exact problems you need to see. In practice the tech logs a set of readings per pool on the visit, and each body of water accumulates its own trend line and its own reading grid. The same applies to a commercial account with three pools on one property. When you pull up history you are always pulling up one pool's history, and the customer record above it is what ties them together for billing and contact purposes.

Can I pull up a pool's full history from my phone while I'm standing at the pool?

Partly, and it is worth knowing exactly where the line is. On the mobile app a tech sees the previous visit's readings inline at the stop, which is the piece that matters most in the moment - you know what the water measured last time before you decide whether to dose or retest. Techs also get their own visit history on the phone, searchable, covering the stops they completed or skipped. What lives in the web dashboard is the deeper view most operators picture when they go looking for a pool service history app: the multi-visit reading grid, the trend sparklines across every parameter, and the full timeline for any pool on the route, whoever serviced it. So the phone answers "what did this pool look like last week" at the pool, and the dashboard answers "what has this pool been doing since May" when you are handling a customer call or reviewing an account.

Run your pool routes on PoolBoss

Join the waitlist and start when PoolBoss opens. Flat-rate pricing by pool count, every feature on every plan.