Bulk Import & Troubleshooting
Bulk CSV import is the standard way to load royalty data into RosterRoyalties. One CSV file feeds track split records for your entire roster — these records are what the statement generator reads to calculate each artist's net payable amount. Getting the import right means statements generate accurately and automatically.
ℹ This step comes before statements
Every statement line item maps directly to a row in your uploaded CSV. Complete this import before navigating to Statements to generate. If you skip this step, statements will generate with no breakdown and no figures.How bulk import works
Each row in your CSV becomes one track split record — a track–artist pairing with a royalty amount and split percentage. RosterRoyalties multiplies the royalty amount by the split percentage to produce the artist's net share per track. Upload once per statement period; duplicate rows (same artist and track title) overwrite the previous record rather than creating duplicates.
Once the import runs, switch directly to Statements → Bulk Upload to generate and approve statements for your full roster in one workflow. See the interactive guide on the Statements page.
Running an import
- Go to Track Splits in the Host Tools sidebar.
- Click Import Track Splits from CSV.
- Select or drag and drop your prepared
.csvfile. - RosterRoyalties validates and processes the file immediately. Valid rows are imported; rows with missing required fields are skipped and listed on screen with the reason.
⚠ No preview before import
Rows are committed as soon as you confirm the upload — there is no draft or preview step. Test with a small file or a single artist first before running your full catalogue.Multi-currency uploads
When uploading a CSV, you can now select the currency your royalty data is denominated in. This is useful when your DSP exports data in a currency other than your account's base currency — for example, a USD Spotify export when your account is set to GBP.
On the import screen, select the currency of the file from the File currency dropdown before confirming the upload. RosterRoyalties applies the conversion to every row at upload time, storing the converted amount in your account base currency. Previously, all CSV uploads were assumed to be in your base currency.
ℹ One currency per file
The currency selector applies to the entire CSV — it is not a per-row setting. If your royalty data spans multiple source currencies, export a separate CSV for each currency and run them as separate imports.→ Exchange rates
The exchange rate is applied at upload time and locked to the imported record. Re-uploading the same file on a different date will use the rate current at that time, which may produce different converted amounts.What happens on upload
After upload, RosterRoyalties displays a summary of rows processed and rows skipped. Skipped rows are listed inline with the reason — there is no downloadable error log. Successfully imported splits appear immediately in the Track Splits table.
There is no multi-file batch queue. Upload one CSV per import session. For multiple catalogue periods, prepare one CSV per period and run them sequentially.
Common errors and fixes
| Problem | Likely cause | Fix |
|---|---|---|
Row skipped — missing title | Column header missing or named differently | Use title, track title, or song title |
Row skipped — missing artist | Empty cells or column named differently | Use artist or artist name; ensure no empty cells |
Row skipped — invalid split_percentage | Value outside 0–100 or non-numeric characters | Use a plain number between 0 and 100 |
| Row skipped — invalid royalty amount | Currency symbol included or cell is empty | Remove symbols — use 150.00 not £150.00 |
| All rows skipped | Header row missing or column names unrecognised | Check your header row against the required columns |
| Artist names not matching | Name in CSV differs from name in RosterRoyalties | Artist names must match exactly — spelling and spacing must be identical |
After an import
Once the import summary disappears there is no persistent history log. To verify what was imported, go to the Track Splits table and filter by artist or track name. To fix errors, correct your CSV and re-upload — valid rows overwrite existing records.