How to format XLSX and CSV import files, including required fields, optional fields, and common spreadsheet mistakes.
Choose XLSX or CSV
The import supports two formats. Choose the one that best matches how your source data is organised.
XLSX workbook
Best when you can manage separate sheets for Members, Tournaments, and Players.
CSV flat file
Best when each row represents one tournament player entry and the tournament fields repeat on every row.
Required tournament fields
Every tournament must include these fields:
- tournament_key - a stable key used by player rows to attach to the tournament.
- name - the tournament name.
- start_time - the tournament start date and time. ISO timestamps are safest.
- buy_in_cost - the buy-in amount.
- starting_stack - the starting chip stack.
- places_paid - how many positions are paid.
Common optional tournament fields
- location - where the tournament is played.
- tournament_type - for example,
REBUY.
- rebuy_cost and rebuy_stack - optional rebuy details.
- add_on_cost and add_on_stack - optional add-on details.
- total_prize_override - fixed prize pool override.
- exclude_from_league_stats - use
true or false.
- tournament_started_at and tournament_ended_at - useful for historical results.
The import template does not include player caps, blind structures, or maximum rebuy/add-on settings. Those are live tournament setup controls and are not required to preserve historical results. For historical imports, tournament-level max rebuy/add-on values are derived from the largest imported rebuy_count and addon_count so result tables can still display those columns correctly.
Required player fields
Every player row needs a tournament_key and at least one player identifier:
- club_member_id - most reliable when you already know the club member id.
- player_email - safest for matching existing members and platform users.
- player_name - useful, but may need manual review if names are similar.
Historical result fields
Use these fields when the tournament has already been played:
- position - final place. Position
1 becomes the winner.
- rebuy_count and addon_count - player-level totals.
- prize - final amount paid to that player.
- knocked_out_by_email or knocked_out_by_name - optional knockout reference. The value must match another checked player in the same imported tournament.
- knocked_out_level - optional blind level where the player was knocked out.
CSV-specific rules
In a CSV import, each row is one tournament player. If five players are in the same tournament, the CSV has five rows with the same tournament_key.
Tournament fields can repeat on those rows, but they must match. If one row says the tournament starts at 7:00 and another row with the same key says 7:30, the review step will show a validation error.
Tips for clean imports
- Use stable tournament keys like
season-2026-event-01.
- Prefer email addresses over names when possible.
- Keep one person's name and email consistent across the file.
- Leave position blank for future registration-only tournaments.
- Include position and prize for completed historical tournaments.