^^^These sound like great tips.
I know this isn't soccer but...
I shoot swim teams, individual portraits, action shots (in the water), and the big team photo. I have everyone sign up before I'm there for the individual portrait and action shots, so I'm only shooting the child athletes of paying customers. Once I have a couple photos of a subject, I ask their name (if I don't know already from the logistics), and I record their name as a sound file on my camera (1D iii). That names a .wav the same as the previous frame filename, so when I pull files, I can quickly coordinate the wave files with their images and the athlete name.
This year, I'm setting up a Square store to organize the ordering. I will create "items" for each time slot in the Square store, and each item will be "shipped" only. So, for action shots, that's five athletes in each 15-minute time slot. That will give me names for the slots, I'll have all of the customer info in the shipping information, so delivery and payment will be easy to track. On the day of the shoot, new signups will work through this same interface, just seeing how many are available in a given time slot.
For donations to the team, I just donate all of the profits from the team photo. It's just easier for me to print off a stack of 8x10s and hand that stack off to the team volunteers to deliver them. The big team photo only takes me about 15 minutes to shoot, about an hour to process, and another hour to print/review/adjust/reprint. Not an insane amount of work for a donation, and I end up writing the team a check between $500 and $1000, depending on orders.