Industry guide · Custom Software

Publishing Management Software: Fixing the Royalty Close, Rights Gaps and Print Runs That Cost You Real Money

The short answer

If you are a publisher doing more than roughly $8M in net sales, running two or more imprints, and paying more than 300 royalty statements a period, the honest answer is build, and the honest numbers are $60k to $130k for a focused first release in 12 to 16 weeks (usually the royalty engine plus the title and contract data model), or $150k to $400k phased over 6 to 12 months for a full platform covering rights, subrights, print runs, returns reserves and author portals. Below that scale, Klopotek, Firebrand Title Management, Bookmaster or a very disciplined NetSuite build will hurt less than a custom project will.

Why title, rights and royalty software makes or breaks a publisher

Walk into almost any independent or mid-size publisher and you will find the same thing: a title management system of record, and a spreadsheet that everyone actually trusts. The system of record might be Firebrand Title Management, Klopotek, Bookmaster, Virtusales BiblioSuite, or an ONIX-flavored bolt-on to NetSuite. The spreadsheet is where the royalty manager keeps the escalators that the system cannot express, the reserve percentages that Finance argues about every April, and the note that says "Territory: World ex ANZ per amendment 3, see PDF."

The cost of that split is not abstract. Here is a scene we have watched in three separate publishing engagements: it is late March, statements go out April 30, and the royalty manager is running a reconciliation between the sales ledger, the Ingram and Amazon Advantage feeds, the Audible and Findaway earnings reports, and a folder of 40 contract amendments. She finds a title where the hardcover escalator moved from 10 percent to 12.5 percent at 5,000 copies, but the system only carries a flat rate, so she has been hand-adjusting that line every period for two years. Nobody else knows. She is the single point of failure for roughly $2M in author payments. In one engagement, the royalty close was 19 working days of two people, twice a year, and the error rate was high enough that the publisher was reissuing statements to a small but steady share of authors every cycle. Reissued statements are not just labor. They are the thing that makes an agent start asking questions about every other title in that agent's list.

Meanwhile the rights team is running on a completely separate island. Foreign rights deals live in an Excel grid or a Rightsline seat that Editorial never opens. The subrights sales that Frankfurt generated in October do not flow into the royalty engine at all until someone types them in. And the print run decisions, which are the single largest cash lever in the business, get made off a reorder point in the ERP (Enterprise Resource Planning) that has no idea a title just got a book club pick or that returns from a specific chain are running far above your house average.

Problem 1: Contract terms that no off-the-shelf royalty module can actually model

The pain is specific. A single mid-list title's contract might carry: 10 percent of list on the first 5,000 hardcover, 12.5 percent to 10,000, 15 percent thereafter; 7.5 percent of net receipts on trade paper; 25 percent of net receipts on ebook; 50/50 on audio if licensed, 25 percent of net if published in-house; a 50/50 subrights split on translation and 90/10 on first serial; a joint account across three titles by the same author; and a $45,000 advance earned against all of it. Now add an agent of record taking 15 percent, a co-author split of 60/40, and a high-discount clause that drops the rate to net-receipts-based whenever the discount to the account exceeds 55 percent.

The generic royalty modules in NetSuite, Sage Intacct or an ERP add-on model roughly two of those. Klopotek and Firebrand model far more, and to be fair they model it well for the deal shapes they were designed around. What they do not do is let your specific escalator, joint account and reserve logic be a first-class, versioned, testable object. So the workaround appears: someone puts the real terms in a spreadsheet, calculates the exception rows by hand, and pastes the result back in. Now your royalty numbers have two sources of truth and one of them is a person.

What a custom build does differently: model the contract as a rules object, not a rate field. A term set is a versioned record attached to a work, with an effective date, a format scope, a territory scope, a channel scope, and a calculation basis (list, net receipts, net receipts with a high-discount trigger). Escalators are threshold rows, not a number. Joint accounts are explicit links between works with an earn-out order. Every statement line stores the exact term version and threshold row that produced it, so when an agent calls in November about a line from the H1 statement, you click the line and see: term set v3, escalator tier 2, units 5,001 to 10,000, rate 12.5 percent, effective 2024-01-01, source amendment 3. That single audit trail is usually worth the project on its own. In our publishing work, moving the terms into a versioned rules object cut the royalty close from those 19 days to about 4, and the statement reissue rate went to near zero because errors got caught by rule tests rather than by authors.

Problem 2: Rights and availability that nobody can answer in under a day

Foreign rights director gets an email from a Spanish house asking about world Spanish for a 2023 title. The honest answer requires: checking whether the head contract granted translation rights or reserved them to the author, checking whether a Latin American deal already carved out territories, checking whether the option period from a prior deal has expired, and checking whether the audio license conflicts. That is four systems and a PDF folder, and it takes half a day. Multiply by Frankfurt, London, Bologna, and every inbound query in between, and rights revenue leaks purely because you answered slowly or conservatively.

Rightsline and IPR License handle rights inventory reasonably. The gap is that they do not know your royalty engine, your title data or your contract PDFs, so the availability answer still depends on a human reconciling three views. And the head contract, the thing that determines what you can even sell, lives as an unsearchable scan.

The custom answer is a rights availability graph: for a given work, a set of grant records each carrying territory (ISO country list, not "World ex UK" as free text), language, format, channel, term start and end, exclusivity flag, option windows and reversion triggers. Availability becomes a query, not an investigation. Type the work and the ask, get "available, expires with the option window on the Portuguese deal 2027-03-14," in three seconds. This is also where document extraction pays off concretely: run the contract PDF corpus through an extraction pass that pulls candidate territory, language, format, term and reversion clauses, presents them side by side with the clause text highlighted, and makes a human confirm each one. We do not let the model write to the rights table directly. It drafts, a rights person approves, and the approval is logged with the clause it came from. On a 900-contract backlog, that turns a project nobody would ever fund into about six weeks of part-time review work.

Problem 3: Print runs decided on gut feel because returns are invisible

Print is where publishers actually bleed. The reprint decision gets made from a reorder point in the ERP that treats a book like a widget: on-hand drops below X, print Y. But a book is not a widget. Sell-in to a chain is not sales. Returns from that chain will arrive 90 to 180 days later, often at a rate that guts a frontlist trade title, and they arrive against a printing you paid for six months ago. We have seen publishers carry six figures of inventory on a title whose true sell-through, net of the returns already in the mail, was under half of what the ERP showed.

Off-the-shelf inventory planning cannot fix this because it has no concept of channel-specific return behavior or of a returns reserve. Your ERP knows units shipped. It does not know that one account historically returns roughly a third of what it takes and another returns almost nothing.

The custom build ingests POS (Point of Sale) and sell-through where you can get it (Bookscan, Amazon Vendor Central, Ingram iPage, direct chain feeds) and stores a returns curve per account per format. The reprint screen then shows shipped, estimated true sell-through net of projected returns, weeks of true cover, and the printer's minimum-run economics side by side. This is where forecasting genuinely helps: a model trained on your own title history, comps by BISAC and format, seasonality, and the specific account mix on the title gives a reprint quantity band with a stated confidence, and the print manager overrides it when there is a book club pick or an author tour the model cannot see. The point is not the model's accuracy. The point is that the override is now a logged decision with the number it moved away from, so a year later you can actually see whether the gut or the model was right. Publishers who install this stop the specific failure of printing 8,000 into a returns wave.

Problem 4: Author and agent statements that generate a support queue

Twice a year you mail or email several hundred to several thousand PDF statements, and then you spend six weeks answering "what is this reserve line," "why is my ebook rate different this period," and "I think the audio is missing." Every one of those is a person digging through the same reconciliation the royalty manager already did. Agents at the top houses represent dozens of your authors and will batch their questions into a single brutal email in July.

The incumbents mostly generate a PDF and stop. Some offer an author portal that shows the same PDF behind a login, which solves nothing.

What a custom build does: a drill-down author portal where the statement line expands into the units, the channel, the rate applied, the term version and the reserve calculation, with the contract clause reference visible. Reserves against returns get shown as an explicit balance with the release schedule, so the recurring "why is money being held" conversation gets answered by the screen. Add a scoped assistant over that data (it can only read the author's own statements and contract terms) that answers "why did my rate change in Q3" with the actual term version diff, and escalates to a human when it is not certain. Across publisher engagements this is the piece that pays for itself in headcount hours, roughly a 60 to 70 percent reduction in statement-question volume, and in the softer thing that matters more: agents stop treating your statements as suspect.

Problem 5: ONIX and metadata drift that quietly kills discoverability

Your title data has to reach Amazon, Ingram, Bowker, Nielsen, Edelweiss, Baker and Taylor, and every retailer's own ingestion, mostly through ONIX 3.0. Every one of them accepts a slightly different dialect and fails a slightly different way. So a price change, a cover swap or a pub date move goes out, and three weeks later somebody notices Amazon still shows the old price on the hardcover and the paperback is listed as unavailable. Nobody notices the ones that fail silently, which is most of them.

Firebrand and BiblioSuite do ONIX properly, which is exactly why they exist, and if ONIX distribution is your only real pain you should probably buy one of them rather than read the rest of this. What they do not do is close the loop back to your rights and royalty data, so territory rights and the ONIX territory block drift apart, and you end up listing a title for sale in a market you do not control.

The custom build treats ONIX as an output of the same title record that feeds rights and royalties, with a per-recipient profile, a delivery log, and a reconciliation job that pulls back what each retailer actually shows and diffs it against what you sent. The dashboard is a drift list: 14 titles where Amazon's price does not match yours, 3 where the territory block would put a book on sale outside your grant. That last one is a legal problem, not a metadata problem, which is precisely why rights and ONIX should not live in different systems.

What this costs and how long it takes

These bands are Digital Heroes delivery experience across 2,000-plus projects, and they hold reasonably well in publishing.

A focused first release runs $60k to $130k and ships in 12 to 16 weeks. For a publisher, that first release is almost always the title and contract data model plus the royalty engine, running in parallel with your current process for one full close cycle. Not rights, not print, not ONIX. One thing that has to be right.

A full platform (rights availability, subrights, print and returns intelligence, author portal, ONIX pipeline, ERP integration) runs $150k to $400k phased over 6 to 12 months.

What drives price up in this category specifically: contract backlog size and quality, which is the biggest single variable. A publisher with 400 clean, structured contracts is a different project from one with 3,000 scanned PDFs in a shared drive going back to 1994. Second, the number of distinct earnings feeds you need to normalize; Amazon, Ingram, Audible, Findaway, Draft2Digital, OverDrive and direct all report differently and each one is real integration work. Third, whether you need parallel running (you do) and for how many closes. Fourth, historical statement replay: if you need the new engine to reproduce five years of past statements exactly, that alone is a meaningful chunk of the budget, and it is usually worth it because it is the only way anyone will trust the number.

Build versus buy: take the position

Buy, genuinely, if: you are under roughly $8M net sales, single imprint, mostly straightforward contracts, under about 300 royalty payees, and ONIX distribution is your loudest pain. Firebrand or Bookmaster will serve you better than a custom build, and the money is better spent on marketing. Buy also if your deal shapes are actually simple and the spreadsheet exists out of habit rather than necessity. Check honestly before you assume otherwise.

Build when these signals appear, and they usually appear together: your royalty close depends on one person's spreadsheet; you have reissued statements to authors more than once in the last two cycles; a rights availability question takes more than an hour to answer; you cannot tell a reprint decision from a returns wave; or you are paying for Klopotek plus Rightsline plus an ERP and still doing the actual work in Excel. The tell that matters most is the spreadsheet. If the system of record is not the thing people trust, you are already paying for a custom system, you are just paying for it in headcount, errors and agent relationships instead of in software.

The middle path we recommend often: keep the incumbent for ONIX and title metadata where it is genuinely good, and build the royalty and rights core around your actual contract logic. Integration is cheaper than replacement, and it avoids the migration that kills these projects.

How to choose a developer for publishing management software

Ask them to model a real contract in the interview. Hand them one of your genuinely ugly ones: escalators, joint account, high-discount clause, reserved translation rights, co-author split. If they start talking about a rate field, they have never built this. The right answer talks about versioned term sets, effective dates and calculation bases within about ten minutes.

Ask specifically about returns reserves and how they would release them. This is the question that separates people who have shipped publishing software from people who have shipped inventory software. A reserve is a liability with a release schedule tied to a returns curve, and if they treat it as a percentage field, walk.

Ask what earnings feeds they have normalized before, by name. Amazon Vendor Central, Ingram, Audible, Findaway, OverDrive, Bookscan. "We can integrate anything" means they have integrated none of them. Each of these has real quirks around timing, currency, unit definitions and restatements, and restatements are what wreck a close.

Ask who owns the code and get it in the contract before kickoff. You are encoding your author contracts, your rights inventory and your payment obligations. You should own the repository, the schema and the deployment. Also confirm they will handle the boring compliance surface honestly: GDPR and UK data rules if you pay European authors or agents, 1099 and W-8BEN handling for author payments, and the withholding logic for foreign authors, which is a legal exposure most developers do not know exists until an author's accountant calls.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Retailers improving Core Web Vitals saw measurable gains: Vodafone improved LCP by 31% for 8% more sales, Lazada saw a 16.9% mobile conversion increase, and Cdiscount saw a 6% Black Friday revenue uplift. Source: web.dev (Google Chrome team) (2021) →
  2. 48% of private companies cite integration with legacy systems or technical debt as a top obstacle to realizing the full value of their digital and AI investments (behind data quality/availability at 72% and gaps in AI fluency or technology talent/leadership at 53%). Source: Deloitte (2026) →
  3. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
  4. Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does custom publishing management software cost for a publisher doing $20M in net sales?
Expect $150k to $400k phased over 6 to 12 months for a full platform covering titles, contracts, royalties, rights and print intelligence at that scale. A focused first release, usually the royalty engine plus the contract data model, runs $60k to $130k and ships in 12 to 16 weeks. The biggest cost variable at $20M is not your revenue, it is your contract backlog: 3,000 scanned PDFs costs far more to onboard than 400 structured records.
Should we build custom software or just use Klopotek or Firebrand?
Use Firebrand or Klopotek if ONIX distribution and title metadata are your loudest pain and your contract terms are genuinely simple. Build when your royalty close depends on one person's spreadsheet, when a rights availability question takes over an hour to answer, or when you are paying for a system of record that nobody actually trusts. A common middle path is keeping the incumbent for ONIX and building the royalty and rights core around your real contract logic.
Can custom software handle escalating royalty rates and joint accounts that our current system cannot?
Yes, and that is usually the reason to build. The approach is to model each contract as a versioned term set with threshold rows for escalators, explicit links between works for joint accounts, and a calculation basis per format, territory and channel. Every statement line then stores the exact term version and threshold row that produced it, so any question from an agent is answered by clicking the line.
How long does it take to migrate from our existing royalty system?
Plan 12 to 16 weeks to a first release and at least one full close cycle running in parallel with the old system before you cut over. Contract onboarding dominates the timeline, and if your terms live in scanned PDFs you should budget an extraction and human review pass on top. If you need the new engine to reproduce past statements exactly, add that to scope explicitly because it is the only thing that makes people trust the number.
Who owns the code if we hire a developer to build our royalty and rights system?
You should own the repository, the database schema and the deployment environment outright, and it should be written into the contract before kickoff, not after. This system encodes your author contracts and payment obligations, so a vendor holding the code holds your ability to pay authors. Any developer who resists full ownership on a system of this kind is telling you something.
Can AI actually help with our contract backlog and royalty statements?
Yes, in two specific places. Document extraction can read your contract PDFs and draft candidate territory, format, term and reversion records with the clause text highlighted for a human to approve, which turns a 900-contract backlog into a few weeks of part-time review instead of a project nobody funds. Second, a scoped assistant over the author portal can answer statement questions by reading the actual term version, which typically cuts statement-question volume by 60 to 70 percent.
What compliance issues do we need to handle when paying foreign authors and agents?
The main ones are 1099 reporting for US payees, W-8BEN collection and withholding logic for foreign authors, and GDPR or UK data rules if you hold data on European authors and agents. Withholding is the one that catches publishers out, because the rate depends on treaty status and most generic systems do not model it. Ask any prospective developer about this directly; if they have never handled it, they will discover it during your first close.
Why do our print runs keep going wrong even though our ERP shows inventory levels?
Because an ERP tracks units shipped, not true sell-through, and returns from a chain arrive 90 to 180 days after the sale you already counted. A custom system stores a returns curve per account per format and shows estimated sell-through net of projected returns next to the printer's minimum-run economics. That is what stops the specific failure of printing into a returns wave you cannot see yet.
Is it worth building if we only pay a few hundred authors?
Probably not on royalty volume alone. Under roughly $8M in net sales with a single imprint, straightforward contracts and under about 300 payees, an off-the-shelf tool will hurt less than a custom project. The exception is if your contract terms are genuinely complex despite the small list, because complexity, not payee count, is what breaks the incumbent systems.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
How many people should be working on my software project?
A typical $40,000 to $150,000 build runs on three to five people: a technical lead, one or two developers, a designer, and someone owning QA and project communication, often as overlapping part-time roles. More bodies do not make software arrive faster; past a point they slow it down with coordination overhead. The question that matters more than headcount is whether one named senior engineer is accountable for the outcome.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
How do I make sure custom software is secure and compliant with rules like HIPAA?
Start with the baseline every business system should have: encryption in transit and at rest, role-based access control, and audit logs. If HIPAA applies, the hosting provider must sign a Business Associate Agreement, which AWS, Azure, and Google Cloud all offer, and access controls have to be designed in from day one, not bolted on. SOC 2 certifies a company's operating practices, not a codebase, so ask vendors what they have shipped in your regulated domain rather than which logos are on their website.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?