Collect every player's size, printed surname and shirt number in one validated online form, catch clashing numbers and odd sizes with sheet formulas and a short AI check, then have AI turn the clean rows into the supplier's order sheet and the parent reminders. A person signs off the final list before anything is ordered.
Most writing on AI in sports business is about leagues and analytics; the money in a local shop is in getting thirty families' details right the first time. Kit orders fail in three places: a duplicate number found after printing, a size that cannot be exchanged once a name is on the back, and a parent who has not paid by the cut-off. Everything below is built to catch those three early. The checking is done by form rules and spreadsheet formulas; AI writes, reconciles and explains.
Last season's order, and what it cost
Picture a two-person sports shop and a junior basketball club with three squads (Under-12, Under-14 and Under-16) of ten players each. Last season the coach collected details in a group chat and typed them into a spreadsheet, the shop re-typed them for the supplier, and nobody saw the list as a whole until the kit arrived. Illustrative costs, with a printed game shirt at $36 (once a name is printed, the shirt cannot be sold on to anyone else):
| What went wrong | How many | Cost |
|---|---|---|
| Two players in one squad given the same number, found at the first game | 1 shirt reprinted | $36 |
| Wrong size chosen, unfixable after printing | 3 shirts | $108 |
| Surname misspelt in the group chat and printed as typed | 2 shirts | $72 |
| Families still unpaid at the cut-off | 5 of 30 | The shop funded $270 of the supplier invoice for three weeks |
| Chasing, re-typing and checking | About 11 hours | Unbilled |
Direct losses were $216, plus the float and the hours. The rest of this tutorial rebuilds the process so each of those lines has a check in front of it.
The order form, field by field
A form beats a group chat for one reason: it can refuse bad answers before they reach your sheet. Google Forms offers response validation on short-answer questions, with a number rule such as "between", a text rule for email format, a length limit, and a regular-expression rule (Contains, Doesn't contain, Matches, Doesn't Match), each with custom error text for the parent. Microsoft's forms tools have equivalents, but I have only checked the Google pages. Here is the form for the 30-player order:
| Question | Setting | What it prevents |
|---|---|---|
| Squad | Dropdown: Under-12, Under-14, Under-16 | Lets the duplicate check run per squad and stands in for age |
| Player's first name | Short answer, required | Kit handed to the wrong child |
| Surname as printed on the back | Length: maximum 12 characters (use the supplier's limit); Regular expression: Doesn't contain digits | Overlong names and typed numbers |
| Shirt number, first choice | Number: between 0 and 99 (use the range the league allows) | "100", "ten", or a number the supplier cannot print |
| Shirt number, second choice | Same rule | A dead end when the first is taken |
| Game shirt size and shorts size | Dropdowns: Youth S, M, L, Adult S, M, L, XL | Free-text sizes such as "medium-ish" |
| Optional shooting shirt | Dropdown: none or a size | Extras appearing by email later |
| Parent or guardian email | Text: email format | Reminders bouncing |
| Acknowledgement | Checkbox, required: printed names and numbers cannot be exchanged after the cut-off | Disputes about exchanges |
Two settings finish the job. In a published form, switch off "Accepting responses" or use "Set close date or response limit" to close at an exact date and time, so the cut-off is real. And under Responses, "Get email notifications for new responses" tells the shop each time a family completes the form. The Sheets link on the Responses page gives you the spreadsheet the rest of this tutorial uses. If you build sizing forms for other products, the tutorial on sizing forms, bookings and returns for a rental shop covers a similar age-and-size problem.
Ask only for what the order needs. No dates of birth, no phone numbers, no photos. These are children's details, so data-protection law may apply, and the simplest compliance is not to hold what you do not use. Delete the sheet once the kit is collected, keeping only what you will need to reorder.
What AI drafted for the form, and what had to change
An assistant is quick at the first draft of the form, provided you hand it the supplier's rules rather than letting it guess.
You are helping a small sports shop build an online order form for a junior basketball club's kit.
Squads: Under-12, Under-14, Under-16. Items: game shirt with printed surname and number, shorts,
optional shooting shirt (no print). Supplier rules: surname up to 12 characters, capitals, no digits;
numbers 0 to 99; sizes Youth S, M, L and Adult S, M, L, XL.
Draft the form: each question, the answer type, the validation rule in plain words, and one line of
help text for parents. Add an acknowledgement that printed kit cannot be exchanged.
Ask for nothing that is not needed to place the order.
An illustrative first draft needed three repairs. It made shirt size a free-text answer, which brings back "medium-ish"; a dropdown fixes it. Its help text under the size question said "we will happily exchange if it doesn't fit", contradicting the acknowledgement two questions later; the shop's rule wins and the line goes. And it asked for a phone number "in case we need to reach you", which the order does not need and the email already covers. The draft also omitted the squad question, which would have made a per-squad duplicate check impossible. Read an AI-drafted form as a checklist of what to add and remove, not a finished form.
Week by week: from first message to supplier
The timetable below assumes the club has agreed the design and the shop has the supplier's price list. Supplier lead times come from the supplier in writing, so the weeks after the order are placeholders.
| When | What happens | Responses in |
|---|---|---|
| Day 1 | Form built from the AI draft in about 45 minutes; link sent to families through the club's own channels, close date set for day 14 | 11 of 30 |
| Day 4 | Roster sheet shows who has not answered | 18 |
| Day 7 | First reminder to the 12 still missing | 24 by day 9 |
| Day 10 | Second reminder to the 6 still missing | 28 by day 12 |
| Day 13 | Final reminder, plus phone calls to the last 2 | 30 on day 14 |
| Day 15 | Duplicate check, size check, name check, confirmation emails | 30 clean |
| Day 16 | Supplier sheet built, reconciled and sent | Order placed |
| Weeks 3 to 5 | Production; one progress message to parents once the supplier confirms a date | Placeholder |
| Week 6 | Kit arrives; shop checks every shirt against the sheet before telling anyone | Collection |
The "who has not answered" list is a roster sheet with the club's 30 players and the family email, plus one formula, for example =IF(COUNTIF(Responses!D:D,A2)>0,"yes","no"), matching the surname in the roster against the surname column in the responses tab. Filter on "no" and you have the reminder list. It is arithmetic, not AI, and it cannot be wrong in the way a chatbot count can.
The duplicate-number check: formula first, AI second
Add a final-number column (starting as a copy of first choice) and a flag column. With the squad in column B and the final number in column G, the flag is =IF(COUNTIFS($B$2:$B$31,B2,$G$2:$G$31,G2)>1,"DUPLICATE",""), which counts rows sharing both squad and number. Colour any flagged cell with a conditional-formatting rule and the clashes jump out. Decide with the club whether numbers need to be unique per squad, as the formula above assumes, or across the whole order; players sometimes move up a squad mid-season, and a club with that habit wants the stricter rule.
In the illustrative order, the flag finds four clashes among 30 players:
| Clash | Who got it | Second player's second choice | Outcome |
|---|---|---|---|
| Number 10, Under-14 | Row 6 (submitted day 1) | 11, free | Row 21 gets 11 automatically |
| Number 7, Under-12 | Row 9 (day 1) | 7 again, typed twice | Message to the parent for a new choice |
| Number 5, Under-16 | Row 12 (day 2) | 15, already taken by row 3 | Message with three free numbers offered |
| Number 9, Under-12 | Row 4 (day 1) | 19, free | Row 25 gets 19 automatically |
The rule is first form first served, with the second choice as the fallback, and it is written on the form so no parent is surprised. Two clashes resolve themselves; the other two need a short message, which is a good AI job as long as the facts come from your sheet.
Write a short, friendly message to the parent of a junior basketball player. Their first-choice
number [first choice] was already taken in the same squad by an earlier form. [Their second choice
was also unavailable / Their second choice was the same number]. Free numbers in this squad: [list].
Ask them to reply with one choice by [deadline]. Do not promise any number. No exclamation marks.
Use the merge fields [parent first name] and [player first name] exactly.
A usable result: "Hello [parent first name], thanks for sending [player first name]'s details. The number you chose is already taken in the same squad. The free numbers are [list]. Please reply with the one you prefer by [deadline] and we will add it to the order." The fix, when the assistant produces something warmer, is to cut any line that implies a number is being held ("we've kept 8 for you").
Then use AI as a cross-check, never as the check. Paste the squad and number columns only, with no names, and ask for any repeated number within a squad, with row numbers. In an illustrative run the assistant reported two clashes where the formula had flagged four, missing a pair in the middle of the list. Models drop items from long lists without saying so. When the formula and the assistant disagree, trust the formula and find out why.
Catching wrong sizes before the name goes on
Wrong sizes cost most, because they can neither be exchanged nor resold. The form cannot know that an Under-12 player who picked Adult XL made a slip, but a rule can. Write the shop's own guide for which sizes are normal in each squad, based on the supplier's chart, then ask the assistant to flag exceptions only.
Shop's size guide by squad: Under-12: Youth S to Youth L. Under-14: Youth M to Adult S.
Under-16: Youth L to Adult XL. Below are squad and chosen size for each row.
List only the rows where the chosen size is outside the guide for that squad, with the row number.
Do not suggest a size and do not change any row.
Say it flags three rows: row 8 (Under-12, Adult M), row 19 (Under-16, Youth S) and row 26 (Under-14, Adult XL). The shop emails each family a neutral question: "[player first name] has chosen [size]. That is outside the usual range for the squad, so please confirm it, or tell us a different size, by [deadline]. Printed kit cannot be exchanged." Row 8's parent replied that the player is tall and the size stands. Row 19 was a slip for Adult S and was changed. Row 26 was confirmed. One wrong size avoided, two correctly kept, and no one told what size their child "should" be; the assistant only found the rows worth a second look.
Finish with the size-run summary, which doubles as a sanity check because every item's counts must total 30. Build it with COUNTIF on each size, not by asking a chatbot to count:
| Size | Game shirts | Shorts |
|---|---|---|
| Youth S | 2 | 2 |
| Youth M | 5 | 5 |
| Youth L | 8 | 9 |
| Adult S | 7 | 6 |
| Adult M | 5 | 5 |
| Adult L | 2 | 2 |
| Adult XL | 1 | 1 |
| Total | 30 | 30 |
If a column totals 29 or 31, a row is missing or doubled and you have found it at the cheapest possible moment. The tutorial on size runs and reorders for a boutique uses the same totals-must-match habit for stock rather than orders.
The supplier order sheet, built and reconciled
Suppliers want their own layout: usually one line per personalised shirt with name, number and size, plus a quantity-by-size list for plain items. Paste the supplier's column headings and two sample lines, then the cleaned rows (surname as printed, number, size, squad; nothing else).
Reformat the rows below into the supplier's order layout, using exactly the column headings I
pasted. Surnames in capitals, spaces and hyphens kept as typed. One line per game shirt.
Then add a reconciliation: number of shirts, shirts by size, shorts by size, shooting shirts by size,
and any squad where a number appears twice. Do not alter any value. If a surname is longer than
12 characters including spaces and hyphens, list it under QUERIES instead of shortening it.
SUPPLIER HEADINGS AND SAMPLE LINES: [paste]
ROWS: [paste]
An illustrative sample of the output, before checking:
| Item | Print name | Number | Size | Squad |
|---|---|---|---|---|
| Game shirt | OKAFOR | 10 | Youth L | Under-14 |
| Game shirt | SMITH JONES | 23 | Adult S | Under-16 |
| Game shirt | PETROVIC | 7 | Youth M | Under-12 |
| Game shirt | LINDQVIST | 11 | Youth L | Under-14 |
The second row shows the typical slip: the form said SMITH-JONES and the assistant returned SMITH JONES, quietly turning a hyphen into a space despite the instruction. Whether the supplier prints a hyphen, an apostrophe or an accented letter is a question for the supplier, so ask before sending and keep the supplier's answer next to the sheet. Check the reconciliation against your own COUNTIF table, line for line; if the AI's totals differ from yours, yours are right until proven otherwise. Then a person reads all 30 print lines against the form responses once, aloud if possible, before the sheet leaves the shop. For wider purchasing routines with suppliers, the tutorial on purchase orders and supplier emails goes further.
Parent reminders: three messages and a payment chase
Parents respond to a deadline stated once, plainly, and repeated at short intervals. Three reminders before the cut-off (a week out, four days out, the day before) and one after the order is placed cover the ground. Ask the assistant for all four at once, with the facts supplied by you:
Write four short messages from a sports shop to parents about a club kit order.
Facts: form closes [date and time]; link [link]; kit is [price] per player, [shooting shirt price] for
the optional shooting shirt; names and numbers cannot be changed or exchanged after the close; pay at
the shop or [payment method]; phone [phone].
Messages: (1) a week before the close, (2) four days before, (3) the day before, to families who
have not answered, (4) after the order is placed, to families who have not paid.
Each under 60 words. No exclamation marks, no guilt, no new offers or discounts.
Merge fields exactly: [parent first name], [player first name], [amount due].
Illustrative message 3, the day before: "Hello [parent first name], the kit order for [player first name]'s squad closes tomorrow at [date and time]. We have not yet received a form, so [player first name] cannot be included once it closes. Link: [link]. Questions: [phone]." The failure to watch for is invented urgency or flexibility. Assistants like to add "we can probably squeeze late orders in", which the supplier may not allow, so compare each draft to your facts line by line. The tutorial on payment reminders that sound human has tone options if some families need a second nudge, and the one on planning a dance recital with costumes and parent emails shows how a similar costume-order rhythm works in a studio.
To send each family a personalised copy, Gmail's mail merge takes the recipients from a sheet ("Add from a spreadsheet"), and tags such as @firstname match the sheet's column headings. Google's help page lists it for eligible Workspace plans (Workspace Individual, Business Standard, Business Plus and certain Enterprise and Education plans), so a shop on a free Google account or Business Starter will not have it. For 30 families, blind copy to the "no" or "unpaid" list does the job. It is also worth sending each parent a print proof, a one-line message showing the name, number and size as they will be printed with a request to reply only if wrong, which is the cheapest catch for a misspelt surname. With mail merge that is one send; without it, paste five or six lines by hand for the flagged players only.
Keep personal details out of the assistant. Reminder prompts need no names or emails, and the merge step puts them in at the moment of sending. On consumer plans, switch off the setting that lets chats train models; the tutorial on keeping customer data private when your team uses AI sets out the habits in more detail.
Late joiners, siblings and other rows the formulas miss
Some problems only appear once real families fill in the form. Settle each one with the club before the link goes out, and add the answer to the facts you give the assistant, so no reminder or confirmation draft has to improvise a policy:
- Siblings in one squad. Two players with the same surname print identical backs. A common fix is a first initial before the surname, but the initial, full stop and space add three characters, so a 10-character surname becomes 13 and breaks a 12-character print limit. Put
=LEN(E2)beside the print-name column (here, column E) and filter for anything over 12 before the supplier finds it. - Two forms for one player. A parent and a grandparent both fill it in, choosing different numbers, so the duplicate-number flag stays quiet. Add a second COUNTIFS flag on squad, first name and surname together, then ask the family which form is right before deleting either.
- Numbers the club keeps back. Some clubs retire a number or save one for the coach. Leave those out of the allowed range or list them in the form's help text, rather than hoping the duplicate check catches them later.
- A player who joins after the order is placed. Ask the supplier, in writing, for its minimum reorder quantity and any set-up charge for a single printed shirt, and give the late family the price and lead time before taking payment. Keep the cleaned sheet: a one-shirt reorder is then a copy of one line, not a new form.
- A size change before the cut-off. Ask for changes by reply email (or let parents edit their own response, if your form settings allow it) and log each change on the sheet with its date, so the supplier sheet is built from the final answer rather than the first.
An illustrative case of the first row: two brothers in the Under-14s, one choosing 4 and one 14, both with a 10-letter surname. Both forms pass validation and the duplicate check, and only the LEN column shows that "J. " plus the surname will not fit. The shop agreed with the club to print surnames in full on both shirts and rely on the different numbers, and told both families before the order went in.
The finished order in numbers
The order: 30 game shirts with print and 30 pairs of shorts at $54 per player, and 11 optional shooting shirts at $24. That is 30 x $54 = $1,620, plus 11 x $24 = $264, a supplier invoice of $1,884 on these illustrative prices. By the cut-off, 29 of the 30 families had paid; the last paid on collection. Compare the old and new way:
| Task | Last season | This season |
|---|---|---|
| Collecting and typing up details | 3 hours | 0.5 hours |
| Checking numbers and sizes | 1.5 hours | 0.75 hours |
| Building the supplier sheet | 1.5 hours | 0.75 hours |
| Chasing parents for forms and payment | 3 hours | 1.25 hours |
| Fixing mistakes after printing | 2 hours | 0.25 hours |
| Total | 11 hours | 3.5 hours |
Direct losses fell from $216 to $0 on printed shirts, and unpaid families at the cut-off from five to one. The residual mistake in week 6 was the supplier's: one shirt printed 8 instead of 6. It was caught because the shop checked the delivery against the sheet before telling parents it had arrived, and the supplier reprinted it at their cost. That final check is the habit worth copying: a person with the sheet in one hand and the shirts in the other, counting aloud, before anyone is told the kit is ready.
The tools cost almost nothing: Forms and Sheets with a free Google account, and an assistant on a free plan or the roughly $20 a month that ChatGPT Plus or Claude Pro list at. If you want mail merge for personalised proofs, Business Standard lists at about $14 a user a month on an annual plan, which you should confirm on Google's pricing page. Run the same process for next season's order and the form, formulas and prompts above only need their dates and prices changed.
Questions a shop asks before its first club kit order
Should the AI see the players' names and emails?
It rarely needs to. Sizes, squads and numbers are enough for the duplicate and size checks, and the surname as printed is enough for the supplier sheet. Keep first names, ages, email addresses and phone numbers in the form and sheet, and use mail merge to add them back when messages go out.
What if two players in one squad want the same number?
Give the number to whoever submitted the form first, assign the second player their second choice if it is free, and message the parent only if it is not. Decide with the club whether numbers must be unique per squad or across the whole order, because players sometimes move between squads.
Can parents change a size after the cut-off?
Decide that before the form opens and state it on the form. Printed names and numbers usually make exchanges impossible, so most shops freeze details at the cut-off and handle genuine mistakes as one-off exceptions, with the parent aware of the cost.
Do I need a paid Google plan for any of this?
Forms and Sheets work with a free Google account. Gmail's built-in mail merge, which sends each parent a personalised copy, is limited to eligible Workspace plans such as Business Standard. Without it, send reminders to the unpaid or missing families by blind copy.
Further reads
- AI for Printing Companies: Proof Approvals and Job Status Updates — The supplier's side: proofs, approvals and job status updates.
- Sports Club Code of Conduct: Player and Parent Versions With AI — Club codes of conduct for players and parents, drafted with AI.
- Bakery Pre-Order Form for Christmas and Easter With AI — Fixed cut-offs and collection slots for a seasonal rush.
- Stationery Shop Marketing Ideas: School and Corporate Orders With AI — Win school and corporate orders for a local shop.
- AI for Tailors: One Wedding-Suit Job From Quote to Final Fitting — One wedding suit from first enquiry to pick-up: what the AI drafts, what the tailor checks, and the dates, sums and texts in between.
- AI in Sports Management: Pitch and Court Hire Without Double-Booking — A hall's hire diary built around a unit map, a rules sheet, enquiry-to-card prompts, a clash check, holds and deposits, with a worked Saturday.
- Sporting Goods Store Marketing Ideas: Club Deals and Launches With AI — Nine marketing ideas for an independent sports shop, each with numbers, a first step and a watch-out, plus the club outreach AI can draft for you.
- AI for Sports Clubs: Fixtures, Renewals and Other Committee Admin — Turn a league fixture list into team calendars, run renewal reminders and draft minutes with free tools, without putting member data into a chatbot.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Google Docs Editors Help pages on Google Forms response validation and managing responses, and Google's help page on Gmail mail merge, all read in October 2026.