Importing from a Spreadsheet

Last updated: August 6, 2026

If your teams already exist in a spreadsheet — a registration export, a league list, an email from a club secretary — you can upload it instead of typing every row by hand. MyCup reads Excel (.xlsx) and CSV files.

You'll find it in the sidebar under System → Import teams & data, then choose From a file.

Available on Pro and Premium. On Free, the page shows what it does and links to the Plans page.

The short version#

  1. Open Import teams & dataFrom a file
  2. Pick what you're importing: Teams, Players, or Staff
  3. Download the template (empty, ready to fill) or the example (filled in, so you can see what a good row looks like)
  4. Fill it in
  5. Click Upload a file, choose your file, check the column matching, and click Import

The import runs in the background with a progress bar. Large files keep working even if you navigate away — you'll get a notification when it finishes.

Teams, players and staff are separate uploads#

Teams creates the teams themselves: name, contacts, description, website, logo.

Players and Staff fill one team's roster. Because a roster belongs to a specific team, you pick that team from a dropdown before uploading — MyCup never guesses which squad a row belongs to from a column in your file, so a player can't quietly land on the wrong team. If your tournament runs more than one division, the picker shows each team's division, so two teams with the same name in different age groups are easy to tell apart.

Upload one roster per team. For a 20-team tournament that's 20 small uploads rather than one giant file, which is deliberate: it means a mistake affects one squad, not all of them.

Two ways in. Either use the team picker here, or open the team itself (Teams & Players → Manage) and use the import button on its Players or Staff tab. Same upload, same template — the team tab just skips the picker because it already knows which team you mean.

Team managers can do it too. If you've enabled the Team Panel, managers see the same import button on their own Players and Staff pages, so a club can upload its own squad instead of emailing you a list to retype.

Templates and examples#

Both downloads are offered inside the upload window, and again as buttons on the page.

  • Download template — the correct columns, no rows. Start here when you're typing fresh.
  • Download example — the same columns with sample rows filled in. Start here when you're not sure what a column expects.

Both are generated for your tournament, so they already include your custom attributes as columns, and the Division column only appears if your tournament actually uses more than one division.

Only the Name column is required. Everything else can be left blank.

Matching your columns#

You don't have to match our column names. After you upload, MyCup shows each of its columns next to a dropdown of the columns found in your file, and pre-selects the ones it recognises — including the names used in other MyCup languages, so a Portuguese export maps cleanly.

Check the matches, correct any that are wrong, then click Import. Nothing is saved until you do.

Uploading the same file twice is safe#

Importing a file that contains teams you already have updates them instead of creating duplicates.

Teams are matched by name, ignoring capitals, accents and extra spaces — so Sporting CP, sporting cp and Spórting CP are all the same team. Players are matched by name and shirt number, so two players genuinely called Alex Silva stay two players as long as their numbers differ. Staff are matched by name and role, so the same person can be a Coach on one row and a Physio on another.

This means a corrected re-upload does what you'd hope: fixed rows update, unchanged rows stay put, and nothing doubles.

Logos and photos#

The Logo URL (or Photo URL) column takes a public web address of an image — https://…. MyCup downloads it, converts it, and attaches it to the team or person.

  • The link must be public: something you can open in a private browser window. Links to files in Google Drive, Dropbox or a private intranet won't work.
  • Supported: PNG, JPG, WebP. SVG files are not accepted.
  • If a link is broken or the image can't be read, the row still imports — it just arrives without a picture, and you can upload one by hand later. A bad image link never costs you the team.
  • A team that already has a logo keeps it. Re-importing won't replace a logo you've already set.

Dates#

Date columns (like date of birth) are safest as a real date cell in Excel, which is what our template gives you. If you're typing text, use YYYY-MM-DD — for example 2010-04-03.

Files exported from older versions of MyCup used DD.MM.YYYY, and those still import correctly.

Plan limits#

Imported teams count toward your plan's participant limit exactly like teams you add by hand.

If a file has more rows than you have room for, the whole file is rejected and the message tells you how many rows the file has and how many slots remain. We don't import the rows that fit and silently drop the rest — that's the kind of thing you'd only discover weeks later. Either remove rows, or upgrade and upload the same file again.

Rosters have their own caps: 50 players and 30 staff per team.

Undoing an import#

Uploaded the wrong file? Open Import teams & dataFrom a file and look at Recent imports at the bottom. Each import has an Undo button for 7 days.

Undo removes what the import added and restores what it changed. Before it runs, it tells you exactly how many records that means.

Undo deliberately leaves some things alone, and says so afterwards:

  • Teams already in a match stay. Removing them would break fixtures you've already generated.
  • Teams that now have players, documents or form responses stay. A team import creates teams empty, so anything on them arrived later — from a roster upload or from you — and undo won't take that with it.
  • Records edited since the import stay as you edited them. Your correction wins over the old value.

So a partial undo is a normal, healthy outcome. The notification tells you what was reversed and what was kept.

Once you undo an import, it can't be undone twice, and after 7 days the option disappears along with the stored file.

What happens to your uploaded file#

The file is stored only long enough to process the import, then deleted automatically after 7 days along with the import record. Spreadsheets of participants usually contain personal data — names, dates of birth, contact details — so MyCup doesn't keep them around.

If some rows fail#

Rows are imported independently. If a handful fail validation — a missing name, an unreadable date — the rest still import, and the completion notification links to a file listing exactly which rows failed and why. Fix those rows and upload just them; the successful ones won't duplicate.

Editing teams you already have#

You can export your roster to CSV from Teams & Players, edit it in a spreadsheet, and upload it back here to apply the changes in bulk — handy for fixing a batch of contact emails or reassigning divisions after a draw.

The export carries Name, Division, the three contact columns, and a column for each of your team custom attributes. Those all match on re-import. It doesn't carry description, website or logo columns, so if you need those, start from the import template instead and fill in the names yourself.

Tips#

  • Add teams before you build the structure — the structure builder places the teams that exist when you open it.
  • If a club sends you a roster in their own format, paste it into our template rather than uploading theirs. Column matching is forgiving, but a template is faster than fixing mismatches.
  • Importing from a past MyCup tournament instead of a file? That's Import from a tournament, on the same page under a different source.

Was this page helpful?

Let us know if you found this documentation helpful or if you have suggestions for improvement.

Thank you for your feedback!

We're glad this documentation was helpful. If you have suggestions for improvement, feel free to contact our support team.

💭

Thanks for letting us know

We're sorry this page wasn't helpful. Please help us improve by contacting our support team with your feedback.