Ask any league secretary about reorders and you will hear the same complaint: the new shirt is close, but it is not the same.
The threads matched. The cloth did not
Thread is manufactured to a numbered colour that does not move.
Woven and knitted cloth is dyed in lots, and lots drift.
Nobody notices until the photo
A single shirt looks right on its own hanger.
Stand it next to five from the original run and the difference appears.
Rosters guarantee the problem
Leagues churn. Subs join, shirts get ruined, teams grow.
So a reorder is not an edge case; it is the normal case.
The fix is boring and total
Reserve yardage from one lot at the start and record the lot number.
Cut replacements from the reserve, and say when it is running low.