Problems & solutions · Custom Software

Publishing Management Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Publishing Management Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure mode is a royalty engine that models a rate instead of a contract. Escalators, joint accounts, high discount triggers and subrights splits then live in one person's workbook, which means a close that should take days takes weeks, statements get reissued to a steady share of authors every cycle, and the entire payment obligation depends on somebody remembering to hand adjust the same line every period. The direct cost is the labour, roughly 19 working days of two people twice a year in one publisher we worked with. The real cost is that a reissued statement makes an agent start auditing every other title on their list.

Why does the royalty engine keep getting scoped as a rate field?

Ask a developer to build royalties and you will usually get a rate on a title, a units count and a multiplication. That model matches how the requirement gets described in a meeting and it does not survive contact with a single real contract.

A mid list title 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, a 50/50 audio licence split, 50/50 on translation and 90/10 on first serial, a joint account across three titles by the same author, an advance earned against all of it, an agent of record taking 15 percent, a co author split, and a high discount clause that flips the basis whenever the discount to an account exceeds 55 percent. This is specific to publishing because each of those terms was negotiated separately, by different people, sometimes years apart, and amended afterwards.

The fix is to model the contract as a versioned rules object rather than a set of fields. A term set attaches to a work with an effective date, a format scope, a territory scope, a channel scope and a calculation basis. Escalators are threshold rows. Joint accounts are explicit links with an earn out order. Every statement line then stores the exact term version and threshold row that produced it, so an agent query in November resolves by clicking the line rather than by reopening the workbook. If a developer's answer to your ugliest contract mentions a rate field, they have never built this.

What goes wrong when you onboard a contract backlog?

Contract onboarding is the largest variable in a publishing project and it is routinely priced as data entry. A publisher with 400 structured contract records is a different engagement from one with 3,000 scanned agreements going back to 1994, and the second is where schedules die.

Three traps recur. The first is amendments: the head contract says one thing and amendment three changes the territory, filed as a separate scan under a different name, so any process reading only the primary agreement produces confidently wrong terms. The second is that older agreements predate formats they now earn on, meaning audio and ebook rates were added by letter agreement or never addressed, and someone has to decide what governs. That is a legal decision, not a data one. The third is that reverted titles sit in the pile alongside live ones.

The approach that works uses document extraction to draft rather than to write. Run the corpus through an extraction pass that pulls candidate territory, language, format, term and reversion clauses, present each side by side with the highlighted clause text, and require a rights or contracts person to confirm every one. The model never writes to the terms table directly, and each approval is logged with the clause it came from. On a 900 contract backlog that turns a project nobody would fund into a few weeks of part time review. Sequence it by earning titles first, because the tail is long and mostly dormant.

Why do the earnings feed integrations break after launch?

Every sales channel reports differently and each one has a quirk that only appears after you depend on it. Amazon Vendor Central, Ingram, Audible, Findaway, Draft2Digital, OverDrive and direct sales use different unit definitions, different currency handling and different reporting calendars, and normalising them is real integration work rather than a mapping table.

The failure that actually damages a close is restatement. A channel reissues a prior period with corrected figures after you have paid on the original, so the period now has two truths and your engine must decide which one the current statement reflects and how the difference is disclosed. Systems that overwrite the earlier figures produce statements that no longer reconcile to what the author was told, and the first person to notice is the agent. Currency is the second recurring break: a feed reporting in the account's currency needs a stated conversion policy with the rate and date recorded per line.

Build for restatement from the first release. Store earnings as immutable period records with a source and a load identifier, treat a correction as a new record superseding the old rather than replacing it, and show adjustments to prior periods as explicit lines on the current statement. Ask any developer which of those named feeds they have normalised before, because a general claim of integration experience usually means none of them.

What happens when returns reserves and rights availability are not covered?

Two gaps sit here and both cost money quietly. The first is the returns reserve. A reserve is a liability with a release schedule tied to a returns curve, not a percentage field. Publishers who model it as a flat percentage either hold too much, which authors and agents notice and resent, or too little, which turns into a negative balance when a returns wave lands and produces a statement conversation nobody enjoys. Store a returns curve per account per format from your own history, then release reserves on a schedule the author can see, with the balance and release dates shown on the statement.

The second gap is rights availability, where revenue leaks without anyone recording a loss. A Spanish house asks about world Spanish for a 2023 title. Answering requires checking whether the head contract granted translation rights or reserved them, whether a Latin American deal carved out territories, whether a prior option period has expired and whether the audio licence conflicts. That is four sources and a folder of scans, and the answer arrives conservative because nobody wants to grant something twice.

Model rights as a graph rather than a grid. Each grant record carries territory as a country list rather than free text, plus language, format, channel, term start and end, exclusivity, option windows and reversion triggers. Availability then becomes a query. The connection to metadata matters too: when rights and ONIX output come from the same record, you stop listing titles for sale in markets you do not control, which is a legal problem rather than a metadata one.

Should you build custom or configure what you already own?

Buy, genuinely, if you are under roughly $8M in net sales, single imprint, with mostly straightforward contracts, under about 300 royalty payees, and ONIX distribution as your loudest pain. Firebrand Title Management and Bookmaster will serve you better than a custom build and the money is better spent on marketing. Klopotek and Virtusales BiblioSuite model far more deal complexity than a generic system and do it well for the shapes they were designed around. Rightsline and IPR License handle rights inventory reasonably.

Before commissioning anything, check whether the spreadsheet exists out of necessity or habit. Take your ten most complicated contracts to your incumbent vendor and ask them to model each one. If eight come back clean, your problem is training and configuration, and finding that out costs a week.

Build when the signals stack, and they usually arrive together: the royalty close depends on one person's workbook, you have reissued statements more than once in the last two cycles, a rights availability question takes more than an hour, you cannot separate a reprint decision from a returns wave, or you pay for a system of record plus a rights tool plus an ERP (Enterprise Resource Planning) and still do the work in Excel. The middle path we recommend often is keeping the incumbent for ONIX and title metadata, where it is genuinely good, and building 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 do hidden costs get into the quote?

A focused first release, almost always the title and contract data model plus the royalty engine, runs $60,000 to $130,000 and ships in 12 to 16 weeks in Digital Heroes delivery experience. A full platform covering rights availability, subrights, print and returns intelligence, an author portal, an ONIX pipeline and ERP integration runs $150,000 to $400,000 phased over 6 to 12 months. Five things inflate that and all five are knowable in advance.

  • Contract backlog size and quality. The biggest single variable. Scanned agreements with separately filed amendments cost several times what structured records cost.
  • Earnings feed count. Each named channel is its own integration with its own restatement, currency and timing behaviour, not a line item called sales import.
  • Parallel running. At least one full close cycle alongside the old process, and the labour of running both belongs in the plan.
  • Historical statement replay. Reproducing five years of past statements exactly is a meaningful share of the budget, and it is usually worth buying because it is the only thing that makes anyone trust the new number.
  • Withholding and tax handling. W-8BEN collection and treaty based withholding for foreign authors is a real exposure that most developers discover during your first close rather than during scoping.

What separates a publishing build that works from one that fails?

Four things. The first is that the first release does one thing completely. That thing is the contract model and the royalty engine, run in parallel for a full close cycle. Not rights, not print, not ONIX. Projects that attempt the whole platform in release one arrive at the close date with everything half working, which is worse than the spreadsheet.

The second is that the term logic is testable. Rules that only a developer can read produce arguments nobody can settle, so build a test harness where your royalty manager can enter a scenario, meaning units, channel, discount and period, and see which term version and threshold row fires. That harness is also how you validate against historical statements and how disagreements about interpretation get resolved without an engineer in the room.

The third is that the author portal drills down rather than displaying a PDF behind a login. A statement line should expand into units, channel, rate applied, term version and the reserve calculation, with the contract clause reference visible, and the reserve balance shown with its release schedule. In our publishing work this is the piece that pays for itself in support hours, and it does something less measurable that matters more: agents stop treating your statements as suspect.

The fourth is ownership. Own the repository, the schema and the deployment, agreed before kickoff. At Digital Heroes the client owns the code from the first commit. This system encodes your author contracts, your rights inventory and your payment obligations, so a supplier holding the code holds your ability to pay authors, and no commercial term makes that acceptable.

Research & sources

The evidence behind this guide

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

  1. Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
  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. The NRF discontinued its long-running annual shrink report, stating that a broad study of retail shrink 'is no longer sufficient for capturing the key challenges and needs of the industry' - important context that qualifies how POS/shrink benchmarks should be cited going forward. Source: Retail Dive (2024) →
Divyansh S. · Client Success Manager · Lucknow

Divyansh manages client relationships after a project starts, which is when expectations and reality meet. He runs check ins, unpicks confused requirements, and gets answers back to the build team quickly. For readers, he explains what good agency communication looks like and what to ask for when it goes quiet.

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

FAQ

Frequently asked questions

Why does our royalty close still take weeks after we bought a system of record?
Because the system holds a rate and your contracts hold rules. Escalators, joint accounts, high discount triggers and subrights splits that the product cannot express get calculated by hand and pasted back, which means you now have two sources of truth and one of them is a person. The test is simple: if your royalty manager opens Excel during a close, every hour spent there is the gap between what your contracts say and what your software can represent.
How do we onboard 3,000 scanned contracts without stalling the project?
Use document extraction to draft, never to write. Run the corpus through an extraction pass that proposes territory, language, format, term and reversion records with the source clause highlighted, then require a contracts or rights person to approve each one, logging the approval against the clause it came from. Sequence by currently earning titles, since the tail is long and mostly dormant. Watch for amendments filed separately from head contracts, because reading only the primary agreement produces confidently wrong terms.
What breaks a close when a sales channel restates a prior period?
Overwriting. If corrected figures replace the originals, statements you already issued no longer reconcile to what the author was told, and the agent notices before you do. Store earnings as immutable period records with a source and load identifier, treat corrections as new records superseding the old, and disclose prior period adjustments as explicit lines on the current statement. Apply the same discipline to currency by recording the conversion rate and date per line rather than at close time.
How should returns reserves actually be modelled?
As a liability with a release schedule tied to a returns curve per account per format, drawn from your own history. A flat percentage field either holds too much, which agents resent and query, or too little, which produces a negative balance when a returns wave lands. Show the reserve balance and its release dates on the statement so the recurring question about withheld money is answered by the screen rather than by your royalty manager in July.
Why does answering a foreign rights question take half a day?
Because availability depends on four separate checks: whether the head contract granted or reserved translation rights, whether an existing deal already carved out territories, whether a prior option window has expired, and whether an audio licence conflicts. Each lives in a different place and one of them is a scan. Modelling grants with territory as a country list rather than free text, plus language, format, channel, term dates, exclusivity, options and reversion triggers turns that investigation into a query.
Should we replace Firebrand or Klopotek, or build alongside them?
Build alongside, in most cases. Those products are genuinely good at ONIX and title metadata, which is exactly the work you do not want to rebuild, and full replacement forces a migration that kills these projects. The common pattern that works is keeping the incumbent as the metadata and distribution system while building the royalty and rights core around your real contract logic, then integrating. Compare the two quotes against the same list of complaints before deciding.
What should the first release contain, and what should wait?
The title and contract data model plus the royalty engine, run in parallel with your existing process for one complete close cycle. Rights, print intelligence, the author portal and ONIX all wait. Publishers who attempt the full platform in release one reach the close date with several things half working, which is materially worse than the spreadsheet they were replacing, and it burns the credibility needed to fund the later phases.
What tax and compliance work catches publishers out on a build?
Withholding for foreign authors. The rate depends on treaty status and requires W-8BEN collection, and most generic systems do not model it, so the exposure is discovered during a close rather than during design. Add 1099 reporting for United States payees and data protection obligations if you hold information on European authors and agents. Ask a prospective developer about withholding directly, and treat an unfamiliar reaction as a sign they will learn it on your first payment run.
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.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
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 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.
Does the tech stack matter, and which one should I ask for?
It matters less than agencies imply, provided it is boring. A mainstream stack, something like React or Next.js on the front end, Node.js or Python behind it, and PostgreSQL for data, means thousands of developers can maintain your system if you ever change vendors. Apply one test: ask how hard it would be to hire a replacement developer for the proposed stack, and walk away from anything built on an agency's in-house framework.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

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?