Moving your competition off the spreadsheet: a migration checklist with CSV import
2 September 2026 · 3 min read
If you’re running a tipping competition on a shared spreadsheet right now, it’s because the spreadsheet worked. It got sixteen mates or the whole floor tipping every week, it’s flexible enough to bend to whatever house rules your group invented three seasons ago, and everyone already knows how to open it.
None of that was a mistake — a spreadsheet is a completely reasonable way to start a competition. This isn’t about replacing something broken. It’s a checklist for the point where the spreadsheet’s own strengths (anyone can edit any cell, there’s no lockout, formulas can be typo’d) start costing more Sunday-night admin than they save.
The three spreadsheet problems that actually push people to move 📊
Someone edits a locked-in tip after kickoff. Not maliciously — usually just fixing a “typo” after seeing the result. A shared sheet has no server clock, so there’s no moment where a cell actually stops being editable.
A formula breaks and nobody notices for two rounds. One dragged cell reference, one manually overridden score, and the ladder is quietly wrong until someone does the maths by hand to check.
Membership admin is entirely on the organiser. Every new tipper is a new row, a new set of formulas to extend, and a new person to manually remind before every deadline.
None of these are reasons the spreadsheet was a bad idea — they’re just the specific weight that starts to matter once a competition survives past its first season.
The migration checklist ✅

1. Export your member list, not your history. You don’t need to migrate past rounds — a new competition starts clean. What you need is names and emails, one row per person.
2. Save it as a CSV. Every spreadsheet tool (Sheets, Excel, Numbers) exports to CSV from the File → Download/Export menu. That’s the one format the import step below actually reads.
3. Create the competition first, then import. Set your competition up (competition, scoring, round scope) before bringing people in — that way everyone lands in a competition that’s already configured instead of a half-set-up shell.
4. Import the CSV. The organiser console reads the file, matches columns, and issues an invite per row — it’s the same invite path as adding people one at a time, just batched. Anyone the importer can’t confidently match gets flagged for a manual check rather than silently skipped or silently guessed.
5. Check the flagged rows before you send anything. A CSV import is only as good as the column it was given — a merged cell, a nickname instead of a real name, or a missing email will land in the flagged pile. Fix those by hand; everything else goes out as a normal invite.
6. Let the invites do the reminding. Once people are in, the app tracks who’s tipped and who hasn’t per round — that’s one less spreadsheet column you’re maintaining by hand every week.
What actually changes once you’re off the sheet 🔄
Tips lock automatically at kickoff minus five minutes, off the server’s clock — not whenever someone remembers to protect the cells. The ladder is calculated the same way for every competition, every round, so there’s no formula to accidentally drag one row too far. And new members come in through an invite, not a new row someone has to build by hand.
What doesn’t change 🔁
Your house rules — how many points a correct tip is worth, whether draws are handled specially, which rounds count — are still yours to set. Moving off the spreadsheet isn’t moving to somebody else’s rules; it’s the same competition, with the admin taken off your plate.