RosterRoyalties
RosterRoyaltiesDocs

CSV Upload

CSV upload is the primary data input step in RosterRoyalties. Before you can generate statements, you need to load your royalty data — the CSV import is how you do that at scale. Each row represents one track–artist pairing with a royalty amount and split percentage. Once uploaded, this data is immediately available to the statement generator.

Template CSV

A real-world example with all supported columns pre-filled. Use it as a reference or reformat your DSP export to match.

Download template

Workflow order matters

The correct order is: 1. Configure splits 2. Upload CSV3. Generate statements. Statements are calculated directly from the track split records created by this import. If you generate a statement before uploading your CSV data, the statement will have no breakdown line items.

No auto-detection of DSP formats

RosterRoyalties does not auto-detect Spotify, DistroKid, TuneCore, or other DSP export formats. You take your DSP royalty report, map the relevant columns to the format below, and save it as a single CSV. This gives you full control over which data goes into each statement.

What CSV upload does

Each CSV row creates one track split record — a track–artist pairing with a royalty amount and split percentage. RosterRoyalties multiplies each row's royalty amount by the split percentage to produce the artist's net share per track. These records drive the statement breakdown: every line item on a statement PDF maps directly to a row in your uploaded CSV. Duplicate rows (same artist and track) overwrite the previous record rather than creating duplicates.

The upload process

  1. Go to Track Splits in the Host Tools sidebar.
  2. Click Import Track Splits from CSV.
  3. Select or drag your .csv file.
  4. RosterRoyalties processes the file immediately. Valid rows are imported; rows with missing required fields are skipped and listed on screen with the reason.

There is no preview step before import — rows are committed as soon as the upload runs. After upload, check a few rows in the Track Splits table to confirm the correct percentages were applied before generating any statements.

Required columns

Accepted namesDescription
title, track title, song titleName of the track
artist, artist nameArtist name as it appears in RosterRoyalties
royalty, royalty (£)Gross royalty amount — plain number, no currency symbols
split_percentageArtist's share as a percentage (0–100)

Optional columns

ColumnDescription
isrcStrongly recommended. Improves track matching accuracy across DSPs
upcRecommended for releases. Universal Product Code — identifies the album/release
unitsStream or download count
storeDSP or platform name (e.g. Spotify, Apple Music)
territoryCountry or region code (e.g. US, GB)

ISRC & UPC

Including isrc and upc is strongly encouraged. They serve two purposes:

  • Track matching — prevents duplicate records when the same track appears across multiple DSPs or upload batches
  • Statement breakdown — ISRC and UPC appear on each PDF line item, giving artists and rights holders an auditable record that maps to industry databases
If your DSP royalty export includes ISRC or UPC columns, map them directly — do not strip them out. RosterRoyalties will use them automatically.

Preparing your file

  • Save as .csv with UTF-8 encoding
  • First row must be a header row with the column names above
  • Column names are case-insensitive — Title and title both work
  • Royalty amounts must be plain numbers — use 150.00 not £150.00
  • split_percentage must be between 0 and 100 — rows outside this range are skipped
  • Rows missing title or artist are skipped
  • Artist names must match exactly what is in RosterRoyalties — spelling and spaces must match

See Bulk Import & Troubleshooting for running large imports and resolving common errors.