Perpendis Royalty tools
Array tools Sign in

Convert Symphonic Royalty Reports (Earnings CSV) to Excel — Free & Private

Symphonic Distribution compiles every partner's report into one standardised monthly "Earnings Detail" CSV — 19 columns covering everything from streaming to UGC and neighbouring rights, with void rows carrying negative counts. This page documents the full layout, and the free converter turns the export into a clean, reconciled Excel workbook without it ever leaving your browser.

Drop your Earnings Detail export straight in

One month or many, alone or mixed with other distributors — format detection is automatic and parsing runs locally in your tab. No account needed to see results.

Convert your statement now — free

Where to find the file in SymphonicMS

In the SymphonicMS, open your earnings and use the option to export the raw data — the download is the Earnings Detail CSV. Reporting is monthly, with all partner reports compiled into the same standardised layout per reporting period. Amounts are in USD, already net of your account's distribution rate, and before any SplitShare transfers to payees.

The 19-column layout, documented

#ColumnWhat it contains
1Reporting PeriodMonthly period the report corresponds to.
2LabelLabel name(s) used to distribute; the artist name on artist accounts.
3Release NameProduct name — Single, EP or album.
4Release VersionVersion name of the release, if any.
5Release ArtistsPrimary artist of the release (no remixers or features).
6UPC CodeRelease product identifier; unmatched rows still earn.
7CatalogueCatalogue number, when the partner reports one.
8Track TitleSong, video or asset title.
9Mix Versione.g. "Original Mix", or the remixer's version.
10ISRC CodeTrack identifier; unmatched rows still earn.
11Track ArtistPrimary artist of the track.
12Digital Service ProviderPartner the royalty came from.
13Activity PeriodMonth the stream, download or view occurred; quarterly partners show the quarter-end date (2025-Q1 → March 31, 2025).
14TerritoryThree-letter territory code of the activity.
15DeliveryConsumption form: Download, Streaming, UGC, Webcasting, …
16Content TypeSingle, Release, Ringtone, Music Video, User Generated Content, Neighboring Rights, STEM Distribution, Art Track, Mechanicals, …
17Sale or VoidSale = download, stream or play; Void = return or fraudulent-transaction deduction.
18CountReported unit count; 1 is substituted when a partner doesn't report one; can be NEGATIVE on voids; album downloads are split evenly across tracks.
19Royalty ($US)USD royalty, net of your distribution rate, before SplitShare.

Sale, Void and other quirks worth knowing

Void rows are negative on purpose — returns and fraudulent-transaction deductions arrive with negative counts (and royalties), and they belong in your totals. The converter keeps the sign rather than filtering them out, so your summary reflects what you were actually paid. Also expect: frequent "N/A" or blank cells where a partner did not provide full detail; on historical reports (2020 and earlier), "Balance Forwarded From Previous…" rows — usually in the Digital Service Provider column — which are balance carry-overs, not sales; and the occasional export whose encoding is slightly malformed. The parser is built to tolerate all three, so you should not need to re-save the file first.

What the converter does with it

Every row is normalised into a common earnings schema — period, DSP, territory, track, units, USD amount — with Sale and Void rows kept as signed values and the Activity Period quarterly convention understood. Amounts are summed in exact decimal arithmetic, and the output is a six-sheet Excel earnings tape (Summary, Tie-Out, By Period, By DSP, Top Tracks, full line items) plus a normalised CSV.

Your file never leaves this page. Parsing runs in WebAssembly inside your browser tab — nothing is uploaded, and you can disconnect from the internet after the page loads.

About the tie-out: statements with printed totals must have their extracted rows sum back to those totals to the cent, or the discrepancy is shown. Symphonic's raw Earnings Detail export carries no printed totals, so it reports as SELF-CONSISTENT — internal checks passed, but there was no stated total to reconcile against. Normal for this format, not a defect.

Frequently asked questions

Is my earnings report uploaded anywhere?

No. The parser is compiled to WebAssembly and runs entirely client-side in this tab. Saved history (if you opt in) stores summary numbers only — never the file itself.

Why do some rows have negative counts?

Those are Void rows — returns or fraud deductions reported by the partner. They are legitimate adjustments and are kept as signed values so your totals net out correctly.

Is the Royalty ($US) figure before or after splits?

It is net of your account's distribution rate but before any SplitShare transfers to payees — so if you split earnings with collaborators, apply those shares downstream.

My CSV looks slightly broken — will it still parse?

Usually, yes. Symphonic exports are known to occasionally ship with encoding oddities, and the parser tolerates them. If a row genuinely cannot be read, it is skipped and counted as a warning — never silently written as zero.

Related pages

Statements from another distributor, or several at once? The same engine handles them all in one session:

New to statement anatomy? Start with how to read a royalty statement.

Ready when you are

Drop your Symphonic Earnings Detail export — and any other distributor statements — into the free converter. Everything is parsed locally; nothing is uploaded.

Convert your statement now — free