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.
ℹ Workflow order matters
The correct order is: 1. Configure splits → 2. Upload CSV → 3. 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
- Go to Track Splits in the Host Tools sidebar.
- Click Import Track Splits from CSV.
- Select or drag your
.csvfile. - 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 names | Description |
|---|---|
title, track title, song title | Name of the track |
artist, artist name | Artist name as it appears in RosterRoyalties |
royalty, royalty (£) | Gross royalty amount — plain number, no currency symbols |
split_percentage | Artist's share as a percentage (0–100) |
Optional columns
| Column | Description |
|---|---|
isrc | Strongly recommended. Improves track matching accuracy across DSPs |
upc | Recommended for releases. Universal Product Code — identifies the album/release |
units | Stream or download count |
store | DSP or platform name (e.g. Spotify, Apple Music) |
territory | Country 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
Preparing your file
- Save as
.csvwith UTF-8 encoding - First row must be a header row with the column names above
- Column names are case-insensitive —
Titleandtitleboth work - Royalty amounts must be plain numbers — use
150.00not£150.00 split_percentagemust be between 0 and 100 — rows outside this range are skipped- Rows missing
titleorartistare 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.