Free referee scheduling spreadsheet template
Three CSV files you can open in Excel, Numbers or Google Sheets. They are set up the way an assignor actually works: one row per position, so an open slot is something you filter for rather than something you notice on Friday night.
- No email address required
- Excel, Numbers or Google Sheets
- Yours to change
Three sheets, three files.
Separate files rather than one workbook with three tabs: CSV is the format every spreadsheet program opens without arguing, and it is the format anything you move to later will read.
Officials
CSVYour pool: who you can assign, how to reach them, and which channel they actually answer on.
5 columns · 4 example rows to overwrite
Matches Ref Grid’s import columns
Download officialsAvailability
CSVWhat each official has told you about specific dates, with the date they told you.
7 columns · 4 example rows to overwrite
Download availabilityGames & assignments
CSVThe schedule, one row per position, with who has it and whether they have confirmed.
14 columns · 4 example rows to overwrite
Download games & assignments
Published August 27, 2026
How the template is set up
Most referee scheduling spreadsheets fail the same way. They have one row per game, with columns for each official. That looks tidy in September and stops working the moment you need to answer the only question that matters on a Thursday: what is still open? An empty cell three columns to the right is not something you can filter, sort or count.
So the games sheet here has one row per position. A three-official game is three rows. An unfilled position is a row with an empty official_name and assignment_status set to open— which means “show me everything still open next Saturday” is a filter, not a hunt.
The other two sheets exist because availability and contact details change on completely different schedules from the game list, and keeping them in one sheet means every edit risks the others.
Sheet 1 — Officials
Your pool: who you can assign, how to reach them, and which channel they actually answer on.
| Column | What goes in it |
|---|---|
namerequired | The official’s full name. One row per person. |
email | Leave blank if you only have a phone number. |
phone | A mobile number that can receive texts. Any common format works. |
preferred_channelrequired | sms, email, or both — the channel this person actually reads. |
notes | Grade, certification, travel radius, age groups — whatever you sort by. |
Compatible with Ref Grid’s import format
These five column names, in this order, are the ones Ref Grid’s officials CSV import reads — name and preferred_channel are the two it requires, and preferred_channel must be sms, email or both. So a roster you build here is already in the shape Ref Grid reads, rather than something you would have to reshape later.
Why preferred channel is a required column
It is the column most rosters do not have and every assignor privately knows. Some officials read email within the hour and never look at a text; others are the reverse. Sending everything to everybody on both channels is how people start ignoring both.
Sheet 2 — Availability
What each official has told you about specific dates, with the date they told you.
| Column | What goes in it |
|---|---|
official_namerequired | Must match the name on the officials sheet exactly. |
daterequired | YYYY-MM-DD. One row per date. |
statusrequired | available or unavailable. No row at all means they have not said. |
earliest_start | Blank means any time that day. |
latest_end | Blank means any time that day. |
notes | The reason, if it matters — travel, another league, a wedding. |
updated_on | When they told you. This is what tells you whether the row is stale. |
This one is yours, not ours
Unlike the officials sheet, these columns match nothing in Ref Grid: there is no availability import, and no availability feature in the product today. This sheet is a sensible generic shape you can change freely — Ref Grid starts at the roster and the assignment board, once you already know who is around.
The convention that makes this sheet work
No row means they have not told you.That is different from “available”, and conflating the two is the single most expensive assumption in officiating admin — it is what produces a confidently assigned Saturday that half the crew never agreed to.
- One row per official per date they have said something about.
statusisavailableorunavailable. Nothing else — a third value is a note, and notes go innotes.earliest_startandlatest_endare blank unless they actually gave you a time. A blank means “any time that day”, not “unknown”.updated_onis the date they told you, not the date you typed it in. It is the column that tells you whether a row from February is still worth believing in May.
If you are collecting this for the first time, how to collect referee availability before the season covers what to ask for and how to keep it current.
Sheet 3 — Games & assignments
The schedule, one row per position, with who has it and whether they have confirmed.
| Column | What goes in it |
|---|---|
daterequired | YYYY-MM-DD. |
start_timerequired | Kickoff or first pitch. 9:00 AM or 09:00. |
end_time | Optional. Useful for spotting back-to-back assignments. |
locationrequired | Field, court, gym or rink — specific enough to drive to. |
division | Age group or level. This is what drives who is eligible. |
home_teamrequired | — |
away_teamrequired | — |
positionrequired | Center, AR1, AR2, plate, base, referee 1 — whatever your sport calls it. |
official_name | Blank means the position is open. This is the column you filter. |
assignment_statusrequired | open, offered, confirmed, or declined. |
notified_on | When you sent it. Blank plus “offered” means you have not actually sent it. |
confirmed_on | When they replied yes. This is the column you chase. |
fee | Optional. Keep it here and your pay run is a pivot table. |
notes | Field change, doubleheader, anything the official needs to know. |
The two columns people leave out
notified_on and confirmed_on. Without them you have a plan; with them you have a schedule. The gap between the two is your entire follow-up list, and it is one filter: notified_on is filled and confirmed_on is empty.
The game columns — date, start_time, end_time, location, division, home_team, away_team — use the same names as Ref Grid’s games import. The assignment columns after them do not have an equivalent: Ref Grid tracks assignment state itself rather than importing it.
Getting it running
- Open each file, delete the example rows, and keep the header row exactly as it is.
- Build the officials sheet first. Everything else references
official_name, so a name typed two different ways is two different people as far as any filter is concerned. - Enter dates as
YYYY-MM-DD. It sorts correctly as text in every program, which no other format does. - If you use Google Sheets, import each CSV as its own sheet in one spreadsheet and you can look names up across them.
- Keep one copy. The moment there are two, one of them is wrong and nobody knows which.
A note on formulas
Values starting with =, +, - or @ are executed as formulas when a CSV is opened in Excel or Sheets. These files escape those so they open as text — worth knowing if you later export from somewhere else and the phone numbers come out strange.
When the spreadsheet stops being the right tool
Plenty of organizations run a season on exactly this and should keep doing it. A small pool, a schedule that rarely moves, one assignor — a spreadsheet is fast, free and completely under your control.
What it cannot do is send anything, and that is where the hours actually go. The sheet tells you that eleven assignments are unconfirmed; you still text eleven people, read eleven replies, and type eleven dates into confirmed_on. Then a game moves and you do a version of it again.
The honest version of this comparison, including where a spreadsheet wins, is in referee scheduling software vs. spreadsheets.
Read next
How to schedule referees without living in a spreadsheet
The end-to-end workflow the three sheets are shaped around.
What to do when a referee cancels at the last minute
The recovery process, and which column to update first.
Sports officials scheduling software
What Ref Grid does with the same three ideas.