All articles

Swim School Daily Close Checklist: Rosters and Payments

13 min read

At 6:40 on a Thursday night, the last class is out of the water, the deck is wet, and the front desk coordinator is staring at three tabs. One spreadsheet has the roster. One has the payment notes. The third is an email thread titled "Re: Re: moving Maya to Level 3?" Nobody knows whether Maya moved.

This is how most small swim schools end a teaching day: with a vague feeling that something is unfinished and no list of what. The work does not disappear. It piles up, and on Monday morning it arrives as a parent asking why their child is not on the roster, or a payment nobody can match to a swimmer.

The fix is not software, at least not first. It is a short, repeatable end-of-day routine. This post lays out a swim school daily close checklist you can run in 15 to 20 minutes on the spreadsheets you already have: confirm roster changes, confirm attendance, match payments to swimmers, and log every unresolved item with one named owner and a due date.

Why a daily close beats a weekly cleanup

Most schools do a cleanup. Friday afternoon, or Sunday night, someone sits down and tries to reconstruct the week from texts, emails, and a half-remembered conversation on the deck. It works about as well as it sounds.

A weekly cleanup fails for one simple reason: memory decays faster than your calendar. On Tuesday, you know exactly why Jordan skipped class and that his mom said she would pay Wednesday. By Saturday, you know neither. The cleanup turns into detective work, and detective work is slow and error-prone.

A daily close is different because the evidence is still warm. The instructor who moved a swimmer up a level is still in the building. The payment confirmation email is still near the top of the inbox. Resolving an item takes two minutes today and twenty minutes on Friday.

A daily close also caps the size of your backlog, and people underestimate that. If you end every day with a short, written list of open items, the list can never grow past one day's worth of surprises. The weekly pile can quietly swell to forty items and a sinking feeling.

Here is the position this article takes: the close is a habit, not a project. It should be boring, short, and the same every day. If it takes an hour, you will skip it by week three. Aim for 15 minutes on a normal day and 20 on a heavy one, like the first week of a new session, when adds and drops come in faster than anyone can track.

Nothing in this routine requires special tools. A shared spreadsheet, a notes file, and a timer are enough.

Before you start: set the close time, the sources, and the owner

A close that happens "when there's a gap" does not happen. Pick three things before you run it the first time.

The close time. Choose a fixed slot tied to something that already happens, like 15 minutes after your last class ends. Put it on the calendar of the person who runs it. If your last class ends at 6:30, the close runs 6:45 to 7:00. A time tied to the schedule survives a busy day. A time tied to your mood does not.

The sources. List every place a change can hide. For most independent schools that is short: the master roster spreadsheet, the attendance sheet or clipboard from the deck, the payment record (a bank export, a payment processor dashboard, or a ledger tab), the shared inbox, and any group chat the instructors use. Write the list at the top of your checklist. If a change lives somewhere not on the list, it will be missed, so add it.

The owner. One person runs the close. Not "whoever's free." A named person, with a named backup for days off. At a small school that is often the owner or the front-desk coordinator. When the close is everyone's job, it is no one's.

Then set up a single place to record the result. A tab in your roster spreadsheet called "Daily Close" works. Each day gets a row: date, who ran it, time finished, number of open items. That row is your proof the close happened, and over a few weeks the open-item count becomes a useful signal. If it keeps climbing, something upstream is broken.

Finally, decide your cutoff for "today's changes." Anything received after the close time rolls into tomorrow's list. Without that rule, the close never ends.

Step 1: Reconcile lesson roster changes (adds, drops, moves, level changes)

Start with the roster, because every other step depends on it. Attendance is meaningless against a stale roster, and a payment cannot be matched to a swimmer who is not on the list.

Go through your sources and pull out every roster change from the day. There are four kinds:

  • Adds: a new swimmer joining a class, including trial classes that converted.

  • Drops: a swimmer leaving a class or the school.

  • Moves: a swimmer switching day, time, or instructor.

  • Level changes: a swimmer promoted or placed differently after an assessment.

For each change, make the edit in the master roster, then record it in one line: swimmer, change, source (who asked and how), and whether the family has been told. That last field matters. A roster edit the family does not know about is a complaint waiting to happen.

A concrete before and after. Before: an instructor mentions on the deck that Priya should move from Level 2 to Level 3. You nod, mean to update it, and forget. The next morning Priya's parent shows up to the Level 2 slot and finds her name gone from one list and missing from the other. After: you hear the same thing, jot it down, and at 6:45 you make the move, confirm Level 3 has room, and add "tell Priya's parent" to the exception log if you have not done it yet.

Two checks catch most errors. First, count: does each class's roster total match the number of swimmers you expect, given today's adds and drops? Second, scan for duplicates. A swimmer listed in two classes at the same hour is almost always a move that was added but never removed.

If an instructor-driven level change needs a written record, a short swim lesson assessment form keeps the reason attached to the change, so you are not relying on someone remembering why.

Step 2: Confirm attendance records are complete, and route roster exceptions and reopened spots

Once the roster is clean, check attendance against it. The question is not "who was absent." The question is "is every swimmer on today's rosters marked present, absent, or excused, with nothing left blank?"

Blank cells are the enemy. A blank looks the same as "we forgot to take attendance for that group," and you cannot tell the difference tomorrow. Walk down each class and make sure every row has a mark. If an instructor forgot, ask them now, while they are still at the pool. Tomorrow they will not remember.

Then look for three kinds of exception:

  • Swimmers who attended but are not on the roster. Maybe a makeup, a sibling who tagged along, or an unrecorded move. Either add them properly or note why they were there.

  • Swimmers on the roster who were absent without a note. These are follow-up candidates, especially if it is the second absence in a row.

  • Reopened spots. A drop or a cancelled makeup frees a place in a class. That open spot has a clock on it, because an empty lane slot is lost revenue.

For reopened spots, do not leave the decision for later. Write the spot into the exception log with the class, the day, and who will offer it. If you keep a waitlist, this is the moment to look at it. A practical guide to swim lesson waitlist management covers how to order offers so the spot fills quickly and fairly.

If your attendance still lives on paper, the close is also when you transcribe it. That is a cost of paper, and it is worth naming. Some schools use attendance tracking built for the pool deck to cut the re-typing. Soljio, for one, lets instructors take attendance from the deck, which removes that transcription step from the end of the night.

Step 3: Match payment references to enrolled swimmers

Payments are where small schools quietly lose track of money. A deposit lands in the bank with a reference like "J SMITH SWIM" and nobody is sure whether it is Jordan Smith in Level 1 or Jordan Smith's cousin in the Saturday clinic.

The goal of this step is simple: every payment received today maps to a specific enrolled swimmer, and every enrolled swimmer who should have paid has a payment or an explanation.

Work in two directions.

Payments to swimmers. Open today's payment records. For each one, find the swimmer it belongs to and write the reference next to their name in your ledger or roster. If you cannot match a payment confidently, do not guess. Put it in the exception log as "unmatched payment," with the amount, the date, and the reference text.

Swimmers to payments. Filter your roster for anyone enrolled in a class that ran today. For each, check that a payment exists, or that you have a recorded reason (payment plan, scholarship, trial class, family credit). Anyone who is enrolled, attending, and unpaid with no note goes on the log.

Three habits make this faster. Always record the payment reference in the same column, in the same format. Match by swimmer, not by parent name, because one parent often pays for several children. And never mark something "paid" without a reference you could point to later.

Be honest about what this step catches and what it does not. It catches mismatches and missing payments inside your own records. It does not replace your payment processor's reporting or your accountant's reconciliation. The daily match is a fast first pass that keeps the books from drifting. It is not the final audit.

The benefit shows up weeks later. When a parent says "I already paid for the spring session," you can answer in one minute, because the reference is sitting right next to their child's name.

Step 4: Keep an exception log with a named person responsible

Steps 1 to 3 will turn up problems you cannot solve in 15 minutes. That is expected. The close is not about solving everything. It is about making sure nothing is lost.

The tool for that is the exception log: a single list, in one place, of every unresolved item. Not scattered across sticky notes, texts, and your head. One list.

Each entry needs exactly five fields:

  1. What: a one-line description of the problem, specific enough that someone else could act on it. "Priya level change, tell parent" beats "check Priya."

  2. Swimmer or family: the name, so you can search for it later.

  3. Owner: one named person. Not "front desk," not "we." A first name.

  4. Due date: a real date, not "soon."

  5. Status: open, waiting on someone, or closed.

The owner rule is where most logs fail. If two people are responsible, neither feels it. If the owner is the person running the close, fine, write their name. Writing a name turns a worry into a commitment.

The due date does the same job for time. "Sometime this week" is not a date. Tomorrow at noon is. A due date also gives tomorrow's close something to check: the first thing you do each day is read yesterday's open items and see which are past due.

Keep closed items on the log for a couple of weeks before archiving them. They become a record of how problems were resolved, which helps when a similar one shows up. For family-facing items like changed phone numbers or new emergency contacts, a family contact update checklist pairs well with the log, so those changes do not slip through between sessions.

A log with owners and dates is the difference between a close that feels like paperwork and one that actually lowers your stress.

A 15-minute daily close checklist you can copy

Copy this into your spreadsheet or print it and keep it by the front desk. Run it in order.

Minutes 0 to 2: Set up

  • Note the date and who is running the close.

  • Open your sources: roster, attendance, payments, shared inbox, instructor chat.

  • Read yesterday's open exceptions and mark any that are past due.

Minutes 2 to 7: Roster

  • List today's adds, drops, moves, and level changes.

  • Update the master roster for each one.

  • Check class totals against expected counts.

  • Scan for duplicate swimmers in the same time slot.

  • Mark each family as told or add "notify family" to the log.

Minutes 7 to 10: Attendance

  • Confirm every swimmer in every class has a mark: present, absent, or excused.

  • Chase any blank group with the instructor now.

  • Flag attendees not on the roster and absentees with no note.

  • Record every reopened spot and who will offer it.

Minutes 10 to 13: Payments

  • Match each payment received today to a named swimmer and record the reference.

  • Flag unmatched payments.

  • Check that every enrolled, attending swimmer has a payment or a recorded reason.

Minutes 13 to 15: Log and lock

  • Enter every unresolved item in the exception log with an owner and a due date.

  • Record the day's row: date, runner, finish time, open-item count.

  • Note anything that should change tomorrow's first-hour plan.

On heavy days, like the first week of a session, give yourself 20 minutes and accept that the log will be longer. That is fine. A long log with owners and dates is healthier than a short list you never wrote down.

One rule keeps this honest: if you ran out of time, stop and log what is unfinished rather than rushing. A fast, sloppy close teaches you to distrust the whole routine.

Keeping the habit going, and when a spreadsheet stops being enough

A checklist only works if you keep running it. Three things help.

First, protect the time. Block it on the calendar like a class. If the close is the first thing to be skipped when the day runs long, it will be skipped every day that runs long, and those are the days you need it most.

Second, review the numbers weekly. Look at your close log: how many days were run, how long they took, how many exceptions piled up. A rising open-item count usually points to a source problem, like instructors not recording changes, or payments arriving with no reference. Fix the source and the close shrinks.

Third, share the load before it becomes a bottleneck. Train a backup so the close survives a sick day or a vacation.

Now the honest part. This routine works on spreadsheets, and it will carry a small school a long way. But there is a ceiling. Signs you are hitting it: the roster is open in three places and they disagree, the close regularly runs past 20 minutes, you re-type the same attendance twice, or payments and enrollments live in different files you reconcile by hand.

That is the point where a single workspace starts to pay for itself. Soljio is swim school software that keeps programs, schedules, rosters, families, and skill progress together. Families enroll and pay on the school's own subdomain, instructors take attendance and mark skills from the deck, and rosters can be imported from a spreadsheet. Fewer places to check means a shorter close.

If you are weighing a switch, a software migration checklist helps you plan it without disrupting a running session. Until then, run the close on what you have. The habit is worth more than the tool.

Conclusion

Run the close tonight. Not after you buy anything, not after the next session starts. Copy the checklist above into a spreadsheet tab, set a timer for 15 minutes after your last class, and log every open item with a name and a date. Do it for two weeks and watch your Monday-morning surprises shrink.

When you notice the close creeping past 20 minutes because rosters, attendance, and payments live in separate places, that is your signal. Soljio puts programs, rosters, families, deck attendance, and online enrollment and payment in one workspace, and it imports your current roster from a spreadsheet. Book a short call at soljio.com, bring your daily close log, and we will look together at which steps you could stop doing by hand.