🎯 Need Help?

Get Premium Support

Priority assistance from the developer

⬆️ Upgrade

Unlock all features

More from ANWP

Sports Leagues Premium

Multi-sport league management with advanced statistics

Learn more →

AnWP SL Theme Kit

Starter themes & block patterns for Sports Leagues

Learn more →

Data Import Tool


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
Data Import Tool main interface showing the spreadsheet-style import grid

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:

Mode Purpose Required Field
Insert Create new records Name field
Update Modify existing records ID or External ID

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

Mode Purpose
Replace Clear existing data for the match, then import new
Append Add 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
Column configuration dialog showing drag-and-drop reordering and visibility toggles

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.

Importing games doesn’t rebuild standing tables. Affected tables are flagged instead, and a Recalculate now bar appears at the top of this page – one click updates them all, one table at a time, so a 380-match league doesn’t time out. Flagged tables also carry a Needs recalculation mark on the Standing Tables list, which has a Recalculate bulk action. Tables you fill in manually are never flagged.

Import Types Reference

Entity Imports (Insert/Update)

Players

Column Required Notes
Player Name Insert Display name
Short Name No Abbreviated name
Full Name No Legal/official name
Position No Dropdown: Goalkeeper, Defender, Midfielder, Forward
Current Club No Dropdown of existing clubs
Date of Birth No Format: YYYY-MM-DD
Nationality No Dropdown of countries
Height (cm) No Numeric
Weight (kg) No Numeric
Player ID Update Internal WordPress ID
Player External ID Both Your custom identifier
Custom Fields No cf__fieldname format

Clubs

Column Required Notes
Club Title Insert Team name
Abbreviation No Short code (e.g., MUN, LIV)
City No Home city
Country No Dropdown of countries
National Team No yes/no
Club ID Update Internal WordPress ID
Club External ID Both Your custom identifier

Stadiums

Column Required Notes
Stadium Title Insert Venue name
City No Location city
Address No Full address
Capacity No Number of seats
Surface No Grass, Artificial, etc.
Opened No Year opened
Stadium ID Update Internal WordPress ID
Stadium External ID Both Your custom identifier

Staff

Column Required Notes
Staff Name Insert Full name
Job Title No Coach, Manager, etc.
Current Club No Dropdown of existing clubs
Date of Birth No Format: YYYY-MM-DD
Nationality No Dropdown of countries
Staff ID Update Internal WordPress ID
Staff External ID Both Your custom identifier

Referees

Column Required Notes
Referee Name Insert Full name
Job Title No Main referee, Assistant, etc.
Date of Birth No Format: YYYY-MM-DD
Nationality No Dropdown of countries
Referee ID Update Internal WordPress ID
Referee External ID Both Your custom identifier

Match Imports

Games (Insert)

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

Column Required Notes
Competition ID Yes ID of target competition
Round ID Yes Round number in competition
Club Home ID Yes Home team ID
Club Away ID Yes Away team ID
Kickoff No Format: YYYY-MM-DD HH:MM
Finished No yes/no
home_goals No Final score (home)
away_goals No Final score (away)
Matchweek No Matchweek number
Stadium ID No Venue ID
Attendance No Number of spectators
Referee ID No Main referee ID
Match External ID No Your 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.

Column Required Notes
Match ID One required Internal WordPress ID
Match External ID One required Your custom identifier
Kickoff No Format: YYYY-MM-DD HH:MM
Finished No yes/no
home_goals No Update final score
away_goals No Update final score

Match Event Imports

Important

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

Lineups

Column Required Notes
Match ID Yes* Match identifier
Player ID Yes* Player identifier
Club ID Yes* Player’s team in this match
Starting XI No yes/no (starter or substitute)
Number No Jersey number for this match
Is Captain No yes/no

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

Goals

Column Required Notes
Match ID Yes* Match identifier
Player ID Yes* Goalscorer identifier
Club ID Yes* Scoring team
Minute No Goal minute
Minute Additional No Stoppage time
Own Goal No yes/no
From Penalty No yes/no
Assistant ID No Assist provider

Substitutes

Column Required Notes
Match ID Yes* Match identifier
Player ID Yes* Player coming IN
Player Out ID Yes* Player going OUT
Club ID Yes* Team making substitution
Minute No Substitution minute
Minute Additional No Stoppage time

Cards

Column Required Notes
Match ID Yes* Match identifier
Player ID Yes* Player receiving card
Club ID Yes* Player’s team
Minute No Card minute
Card Type Yes y (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

Error Cause Solution
“Name is required” Missing entity name Add name to required column
“ID or External ID required” Update mode needs identifier Add ID column or switch to Insert
“Club ID required” Missing team reference Add Club ID column
Invalid dropdown value Value not in list Check valid options (orange highlight)

Keyboard Shortcuts

Key Action
Tab / Shift+Tab Navigate between cells
Arrow keys Move around grid
Enter Start editing current cell
Type any character Start editing with that character
Esc Cancel editing
Ctrl+V Paste data