Data Import Tool


The Data Import Tool allows you to bulk import data from spreadsheets (Excel, Google Sheets, etc.) into Football Leagues. Instead of manually creating entities one by one, you can paste hundreds of rows and import them in seconds.

Import types supported:

  • Entities: Players, Clubs, Stadiums, Staff, Referees
  • Matches: Games (insert new), Games (update existing)
  • Match Events: Lineups, Goals, Substitutes, Cards

Video Tutorial

Watch this step-by-step guide:

How to Use

Step 1: Access the Import Tool

Go to Settings & Tools → Data Import

Step 2: Select Import Type

Click the import type links at the top to switch between:

  • players | stadiums | clubs | staff | referees
  • games (insert) | games (update)
  • goals | lineups | substitutes | cards

Step 3: Choose Import Mode

For entity pages (Players, Clubs, Staff, Stadiums, Referees), toggle between:

ModePurposeRequired Field
InsertCreate new recordsName field
UpdateModify existing recordsID or External ID

For match event pages (Goals, Cards, Substitutes, Lineups), toggle between:

ModePurpose
ReplaceClear existing data for the match, then import new
AppendAdd to existing data (keep current records)

Step 4: Configure Columns (Optional)

Click “Change Import Columns” to:

  • Reorder columns by dragging
  • Show/hide columns using the eye icon
  • Click “Apply New Settings” to save

Your column preferences are saved per import type.

Step 5: Paste Data

  1. Prepare your data in Excel, Google Sheets, or any spreadsheet
  2. Select and copy the rows (without headers)
  3. Click in the first cell of the import table
  4. Paste (Ctrl+V / Cmd+V)

Tip

The table auto-expands when pasting more rows than available.

Step 6: Import

For entity pages:

  • Click “Save Data” to start import

For match event pages:

  • Click “Preview Import” to see grouped data by match
  • Review the preview table showing valid/invalid counts
  • Click “Import Data” to execute

Step 7: Review Results

After import, each row shows its status:

  • success (green) – Imported successfully
  • error (red) – Failed with error message

Use “Clear Success” to remove successful rows and re-attempt failed ones.

Import Types Reference

Entity Imports (Insert/Update)

Players

ColumnRequiredNotes
Player NameInsertDisplay name
Short NameNoAbbreviated name
Full NameNoLegal/official name
PositionNoDropdown: Goalkeeper, Defender, Midfielder, Forward
Current ClubNoDropdown of existing clubs
Date of BirthNoFormat: YYYY-MM-DD
NationalityNoDropdown of countries
Height (cm)NoNumeric
Weight (kg)NoNumeric
Player IDUpdateInternal WordPress ID
Player External IDBothYour custom identifier
Custom FieldsNocf__fieldname format

Clubs

ColumnRequiredNotes
Club TitleInsertTeam name
AbbreviationNoShort code (e.g., MUN, LIV)
CityNoHome city
CountryNoDropdown of countries
National TeamNoyes/no
Club IDUpdateInternal WordPress ID
Club External IDBothYour custom identifier

Stadiums

ColumnRequiredNotes
Stadium TitleInsertVenue name
CityNoLocation city
AddressNoFull address
CapacityNoNumber of seats
SurfaceNoGrass, Artificial, etc.
OpenedNoYear opened
Stadium IDUpdateInternal WordPress ID
Stadium External IDBothYour custom identifier

Staff

ColumnRequiredNotes
Staff NameInsertFull name
Job TitleNoCoach, Manager, etc.
Current ClubNoDropdown of existing clubs
Date of BirthNoFormat: YYYY-MM-DD
NationalityNoDropdown of countries
Staff IDUpdateInternal WordPress ID
Staff External IDBothYour custom identifier

Referees

ColumnRequiredNotes
Referee NameInsertFull name
Job TitleNoMain referee, Assistant, etc.
Date of BirthNoFormat: YYYY-MM-DD
NationalityNoDropdown of countries
Referee IDUpdateInternal WordPress ID
Referee External IDBothYour custom identifier

Match Imports

Games (Insert)

Create new matches. Important: Competition must exist with teams assigned before importing.

ColumnRequiredNotes
Competition IDYesID of target competition
Round IDYesRound number in competition
Club Home IDYesHome team ID
Club Away IDYesAway team ID
KickoffNoFormat: YYYY-MM-DD HH:MM
FinishedNoyes/no
home_goalsNoFinal score (home)
away_goalsNoFinal score (away)
MatchweekNoMatchweek number
Stadium IDNoVenue ID
AttendanceNoNumber of spectators
Referee IDNoMain referee ID
Match External IDNoYour custom identifier

Note

You can use External IDs for clubs/stadium/referee instead of internal IDs.

Games (Update)

Update existing matches. Requires Match ID or External ID.

ColumnRequiredNotes
Match IDOne requiredInternal WordPress ID
Match External IDOne requiredYour custom identifier
KickoffNoFormat: YYYY-MM-DD HH:MM
FinishedNoyes/no
home_goalsNoUpdate final score
away_goalsNoUpdate final score

Match Event Imports

Important

All match events need a Match ID or Match External ID.

Lineups

ColumnRequiredNotes
Match IDYes*Match identifier
Player IDYes*Player identifier
Club IDYes*Player’s team in this match
Starting XINoyes/no (starter or substitute)
NumberNoJersey number for this match
Is CaptainNoyes/no

*Can use External IDs instead: Match External ID, Player External ID, Club External ID

Goals

ColumnRequiredNotes
Match IDYes*Match identifier
Player IDYes*Goalscorer identifier
Club IDYes*Scoring team
MinuteNoGoal minute
Minute AdditionalNoStoppage time
Own GoalNoyes/no
From PenaltyNoyes/no
Assistant IDNoAssist provider

Substitutes

ColumnRequiredNotes
Match IDYes*Match identifier
Player IDYes*Player coming IN
Player Out IDYes*Player going OUT
Club IDYes*Team making substitution
MinuteNoSubstitution minute
Minute AdditionalNoStoppage time

Cards

ColumnRequiredNotes
Match IDYes*Match identifier
Player IDYes*Player receiving card
Club IDYes*Player’s team
MinuteNoCard minute
Card TypeYesy (yellow), r (red), yr (second yellow)

Tips & Best Practices

Data Preparation

  1. Match column order – Reorder your spreadsheet columns to match the import tool
  2. No headers – Don’t include column headers when pasting
  3. Use External IDs – Assign your own identifiers for easier updates later
  4. Date format – Always use YYYY-MM-DD (ISO format)
  5. Dropdown values – Check valid options before importing

Import Order

When setting up from scratch, import in this order:

  1. Stadiums (optional)
  2. Clubs
  3. Players
  4. Staff, Referees
  5. Create competitions manually (assign clubs to groups)
  6. Games (insert)
  7. Lineups, Goals, Cards, Substitutes

Handling Errors

ErrorCauseSolution
“Name is required”Missing entity nameAdd name to required column
“ID or External ID required”Update mode needs identifierAdd ID column or switch to Insert
“Club ID required”Missing team referenceAdd Club ID column
Invalid dropdown valueValue not in listCheck valid options (orange highlight)

Keyboard Shortcuts

KeyAction
Tab / Shift+TabNavigate between cells
Arrow keysMove around grid
EnterStart editing current cell
Type any characterStart editing with that character
EscCancel editing
Ctrl+VPaste data