Perpendis Royalty tools
Array tools Sign in

Combine music royalty statements into one Excel earnings tape — free, and your files never leave your browser

Drop statements from DistroKid, TuneCore, CD Baby, Symphonic, ASCAP, the MLC or a publisher export — as many files as you like, zip archives welcome. The engine detects each format, normalizes every line into one dataset, and checks that the rows it extracted sum to each statement's own totals to the cent. Parsing runs in this tab: nothing is uploaded, and no account is needed to see your results.

Drop statements here — or click to choose files
CSV, TSV, TXT or ZIP · multiple files welcome · parsed locally in your browser

No statements handy? — the samples are synthetic, generated to each vendor's documented layout; they are not anyone's real earnings.

Waiting for statements

What the tie-out does — and does not — prove

It proves the extraction, not the source. A statement is TIED when the rows this engine extracted sum to the totals printed on the statement itself, within $0.01. That verifies nothing was lost or double-counted in parsing. It cannot prove the distributor or society reported your royalties correctly in the first place.

Most machine exports carry no printed totals — DistroKid TSVs and TuneCore CSVs, for example, are raw line dumps. Those statements show as SELF-CONSISTENT: internal checks passed, but there was no stated total to reconcile against. That is normal, not a defect.

Unknown formats get a best-guess mapping. If no known layout matches, the engine maps columns by header vocabulary and labels the result generic — check the mapping note it reports before trusting the numbers. Unreadable amounts are skipped and counted as warnings, never silently written as zero.

Your files never leave this page. Parsing, aggregation and workbook generation all run in WebAssembly inside this tab. You can disconnect from the internet after the page loads and everything still works. Saved history stores summary numbers only.

Supported formats

Built to each vendor's own published layout, with the column dictionaries documented on every format page:

Anything else falls back to the generic mapper. Reading matter: how to read a royalty statement · the earnings-tape format · preparing data for a catalog sale.

How it works

1 · Drop

Statements or zips from any mix of sources and periods. Format detection is per file, by header fingerprint.

2 · Verify

Every statement is tied out: extracted rows must sum to its printed totals to the cent, or the discrepancy is shown.

3 · Take it with you

One normalized dataset and a six-sheet Excel earnings tape — yours, not locked in an account.

Need more than a free tool?

If you are preparing a catalog for sale, running diligence on one, or drowning in a back-office statement backlog, that is exactly the custom work we do — messy label PDFs, foreign-society files and legacy formats included, delivered under NDA with a tie-out report on every statement.

Talk to us about custom work