RosterRoyalties
RosterRoyaltiesDocs

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

  1. Go to Track Splits in the Host Tools sidebar.
  2. Click Import Track Splits from CSV.
  3. Select or drag and drop your prepared .csv file.
  4. 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

ProblemLikely causeFix
Row skipped — missing titleColumn header missing or named differentlyUse title, track title, or song title
Row skipped — missing artistEmpty cells or column named differentlyUse artist or artist name; ensure no empty cells
Row skipped — invalid split_percentageValue outside 0–100 or non-numeric charactersUse a plain number between 0 and 100
Row skipped — invalid royalty amountCurrency symbol included or cell is emptyRemove symbols — use 150.00 not £150.00
All rows skippedHeader row missing or column names unrecognisedCheck your header row against the required columns
Artist names not matchingName in CSV differs from name in RosterRoyaltiesArtist 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.

After importing, generate a statement for one artist and check the breakdown to confirm the correct split percentages were applied before running statements for your full roster. Then use Statements → Bulk Upload to process everyone at once.