Perpendis Royalty tools
Array tools Sign in

Why CD Baby's DDSales export breaks in Excel — and how to convert it cleanly

By Perpendis · Published 16 Aug 2026 · Reviewed 16 Aug 2026

CD Baby's downloadable sales report is a tab-delimited .txt file with doubled line endings, timestamped dates and quantities carried to twelve decimal places — a combination that genuinely trips up a straight Excel import. This page documents the layout column by column, and the free converter turns the file into a clean, reconciled workbook without it ever leaving your browser.

Drop the .txt exactly as CD Baby gave it to you

No re-saving, no find-and-replace on line endings — the parser handles the format's quirks natively, locally in your tab. No account needed to see your results.

Drop your CD Baby DDSales file here — free

The layout: 14 tab-delimited columns

The report is one row per transaction line, with this observed header:

#ColumnWhat it contains
1Report DateDate the row was reported into your CD Baby account, as "MM/DD/YYYY 12:00:00 AM".
2Sales DateDate (or period date) the sale or stream actually occurred at the partner, same timestamped format.
3QuantityUnits for the row — exported with twelve decimal places (a single stream appears as 1.000000000000).
4PricePer-unit price or rate applied to the row.
5SubtotalAmount earned for the row (quantity × price, before your payout balance).
6IsrcTrack ISRC, written "Isrc" in the header exactly as CD Baby exports it.
7BarcodeRelease UPC/EAN.
8CDBabySkuCD Baby's internal SKU for the release or track.
9Album NameRelease title.
10Artist NameArtist on the release.
11Track NameTrack title; may be blank on album-level rows.
12Partner NameThe store or DSP reporting the activity (Spotify, Apple Music, physical partners, …).
13Transaction TypeKind of transaction — stream, download, physical sale, sync and so on.
14Delivery CountryCountry where the sale or stream was delivered.

Source: an open-source CD Baby DDSales parser with a real 92,737-row export — transcribed and checked against the engine's parser on 2026-08-16. CD Baby publishes no official column documentation for this export, so the header above is taken from a real file rather than a vendor spec.

Why this file breaks Excel

If you have landed here after a mangled import, the file is not corrupt — it is just hostile to spreadsheet defaults in three specific ways:

Doubled line endings (\r\r\n)

Each record ends with a carriage return, then another carriage return and line feed. Naive importers read the stray \r as an extra line break, so you get a blank row after every real row — or worse, cells shunted into the wrong columns. The converter normalises the endings before splitting rows, so every record lands intact.

Quantities with twelve decimal places

A quantity of one stream arrives as 1.000000000000. Excel parses it as floating point, displays it unpredictably, and any SUM over thousands of such values invites rounding drift. The converter reads quantities and amounts as exact decimals and sums them in decimal arithmetic.

Timestamped dates and giant barcodes

Dates arrive as "MM/DD/YYYY 12:00:00 AM" — a US-format text timestamp Excel may parse inconsistently depending on your locale — and 12–13-digit barcodes get flattened into scientific notation (1.93483E+12), destroying the UPC. The converter parses dates explicitly and keeps identifiers as text.

What the converter does with it

Every row is normalised into a common earnings schema — period, partner, territory, track, units, amount — alongside any other distributor statements you drop in the same session. 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, with identifiers preserved as text and totals computed in exact decimal.

What the parser actually saw

Tested on a real 17.8 MB DDSales export: 92,737 rows parsed with zero unreadable amounts. The file uses \r\r\n line endings, 'MM/DD/YYYY 12:00:00 AM' dates and 12-decimal quantities — all three confuse a plain Excel import, which is why people search for this page.

Parsing runs in your browser — files are never uploaded. What the tie-out does and does not prove.

Frequently asked questions

Do I need to fix the line endings first?

No — drop the .txt exactly as downloaded. The \r\r\n endings are recognised and normalised automatically; re-saving the file through a text editor first can actually change its encoding and is best avoided.

Related pages

CD Baby’s .txt is the most Excel-hostile of the four distributor layouts the engine reads natively. The other three are documented here:

Background reading: how to read a royalty statement — or go straight to the converter, which takes the file exactly as CD Baby exported it.

Ready when you are

Drop your CD Baby report — and any other distributor statements — into the free converter. Everything is parsed locally; nothing is uploaded.

Convert your statement now — free