Most academies start on a spreadsheet, and for a while it works. One sheet of players, a column for the group, a column for whether they've paid this month.
Then the academy grows. A second coach keeps their own copy. Siblings get one row or two depending on who typed them in. The fees column turns into a colour code only one person understands. Someone sorts the sheet by name but not the phone column, and now every number is wrong.
Moving to proper software fixes this, but only if what goes in is clean. This guide is about that part: getting your existing records into shape, deciding what to move first, and making the switch without confusing coaches or parents.
Signs it's time to move
You don't need software because you have a spreadsheet. You need it when the spreadsheet starts costing you time or money. Common signs:
- More than one "master" list exists, and they don't agree.
- You can't say who owes fees this month without checking bank statements one by one.
- Coaches take attendance on paper and nobody types it up.
- A parent asks for their child's attendance or payment history and it takes an evening to answer.
- Only one person can update the sheet, and the academy stops when they're on holiday.
If two or three of those sound familiar, it's worth an afternoon to tidy up your records, even if you don't move straight away.
Step 1: Find every list you have
Before cleaning anything, gather it all in one place. Most academies have more lists than they think:
- The main player spreadsheet
- Each coach's own list or attendance sheet
- The fees book or payment tracker
- Registration forms, on paper or online
- Contacts in the academy WhatsApp groups
- The staff list, with contracts and pay
Pick one of these as the master. Usually it's the main player spreadsheet. Everything else is a source you'll check against it, not a second copy you'll keep updating.
Step 2: One row per player
This is the rule that matters most. Every player gets exactly one row, and every row is exactly one player.
Two common problems break it:
Siblings on one row. "Ali and Zara Hassan, U10 and U12, mum: Aminath" looks tidy, but software can't split it reliably. Give each child their own row, with the same parent details on both.
Players listed twice. A player who trains in two groups often appears once under each. Keep one row and list both groups (more on groups below).
Here's the difference:
| Before | After |
|---|---|
| One row: "Ali & Zara Hassan, U10/U12" | Two rows: Ali Hassan (U10) and Zara Hassan (U12), each with the same parent |
| Ali Hassan under U10 and again under the swimming squad | One row for Ali, with both groups listed |
Step 3: Give each piece of information its own column
A column should hold one kind of information. If a cell reads "Aminath 7771234 / dad 9876543", that's four pieces of information in one cell.
A clean player sheet usually has these columns:
| Column | Example |
|---|---|
| First name | Zara |
| Last name | Hassan |
| Date of birth | 14/03/2014 |
| Gender | Female |
| Group | U12 Girls |
| School | Island Primary School |
| Grade | 6 |
| ID number | A123456 |
| Parent name | Aminath Ali |
| Relationship | Mother |
| Parent phone | +960 777 1234 |
| Parent email | aminath@example.com |
If your sheet keeps full names in one column, that's fine. Just be consistent: either every row has a single full name, or every row has first and last names split.
Step 4: Phone numbers
Phone numbers are where most messages go wrong after a switch, because the number in the sheet was never quite right.
- One number per cell. If a family has two numbers, decide whose each one is.
- Label whose number it is. "Phone" next to a player's name is ambiguous. "Parent phone" isn't.
- Include the country code if any of your families have numbers from other countries.
- Check the ones that look odd. Numbers with a digit missing, or a number that appears for three unrelated families.
Spacing and formatting don't matter much. What matters is that the right number sits next to the right person.
Step 5: Dates of birth
Dates of birth decide age groups, so they're worth checking properly.
- Use full dates, not just the year or an age. An age is out of date the day after you type it.
- Watch for numbers instead of dates. Spreadsheets sometimes turn dates into five-digit numbers like 41712 when a file is copied between programs. If you see those, the date is still there, it's just displayed differently.
- Look for impossible values: a player born this year, or a date that's clearly a registration date.
- Sort by date of birth once and scan each group. A twelve-year-old sitting in U8 stands out quickly.
Step 6: Groups
Groups (age groups, squads, levels, programmes) can live in your sheet in two ways:
- A group column with the group name on each row, like "U10" or "Elite Squad".
- One sheet per group, with the sheet tab named after the group, like "U13 Boys".
Either works. Mixing both in one file causes confusion.
Use the same spelling everywhere. "U10", "U-10" and "Under 10" will become three different groups if you're not careful.
Be careful with the word "class". If your sheet has a "class" column, decide whether it means a school class or a training group, and rename it to say so.
Step 7: Players who have left
Old spreadsheets are full of players who stopped coming two seasons ago. Don't delete them yet. Add a Status column with "Active" or "Left", and decide whether you want leavers in the new system at all. Most academies start with active players only and keep the old sheet as an archive.
Step 8: Staff on their own sheet
Coaches, assistants and admin staff belong on a separate sheet: name, phone, email and job title. Keep their pay terms out of this sheet. Contracts and pay are better set up fresh in the new system, where they can be checked properly. The post on paying coaches covers how to set those up.
What to move first
Don't try to move everything in one weekend. Go in this order:
- People and groups. Players, parents, coaches and the groups they belong to. Everything else hangs off this.
- Sessions. Your weekly training timetable, with coaches and venues. Once sessions exist, coaches can start taking attendance in the app.
- Fees. Set up your monthly fee and any sibling discounts, then start invoicing from the first day of a new month. Starting mid-month means half the month's payments are in the old book and half in the new system.
- Staff pay, expenses and the rest. Once the daily routine is settled.
Leave your old payment history where it is. Bringing years of past payments across is rarely worth the effort. Keep the old fees book read-only so you can answer questions about past months, and start the new month clean.
Run both side by side for a month
For the first month, keep the old spreadsheet open, but as a reference, not a second system. The rule: each job happens in one place only.
- Attendance: in the new system from the first session.
- Fees: in the new system from the first of the month. Never send reminders from both, or families who've paid will be chased twice.
- New registrations: through the new form only.
- The old spreadsheet: read-only. If you catch yourself updating it, ask why, and fix that gap in the new system instead.
At the end of the month, compare the two: does every active player in the old sheet appear in the new system, in the right group? If yes, archive the spreadsheet.
Tell your coaches before the first session
Coaches decide whether a new system sticks. Before the first week:
- Show each coach how to open their session and mark attendance on their phone. It takes five minutes in person and saves a week of half-done registers.
- Tell them what changes for them and what doesn't.
- Make one person the go-to for questions during the first month.
Tell parents what changes for them
Parents mostly want to know three things: how they'll get invoices, how they'll pay, and how they'll hear about cancelled sessions. Send one clear message before the switch. Something like:
From 1 November, the academy is moving to the AcademyPro app. You'll get your monthly invoice in the app, and you can upload your bank transfer receipt there too. Session changes and notices will come as notifications in the app instead of in this group. Please download the AcademyPro app from the App Store or Google Play. If anything looks wrong, message us here.
Keep the old WhatsApp group open for the first few weeks so no one feels cut off, then move announcements to the app.
Common mistakes
- Moving a messy sheet as it is. The mess comes with it, and now it's in a system that sends people messages.
- Starting fees mid-month. Start on the first.
- Running two systems for fees. One place only, from day one.
- Doing it all alone. Ask a coach to check their group's list. They'll spot the wrong numbers and missing players faster than you will.
How AcademyPro handles the import
You don't have to rebuild your spreadsheet in a special template. With spreadsheet import, you upload the Excel or CSV file you already keep. The AcademyPro assistant reads every sheet, works out which columns are players, parents and staff, matches players to their parents, creates your groups and sets up your coaches' accounts.
It doesn't guess when something is unclear. If a column could be a national ID or your own registration number, or a phone number might belong to a second guardian, it asks you. Mixed date formats and phone formatting are handled for you. Rows that need a fix, like a missing date of birth, are flagged for you to correct before anything is imported. If your sheet marks players who've left, it asks whether to bring them across.
Health notes, kit sizes and payment history don't come across in the import, so add those as you go. The registration form guide covers what to collect from new families from now on.
If you'd rather not do it alone, our team sets your academy up with you. Bring the spreadsheet you already keep. It usually takes about an hour, and it's free in every plan. As Naya, manager at United Victory Academy & Odi Sports Academy, put it:
AcademyPro completely transformed how we manage our academy, reducing administrative work by 80%.
You can try it free for 30 days. See pricing for the details.