Skip to main content

Case study · retail

Automated royalty calculation and statements for an IP licensor

How Thoughtwave deployed TWSS AI Royalty to automate royalty calculation and statement generation for an IP licensor — spreadsheet-free, audit-ready.

Eliminated

Spreadsheet errors per cycle

post go-live

Faster

Monthly/quarterly cycle time

ongoing

Out of the box

Audit-ready statements

every cycle

Multiple

Sales feed formats ingested

extensible

Context

An IP licensor running recurring royalty cycles had the same problem the entire category has: a calculation process driven by spreadsheets and email, a growing number of contracts each with idiosyncratic terms, and a month-end close that consumed the full analyst team for most of the first two weeks of every cycle. The firm had grown enough that the spreadsheet approach was past its breaking point — reconciliation errors were showing up in licensee statements, audits were taking weeks to resolve, and the analyst team was near the point where additional contracts could not be onboarded without additional headcount.

The firm had looked at off-the-shelf royalty-management vendors and at ERP add-ons. The vendor tools were expensive, opinionated, and often required the client to bend contract terms to the tool's model. The ERP add-ons handled the calculation in principle but had weak UI for the analyst team and poor reporting for licensee statements. What the firm wanted was a system that expressed contracts naturally, calculated accurately, and produced audit-ready statements without a spreadsheet in the loop.

Challenge

The requirements:

  • Multi-format sales feed ingest. Different licensees and different distribution channels produced different feed formats. The ingest layer had to normalize without forcing the upstream side to change.
  • Contract-term flexibility. Every agreement had its quirks — tiered rates, minimum guarantees, advance-recovery, reserves, currency, tax. A hard-coded calculation engine would fail on the long tail.
  • Audit reproducibility. Every royalty number in a statement had to be reconstructable from the source sales and the contract terms, step by step. No "trust me" math.
  • Payout and statement generation. Statements for licensees and payment files for the payment rails had to come out of the system directly, not from a post-processing spreadsheet.

Approach

Thoughtwave deployed TWSS AI Royalty — our production royalty-operations platform — configured for the client's contract book and sales-feed sources. The platform runs four stages per cycle:

  1. Ingest. Sales feeds (CSV, fixed-width, JSON, API pulls) flow into the platform; each source has a normalization mapping that converts to the internal canonical form.
  2. Apply contract terms. A contract DSL expresses every agreement; the calculation engine applies the terms against the normalized sales for the cycle.
  3. Calculate. Payouts, reserves, and adjustments are computed per agreement; the engine maintains running balances for multi-cycle concepts (advances, minimum guarantees, reserves).
  4. Generate statements and payment exports. PDF and Excel statements are produced per licensee; payment-export files go to the payment rails. Every number carries back-references for audit reproducibility.

Engagement arc:

  • Weeks 1-4. Mapped the contract catalog; translated the existing contracts into the DSL; validated outputs against the last four historical cycles to ensure parity.
  • Weeks 5-8. Connected the sales-feed sources; ran cycles in parallel with the spreadsheet process for two cycles; reconciled differences (a handful of historical spreadsheet errors surfaced during this pass and were resolved).
  • Weeks 9-12. Cut over to production; spreadsheet process retired; audit and versioning layer validated against the firm's audit workflow.

What we built

The production system has five components:

  1. Sales feed ingest layer. Multi-format adapters with normalization into a canonical sales-event schema.
  2. Contract DSL engine. Domain-specific language for royalty terms, compiled into an executable calculation plan.
  3. Calculation engine. Applies contract terms against cycle sales; maintains running balances; produces per-licensee and per-contract results.
  4. Statement and payment generator. PDF, Excel, and payment-export file generation with audit back-references.
  5. Audit and versioning layer. Every statement is reproducible from inputs; every contract change is versioned; every cycle is archived with the exact DSL and engine version used.

Outcomes

  • Spreadsheet errors per cycle eliminated. The spreadsheet process is retired; reconciliation errors stopped appearing in licensee statements.
  • Faster monthly and quarterly royalty cycles. The analyst team's two-week close is materially compressed; additional contracts onboard as DSL configuration rather than analyst-spreadsheet work.
  • Audit-ready statements out of the box. Every statement has a provable chain from source sales to final payout. Audits close faster; examiners see exactly what they need to see.
  • Multi-format sales feed ingest. Upstream licensees and distributors do not have to change their feed format to work with the platform.

What's next

The next phase adds AI-driven anomaly detection across sales feeds — surfacing unusual patterns (spike sales that may be returns, missing geographies that may be feed errors, rate mismatches between contract and applied rate) before they reach the cycle close. The platform is also being extended to sublicensee and international-treatment scenarios where tax, currency, and withholding complicate the base royalty calculation.

For broader context on Thoughtwave's data and AI practices, see our Data Analytics & Engineering service and the accelerators portfolio.

Frequently asked questions

What licensor operations is this a good fit for?
IP licensors, music and media publishers, franchisors, and brand-licensing operators who process recurring royalty cycles with contract terms that vary by deal. The pattern is strongest where today's cycle depends on a team of analysts reconciling spreadsheets against contracts and sales feeds.
How does the contract DSL work?
Each royalty agreement is expressed in a domain-specific language that captures rate tiers, advance recovery, reserves, minimum guarantees, tax treatment, and currency handling. The DSL compiles to the calculation engine; adding a new agreement is configuration, not code.
Can it handle reserves and advance recovery?
Yes. Those are first-class concepts in the DSL, and the calculation engine tracks them across cycles. A statement generated from the engine shows not just the current-period calculation but the running balances for reserves and advances so a licensee (or an auditor) can reconstruct the position.
How are statements generated?
The engine produces PDF and Excel statements plus payment-export files in the formats the client's downstream systems accept. Every statement carries a reference back to the source sales data, the contract terms applied, and the calculation steps so an audit can be reproduced exactly.

Related resources

RT
Ramesh Thumu

Founder & President, Thoughtwave Software

Reviewed by Thoughtwave Editorial

Last updated April 22, 2026