Royalty statement reconciliation
undefined undefined undefined.
Localization note
Legal, tax, privacy, rights, royalty, and contract guidance changes by jurisdiction. Treat this article as an editorial starting point, not legal or accounting advice.
For English readers, separate United States, United Kingdom, Canada, Australia, and global-audience assumptions. Do not treat a US workflow as universal.
Quick Answer
Royalty reconciliation means matching what you expected to earn (releases, splits, territories, rates) against what statements paid (distributor, PRO, publisher admin, marketplace), then logging exceptions until they clear. Use one spreadsheet schema, worked monthly rows, and a short exception workflow so missing ISRCs and wrong splits do not disappear into email.
Why Producers Must Reconcile Statements
Streaming and sync money arrives late, split across distributors, collection societies, publishers, and beat marketplaces. If you only watch PayPal deposits, you cannot tell a real decline in streams from a missing ISRC, a wrong split, or a statement you never downloaded.
Reconciliation is not full corporate accounting. It is a producer-scale control: expected lines vs paid lines, every month or quarter, with exceptions that have owners and due dates. The worked numbers below are examples for teaching the method — not forecasts of your catalog.
What You Are Matching
| Source | Typical ID keys | What it pays | Common lag |
|---|---|---|---|
| Distributor (DistroKid, TuneCore, CD Baby, etc.) | ISRC, UPC, store, period | Master/recording-side DSP payouts (per their model) | 1–3 months common |
| PRO / CMO (ASCAP, BMI, PRS, SOCAN…) | Work ID, title, writers | Performance (and sometimes other) composition royalties | Often quarterly+ |
| Publisher / admin | Work ID, society, territory | Publishing share you assigned | Varies by deal |
| Beat marketplace | Order ID, beat title, license type | Lease/exclusive sales | Near real-time to monthly |
| Sync agent / direct invoice | Invoice #, production title | Sync fees / backend if any | Per contract |
| Ad / Content ID (if enrolled) | Asset ID, video ID, period | Claimed revenue share | Platform cycles |
Never merge composition and master cash into one unlabeled bucket. A “missing” PRO payment does not mean the distributor failed — different rights, different pipes.
Spreadsheet Schema (Copy This)
Use three sheets: Catalog, Statements, Exceptions. Keep one workbook per calendar year.
Sheet A — Catalog (one row per monetizable asset)
Columns: asset_id | title | isrc | upc | work_id | asset_type (master/beat/composition) | your_share_pct | co_writers | distributor | pro | release_date | territory_notes | expected_sources (flags) | active (Y/N)
Sheet B — Statements (one row per paid line)
Columns: stmt_id | source (distributor/pro/marketplace/…) | period_start | period_end | received_date | asset_id | isrc_or_work | store_or_society | units_or_plays | gross_amount | fee_or_commission | net_amount | currency | your_share_applied | expected_net | variance | match_status (matched/partial/unmatched) | notes
Sheet C — Exceptions
Columns: exception_id | opened_date | stmt_row_or_asset | type (missing_stmt / wrong_split / unknown_isrc / negative_adj / fx / late) | severity (L/M/H) | owner | status (open/waiting/closed) | next_action | due_date | resolution | closed_date
- variance formula
variance = net_amount - expected_net(same currency). Convert FX in a separate column before comparing. - expected_net sketch For teaching:
expected_net ≈ units * rate_estimate * your_share_pctwhen you have a rate; otherwise mark expected_net blank and only match presence/absence of lines. - match_status rules matched if |variance| ≤ threshold (e.g. $1 or 2%); partial if same asset but gap; unmatched if no catalog row.
Worked Example Rows (Illustrative)
Scenario: Producer P has a 50% writer share on Song S (work_id W-100), ISRC US-XX1-00-00001 on the master, distributed digitally, and a $49 beat lease on the side. Figures are made-up for the tutorial.
| stmt_id | source | period | isrc_or_work | store_or_society | net_amount (USD) | expected_net | variance | match_status |
|---|---|---|---|---|---|---|---|---|
| DK-2026-03-001 | distributor | 2026-01 | US-XX1-00-00001 | Spotify | 42.50 | 40.00 | +2.50 | matched |
| DK-2026-03-002 | distributor | 2026-01 | US-XX1-00-00001 | Apple Music | 18.20 | 19.00 | −0.80 | matched |
| BMI-2026Q1-88 | pro | 2025-Q4 | W-100 | BMI | 0.00 | 25.00 | −25.00 | partial → exception |
| BS-ORD-7781 | marketplace | 2026-03-12 | beat: Neon Nights | BeatStars | 41.65 | 41.65 | 0.00 | matched |
| DK-2026-03-050 | distributor | 2026-01 | US-ZZ9-99-99999 | TikTok | 6.10 | unmatched ISRC |
Reading the example: DSP lines are within tolerance. PRO expected ~$25 for the quarter but paid $0 → open a high-severity exception (registration or society lag). Marketplace lease matches. Unknown ISRC $6.10 needs catalog research — often a wrong upload or a feature you forgot.
| exception_id | type | severity | next_action | due_date |
|---|---|---|---|---|
| EX-014 | missing / zero PRO | H | Verify work registration + writer IPs; ticket society if registered > lookback | 2026-04-15 |
| EX-015 | unknown_isrc | M | Search distributor dashboard for US-ZZ9…; link or blacklist | 2026-04-05 |
Monthly Reconciliation Workflow
- Freeze the period
Pick calendar month M for distributor cash and the overlapping PRO quarter. Do not mix open periods in one pass. - Download all statements
Distributor CSV, PRO PDF/CSV, marketplace payout export, sync invoices. Store in /Royalties/2026/03/raw/. - Import to Statements sheet
One row per line item. Do not pre-sum in your head — sum with pivot tables later. - Join to Catalog
Match ISRC / work_id / order. Unmatched → exception. - Compute variance
Where you have expected_net, flag outside tolerance. Where you do not, check presence and odd zeros. - Work exceptions oldest first
High severity first. Log tickets and email threads in notes — not only in your inbox. - Close the month
Write a 5-line summary: total net by source, open exceptions count, cash received vs statement net (bank timing).
Exception Playbook
- Unknown ISRC / title Search distributor; check features and alternate mix ISRCs; ask collaborator for metadata export.
- Zero PRO on active radio/stream hit Confirm work registered, writer shares, performing party IPs; check if performances fall in unpaid period.
- Wrong split Compare to signed split sheet; if dashboard share differs, file correction with admin/distributor.
- Negative adjustment Read statement notes (returns, fraud, prior overpay). Attach the explanation PDF to the row.
- FX noise Convert with statement FX rate, not your bank’s rate, when comparing expected vs paid.
- Marketplace vs bank Statement net may predate payout batching. Match on payout ID when available.
Common Mistakes
- Reconciling only PayPal Deposits lag and combine sources. Always start from statements.
- Mixing master and publishing Separate pipes prevent false “missing money” panic.
- No catalog sheet Without ISRCs and shares, every month is archaeology.
- Closing exceptions in your head If it is not in the Exceptions sheet, it will return next quarter.
- Treating estimates as invoices expected_net is a control, not a legal receivable, unless a contract says so.
Cadence That Fits a Working Producer
Block 90 minutes on the same day each month after distributor CSVs land. Mid-quarter, spend 30 minutes only on open High exceptions. At year-end, export the workbook PDF for taxes with your accountant — reconciliation is for control; tax treatment depends on your locale and professional advice.
When you onboard a new release, add Catalog rows the same week as ISRC assignment, not when the first statement confuses you. Tie this to clean metadata habits in ISRC and credits checklists and rights docs from beat licensing contracts.
Keep metadata clean so statements are matchable — explore producer business guides on Plugg Supply Learn.
Browse Free DownloadsLearning path
Related answer hubs
Frequently Asked Questions
- What is royalty statement reconciliation?
- Comparing expected earnings from your catalog and splits against lines on distributor, PRO, marketplace, and sync statements, then resolving gaps via a tracked exception list.
- How often should producers reconcile?
- Monthly for distributor/marketplace CSVs; align PRO checks to their payment calendar (often quarterly).
- What spreadsheet sheets do I need?
- At minimum Catalog (assets/IDs/shares), Statements (paid lines), and Exceptions (gaps with owners and due dates).
- Why is an ISRC unmatched?
- Wrong upload metadata, a mix you forgot, a collaborator’s release, or a typo. Research in the distributor dashboard before deleting the cash line.
- Are the dollar amounts in this article real?
- No. They are illustrative teaching rows for variance and exception workflow only.
- Is this tax or legal advice?
- No. Reconciliation is an operational control. Tax reporting and contract disputes need qualified professionals in your jurisdiction.