Skip to content

White label means structure, not skin.

The operating system that powers music distribution companies. Three distributors running on it should feel like three different companies, not one product wearing three logos.

MMeridian Search or run a command⌘K AM

The Bridge

Meridian Audio Network · Tuesday, 16 September
01

Decisions

3 need you
RELEASE
Sample release
Rejected at QC check. Artwork is not sRGB.
Fix
REVIEW
Sample item
A sample item is waiting for your review.
Open
TAKEDOWN
Sample bootleg
Detected on 3 stores. Evidence ready.
Issue
02

Operations

pipeline · live
Draft
3
Validating
2
Scheduled
2
Delivering
1
Live
312,480
03

Money

sample
Metric
sample
Metric
sample
Metric
sample
Metric
sample

Metrics

90d
sample

Top platforms

Spotify48%
Apple26%
YouTube17%
Deezer9%

What the system actually speaks

  • DDEX ERNpackaged per delivery
  • DDEX DSRingested in batches
  • ISRC12 char, validated
  • UPC · GS1check digit enforced
  • ISO‑4217154 codes, exponent 0/2/3
  • SHA‑256input freeze fingerprints
  • RFC‑4180quoted, formula neutral
  • Basis pointssplits total exactly 10000

Three decisions the rest of the system inherits.

01

One accent, every surface

Same accent in all four. Only the neutral ladder flips.

“One accent, used sparingly. It propagates to every surface and portal.” The accent is declared once and is not redeclared in dark mode · identity is mode independent by construction. A stored accent is accepted only if it matches /^#[0‑9a‑fA‑F]{6}$/, because the value is inlined into a style attribute.

02

Append only, never edited

  • original ST‑4F2A19C0D3B7 +64.20
  • reversal exact negation −64.20
  • payout PO‑9C11E7A4F206 −64.20
  • conserved re-read from the aggregate 0.00

Debits and credits balance on every posting. After every insert the command re-reads an independent aggregate and throws MONEY_POSTING_ENTRY_SUM_MISMATCH if the sum or the count moved. The application role holds SELECT and INSERT only.

03

Fails closed

  • Handoff accepted
  • Adapter temporary
  • Adapter timeout
  • Channel not contracted

terminal · no automatic retry

The production registry resolves one adapter per channel, and a channel the tenant does not hold refuses by name with a terminal code rather than fabricating a delivery. Acceptance requires a provider status evidence row, enforced by a database trigger, so no operator and no code path asserts acceptance without provider evidence. A succeeded target is a handoff, never a claim that the release is public.

Studio is the product, not a theme picker.

Ten panels compose one tenant: identity, navigation model, component language, page composition, module visibility, branded portals, the sign in door, vocabulary, outbound routing and inbound sources. Writes are manual. The environment walks Draft to Staging to Live, and every version stays restorable.

Studio composition environment MMeridian SSubstrate Draft Staging Live Save draft Publish to Staging
Desktop Mobile Artist portal Previewing The Bridge Sample data
MMeridian Search or run a command⌘K AM

The Bridge

Meridian Audio Network · Tuesday, 16 September
01

Decisions

3 need you
RELEASE
Sample release
Rejected at QC check. Artwork is not sRGB.
Fix
REVIEW
Sample item
A sample item is waiting for your review.
Open
TAKEDOWN
Sample bootleg
Detected on 3 stores. Evidence ready.
Issue
02

Operations

pipeline · live
Draft
3
Validating
2
Scheduled
2
Delivering
1
Live
312,480
03

Money

sample
Metric
sample
Metric
sample
Metric
sample
Metric
sample

Metrics

90d
sample

Top platforms

Spotify48%
Apple26%
YouTube17%
Deezer9%

Two state machines, kept apart on purpose.

The editorial lifecycle is what a catalogue shows. The distribution lifecycle is what a provider does. They never write to each other, so a release status is never mutated to “live” by a delivery result.

Release builder · 7 steps

  1. Info
  2. Tracks
  3. Artists
  4. Media
  5. Contract
  6. Distribution
  7. Review

Editorial lifecycle

  1. Draft
  2. Under review
  3. Approved
  4. Rejected

Distribution plan

  1. Not started
  2. Queued
  3. Processing
  4. Partially delivered
  5. Delivered
  6. Failed
  7. Cancelled

Submission gate

One validator, seven rule modules in fixed order: release, tracks, artists, credits, contract, targets, media. Only error severity blocks.

Media

Format is read from magic bytes, not the filename or the MIME type. PNG IHDR and JPEG SOF for dimensions, WAV and FLAC headers for sample rate, channels, bit depth and duration.

Retry

Five attempts per target, backoff from 60s to a 3600s cap. Idempotency key dist:{plan}:{target}:{attempt}.

Takedown

Two people, and it contacts nobody. One operator requests, a different operator records an externally confirmed reference. LabelLedger queues the work; it does not call a provider.

Money Statements Period 2026‑05 · locked
Statement lines with exact minor unit arithmetic
Reference Payee State Amount
ST‑4F2A19C0D3B7 Sample Artist Posted 12 480.55
ST‑7B03D8E1449A Demo Artist Awaiting approval 64.20
ST‑19FE6C22A5D0 Example Act Reversal pending −12.34

Money is a journal, not a spreadsheet.

Every posting carries both legs. No balance is ambiguous, and a period locks the moment its statement is issued, so no period is silently rewritten afterwards. Corrections are reversal inserts, never edits. Every amount is stored in minor units carrying its own currency code, and an FX conversion records the rate used at statement time.

  • You cannot approve a statement or payout you created or submitted.
  • Only the workspace owner overrides, with a reason, audited at high severity.
  • Splits allocate by basis points and must total exactly 10000, remainder distributed.
  • Payouts authorize and export an instruction. LabelLedger never moves money.
  • Recoupment is recovered from the artist share only, and cross collateralization pools it across that artist's projects per contract terms.
  • An unrecouped advance is non refundable. The ledger carries the negative balance forward and never creates a receivable against the artist.

Read the period rules

Two analytics products that never merge.

Royalty Analytics is authoritative and always scoped to exactly one currency, and never converts to produce a total. Daily Stats is provisional consumption activity where views, reported events, downloads and discovery events are separate axes that are never summed. A platform counting Views is never ranked against a platform counting Streams.

When no prior window exists the surface prints “no prior data” rather than a fabricated zero percent. When two platforms disagree on a denominator they are shown side by side, and the incompatibility travels with the data so it cannot be quietly dropped.

Streams over time

1.0M 750k 500k 250k 0 Apr 18 Apr 20 Apr 22 Apr 24 Apr 26 Apr 28 Apr 30

One brand, three doors, no shared membership.

Portal accounts hold no workspace membership at all. Authorization is purely relational, discovered from the caller's own active account links and executed in a context that deliberately never sets the operator tenant variable, so the isolation policies stay closed.

M

Operator

Distributor staff, into The Bridge. Sidebar shell plus the command palette, both built from the same server resolved navigation.

Tenant branded

M

Portal

Artists and labels, into their own scope. Same tables and the same read models as the operator, never a reduced summary, never a figure combined across workspaces or currencies.

Tenant branded

Super Admin

LabelLedger staff, across all tenants. A separate door that is always LabelLedger branded and suppresses the tenant name line.

Never tenant branded

Pricing, with the arithmetic visible.

Choose the catalogue capacity. Then add the fee for the service model used on each DSP. Platform and service fees are separate and cumulative. Artist and label portals are unlimited on every package.

Platform subscription + applicable service fee + agreed implementation or excess capacity + taxes and third-party charges

Platform Monthly subscription
Monthly LabelLedger platform packages
Package Active tracks Admin seats Per month
Studio Core5,0005€499
Studio Growth20,00015€999
Studio Scale50,00030€1,999
Studio EnterpriseCustomCustom / unlimited€4,999+
Service fees By package
Distribution and processing fees by platform package
Service model Core Growth Scale Enterprise
Forward managed network8%7%6%5%
Partner direct DSP agreements3%2.5%2%1.5%

Forward managed network

Release ownership stays with your team: you prepare the content and complete first-pass QC. The service provides access to Forward’s contracted DSP routes and delivery pipeline, with an additional LabelLedger validation layer, delivery of updates and takedowns, report ingestion and royalty processing. Availability remains subject to content approval, DSP policies, channel availability and the final agreement.

Partner direct DSP agreements

Available per DSP after agreed onboarding and validation. Includes route setup, test delivery, supported report import, royalty processing and delivery-status tracking; it is not automatic for every direct agreement.

Active Track means one unique sound-recording record retained in the active catalogue during the billing month, regardless of generated delivery formats or previews. Operator / Admin Seats apply only to internal back-office users.

Percentage fees are calculated on Net Digital Receipts attributable to partner content. Both service models may coexist by DSP when contractually and technically approved. Deductions, reporting and reconciliation are defined in the final agreement.

24 months

Initial service term from the Service Commencement Date.

12 months

Each automatic renewal period.

90 days

Written notice required for non-renewal.

3 months

Maximum early termination charge on the platform subscription; other accrued fees remain payable.

The final service agreement defines implementation scope, supported DSP connections, responsibilities and acceptance criteria.

Questions we get asked.

Mostly about what the system refuses to do. Those answers are the short ones.

What is a white-label music distribution operating system?

Software a distribution company runs its own business on, then delivers to its own labels and artists under its own brand and domain. The distributor keeps the client relationship, the catalogue, the contracts and the payouts. LabelLedger is built for distribution companies, never for individual artists. Every record belongs to a tenant, isolation is enforced by Postgres row level security rather than by application code, and the tenant's artists and labels arrive through portals carrying the tenant's brand. It is infrastructure. It never competes with its own customers.

Does white label just mean our logo and our colours?

No. Brand tokens are one of ten Studio panels. The other nine set the navigation model, the component language, page composition, which modules exist, the artist and label portals, the sign in door, the tenant vocabulary, outbound connections and inbound sources. Configuration is data, not code. It is versioned through Draft, Staging and Live, and every published version stays restorable with one click. The test is structural, not visual: three distributors running on LabelLedger operate products that feel like three different companies, on one codebase, with no per tenant fork.

How should a distributor compare white-label platforms?

Ask every vendor to put two of its own tenants side by side, then ask which differences are stored configuration and which required a code change or a separate fork. That one question separates a configurable operating system from a theme layer. Ask a second one about money: what happens to a statement line that turns out to be wrong after the statement is issued. In LabelLedger the period locks when the statement is issued, and the correction is a reversal insert. Nothing is edited and nothing is deleted.

Can a distributor run its entire company on LabelLedger?

Yes. One system covers the decision queue, catalog, release building, validation, delivery, money, roster, contracts, analytics, reach, protection, portals and settings, under one permission model and one audit log that records every state changing action with actor, action, entity, before and after. Storage, delivery pipeline and DSP contracts are swappable bindings, so a distributor runs on LabelLedger's infrastructure or its own. What LabelLedger does not do is deliver on its own authority: it prepares the release, records the provider handoff, authorises the payout, and never reports a release public or a payment settled without external evidence.

Who is LabelLedger not for?

Artists and record labels. LabelLedger is sold to the company that distributes them, and an artist reaches it only through that company's portal, where the account holds no workspace membership at all. It is also not for a buyer who wants a storefront live in a week without deciding anything. The tenant chooses its navigation model, its modules, its vocabulary, its portals and its infrastructure, and those decisions are the product. LabelLedger is not a distributor and never competes with its own customers.

What does LabelLedger cost?

Two things, added together. The platform subscription starts at €499 a month for 5,000 active tracks and 5 admin seats, runs to €1,999 for 50,000 tracks and 30 seats, and continues into a custom enterprise tier. On top sits a service fee on net digital receipts: 8 percent falling to 5 percent by package on the Forward managed network, or 3 percent falling to 1.5 percent on partner direct DSP agreements. Artist and label portals are unlimited on every package. The initial term is 24 months, renewing every 12.

How does a release reach the stores?

Through a delivery channel chosen per store. Each store is routed through LabelLedger's own pipeline relationship, through a collective channel, or through the tenant's own direct deal, so one release can ship to three stores on three different channels. The release is validated, packaged as DDEX ERN, and handed off. Acceptance requires a provider status evidence row, enforced by a database trigger. A target that succeeds records a handoff. It is never a claim that the release is public.

Can we keep our own storage and delivery pipeline?

Yes. Storage is either first party or your own bucket on S3, R2, GCS, Backblaze or MinIO, and DSP routing is set per store. If your storage fails, the system falls back to first party automatically rather than dropping the delivery.

How do you handle more than one currency?

By refusing to mix them. Analytics is always scoped to exactly one currency and no conversion is ever applied. If your statements report in several, the screen says so and asks you to pick one instead of showing a total that would be wrong. 154 ISO 4217 codes are supported, with 0, 2 and 3 decimal exponents.

Can somebody approve their own payout?

No. Whoever created or submitted a statement or a payout cannot approve it. Only the workspace owner can override that, only with a written reason, and the override is audited at high severity.

Does LabelLedger move money?

No. It authorises a payout, exports a payment instruction as CSV, and records the settlement once an operator confirms it happened outside the system, with an external reference that cannot be recorded twice.

How much can a tenant really change?

Identity, navigation model, component language, page composition, module visibility, portals, the login door, vocabulary, and both outbound and inbound connections. What it cannot do is grant itself anything: navigation is resolved server side from permissions, and a stored config can only hide a module, never surface one.

Can an artist see another artist's numbers?

There is no path to it. Portal accounts hold no workspace membership at all. Authorisation is relational, discovered from that account's own links, and runs in a context that never sets the operator tenant variable, so the isolation policies stay closed.

Who builds it

Built and run by Forward Digital.

LabelLedger is a Forward Digital product, alongside Authio. Forward Digital works in music distribution infrastructure, so the same people who ship distribution software build LabelLedger. That is why the product is opinionated exactly where things break in production: money is an append-only double-entry ledger, delivery fails closed, and no one approves their own work.

For a walkthrough, security details, or the data-handling and tenant-isolation model, write to hello@fwdmusic.com.

Book a demo

See a tenant composed end to end.

Thirty minutes: compose a tenant in Studio, publish it to staging, then walk one release from draft to a delivery handoff and one statement from import to payout instruction.

Book a demo

30 minutes · compose a tenant, then walk one release and one statement

Enter a work email so we know where to reply.

Tell us who you are.

Include the full address, starting with https://

Catalog size
Pick the band closest to your catalog.
Monthly revenue
Pick the band closest to your monthly revenue.

A sentence or two, so the call is about your case and not a tour.