Problems & solutions · Accounting

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

Gross TO NET Rebate Management Software software overview illustration showing common problems and fixes.
The short answer

The single most expensive failure in a gross to net build is storing contracts, memberships and class of trade assignments with one date dimension instead of two. It looks harmless in week three and it is unrecoverable in month nine, because the moment a group purchasing organisation roster arrives backdated, the system can tell you what is true now but not what you knew when you booked. That is the restatement question, it is the question auditors ask, and retrofitting bitemporal storage into a live deduction engine is closer to a rebuild than a change request. Teams that get this wrong pay twice: once for the original data model and once for the manual reconstruction of every affected period.

Why does scope creep from commercial chargebacks into government pricing so often?

The sensible first release is commercial only. The bitemporal contract and membership model, chargeback validation with root cause clustering, and an auditable accrual engine. Sixteen to twenty four weeks, $120,000 to $250,000 in our delivery experience. Commercial settles faster, proves the data model on real money, and pays for the harder half.

What pulls government pricing forward is not ambition, it is a reasonable observation made by a smart person in a workshop: Average Manufacturer Price consumes the same sales and deduction data you are already normalising, so surely it is nearly free. It is not nearly free, because the calculation is the easy part and the policy interpretation is not. Every inclusion and exclusion decision, every bona fide service fee judgement, every treatment of a customer type carries a position your regulatory counsel has taken and may revisit. Building that in parallel with commercial means your first release now waits on legal review cycles you do not control.

The second pull comes from the Medicaid team, who have been waiting years for something better than their current process and correctly see this as their chance. Saying no to them feels like saying their problem does not matter.

The way to hold the line is to define phase one by data flow rather than by department. Phase one ingests sales, contracts, memberships and wholesaler chargeback and resale files, and produces validated deductions and a defensible accrual. It does not produce any number with a statutory reporting obligation attached. That boundary is easy to explain to a steering committee because the risk difference is obvious, and it gives the government pricing team a concrete date rather than a refusal.

What goes wrong when you load historical sales and deduction data?

Historical loading is routinely the largest single work package in these projects and it is routinely quoted as a line item called data migration. Three things make it hard, and none of them are visible until you start.

Customer hierarchy is the first. Your enterprise resource planning (ERP) system has been reorganised at least once, ship to and bill to relationships have been restated, and accounts have been merged. A sale booked in 2021 under a customer identifier that no longer exists still needs to resolve to the entity whose membership status determined whether a chargeback was valid. If you map history to today's hierarchy you have quietly destroyed the ability to restate.

Contract versions are the second. Most manufacturers can produce the current price schedule for every contract and very few can produce, without human archaeology, the schedule that was in force in a specific week two years ago, along with the amendments and their effective dates. That reconstruction is real work and it needs the contracts team, not just developers.

The third is deduction history that lives outside any system. Chargeback disputes settled by email, credits issued manually, write offs approved in a meeting. These are real adjustments to real periods and they exist as attachments.

The fix is to scope history deliberately rather than aspirationally. Decide with your controller how many prior periods you actually need restatement capability for, load those properly with full hierarchy and contract version reconstruction, and archive everything older as read only reference with a clear label saying it is not restatable. A defensible three years beats an unreliable seven.

Why do wholesaler EDI feeds break after go live?

The 844 chargeback request, the 849 response and the 867 resale data are standard on paper. In practice each trading partner implements them with its own conventions, and the ways they break in production are consistent enough to design against.

Contract number handling is the most common. A wholesaler continues submitting against a legacy contract number after a renewal, sometimes for months, sometimes only from one of their distribution centres. Your validation rejects every line and the failure looks like a pricing problem rather than an identifier problem.

Correction and resubmission behaviour is the second. Partners differ on whether a correction replaces the original line, reverses it, or arrives as a new line with a reference. If your ingest assumes one convention and the partner uses another, you either double count or lose the correction entirely, and both are silent.

The third is volume and timing. Files arrive late, arrive twice, or arrive split across two transmissions at quarter end when nobody has slack. An ingest that is not idempotent will process the duplicate.

The fixes are the boring ones that matter. Retain every file exactly as received before any parsing, so you can always reprocess from source. Record a processing outcome per record rather than per file, so a partial failure is a queue of forty lines instead of a rejected batch nobody wants to open. Make ingest idempotent on a partner specific natural key so a duplicate transmission is a no operation. And budget each new trading partner as weeks of real work rather than a configuration step, because that is what it is.

What happens when the accrual model has no assumption versioning?

You can build an accrual engine that produces a correct number and still fail the only test that matters, which is the conversation nine months later when actuals land and the variance has to be explained.

The failure looks like this. The system computes the accrual from utilisation, mix and lag assumptions held as configuration values. Someone updates the lag assumption in March because the old one was clearly wrong. In November, when the true up hits current period revenue, nobody can reproduce what the June accrual was actually calculated with, because the configuration holds one current value rather than a history. The finance team goes back to the workbook, and you have bought an expensive calculator.

The fix is architectural and it has to be in from the start. Every assumption is a record with an owner, a value, an effective period and a change history. Every period's accrual stores the exact assumption set used, not a reference to a mutable configuration. When actuals arrive the system produces the bridge automatically, decomposing the variance into lag, mix, contract term changes and genuinely unexplained movement.

That bridge is the single feature controllers cite when these builds get approved, and it is the feature most often trimmed when a schedule slips. Protect it. Trim a dashboard instead.

Should you build custom or configure Model N or Vistex?

Configure, or stay put, if you are a single product company selling through one or two wholesalers with no government business and no group purchasing organisation contracts. A well controlled workbook plus good pricing advice genuinely beats a build at that scale, and we will say so rather than take the work.

Configure Model N or Vistex if you are a large manufacturer with a broad portfolio, deep government exposure and internal specialists who can own a configured suite. Both encode a great deal of hard won domain logic and reimplementing all of it would be reckless. If you already run one of them, the honest first step is to ask your implementation partner directly what the lead time and cost would be to express your newest contract structure and to produce an assumption level accrual bridge. Sometimes the answer is better than people assume, because the capability exists and nobody switched it on.

Build when you are in the middle, which is where most speciality and mid size manufacturers sit. The pattern is consistent and it is easy to check: you are paying suite prices, your pricing team cannot model a new contract structure without raising a ticket with a lead time, and finance still rebuilds the accrual in Excel every quarter because the suite's analytics do not answer the variance question. When you are paying for the platform and maintaining the workbook, you are paying twice.

How do hidden costs get into the quote?

  • Contract shapes, not contract count. A tiered market share rebate and a flat administrative fee are different calculation shapes, not two instances of one. Count distinct structures before you ask for a number.
  • Each additional trading partner. Weeks, not days, and the second partner does not benefit much from the first because the conventions differ.
  • Historical restatement scope. Frequently the largest work package. Decide the number of restatable prior periods explicitly, in writing, with your controller.
  • Source system coupling. A clean sales extract is straightforward. A heavily customised instance with derived customer hierarchies and post hoc reorganisations is a discovery exercise before it is a build.
  • Parallel running. You will run the new engine alongside the existing process for at least one full quarter close, and that is analyst time on top of business as usual. Nobody budgets it and everybody spends it.
  • Ongoing cost. Budget roughly 15 to 20 percent of build cost annually, weighted toward trading partner changes and contract structures your commercial team invents after go live.

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

The successful ones treat the analyst's queue as the product rather than as a screen at the end. Chargeback failures arrive in thousands of lines and no team appeals line by line, so the interface has to cluster them by contract, customer, reason code and wholesaler, with the dollar value of each cluster on the front page. If the analyst has to sort a grid to find the eleven problems hiding inside 1,300 failures, they will keep writing off the small ones exactly as they do today.

The second marker is that the finance team stops maintaining the workbook, and you should measure that explicitly. If the workbook survives go live, the system has not earned trust, and the usual reason is that it produces numbers without producing derivations. Every figure should open into its inputs.

The third is parallel running with a defined exit criterion agreed before you start. One full quarter close where the engine and the existing process agree within a tolerance your controller sets, with every difference explained rather than tolerated.

The fourth is ownership. You should hold the repository, the cloud accounts and the unrestricted right to bring in another firm, written into the contract before kickoff. This matters more here than in most categories, because the system produces a revenue deduction figure your auditors rely on, and continuity of access to both the logic and the historical calculation snapshots is a control issue rather than a commercial preference.

Research & sources

The evidence behind this guide

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

  1. APQC's Open Standards Benchmarking data on the monthly financial close found median performers take about 6.4 calendar days to close the books, while top performers (top 25%) do it in 4.8 days or fewer and bottom performers (bottom 25%) take 10 or more days. Source: APQC (2018) →
  2. Inventory carrying cost commonly runs about 20% to 30% of inventory value, covering capital cost, storage/warehousing, insurance, taxes, handling, shrinkage, and obsolescence - a recurring cost that better inventory and warehouse software aims to reduce. Source: APQC (2023) →
  3. 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) →
  4. Deloitte's research found that digitally advanced small businesses experienced revenue growth nearly 4x as high as the prior year, were about 3x as likely to have exported, were nearly 3x as likely to have created new jobs, and were more than 3x as likely to have seen more sales inquiries in the last year. Source: Deloitte (research summarized by Google) (2017) →
Eleanor W. · VP Client Services · UK & EU · London

Eleanor leads client services across the UK and EU, which means she sits between what a client asks for and what the delivery teams can realistically build. She writes about scoping, budget conversations and the questions worth asking before a build starts.

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

FAQ

Frequently asked questions

Can we safely leave government pricing out of the first release?
Yes, and most teams that deliver on time do exactly that. Keep Average Manufacturer Price, Best Price and 340B calculations in your current process while phase one proves the contract, membership and deduction model on commercial business. The dependency runs one way: government pricing needs the clean transaction and exclusion data that phase one builds, so doing commercial first makes the later work cheaper. Doing them together means your first release waits on legal review cycles nobody on the project controls.
How many years of history do we actually need to load?
Ask your controller how many prior periods you realistically need restatement capability for and load exactly those, properly. Properly means reconstructing the customer hierarchy as it stood, not as it stands, and reconstructing contract versions with their amendments and effective dates. Everything older goes into a read only archive clearly labelled as not restatable. Three defensible years is worth more than seven unreliable ones, and it usually removes the largest single line item from the estimate.
Our Model N implementation is already underway. Should we stop it?
Probably not, and the useful question is narrower than build versus buy. Ask your implementation partner two things in writing: the lead time and cost to express your newest contract structure, and whether the platform can produce an accrual bridge that decomposes estimate versus actual variance by assumption. If both answers are acceptable, finish the implementation. If the first is measured in months and the second is no, you have found the specific gap a surround build should fill, and it is a much smaller project than a replacement.
Who signs off on the accrual once the system produces it?
The same person who signs off today. The system changes the evidence, not the accountability. What it should give your controller is the exact assumption set used for that period, an owner against each assumption, and the automatic bridge when actuals land. Any vendor implying their product takes on the judgement is describing a risk you will personally carry, and the correct architecture makes the human decision faster to defend rather than optional.
What happens when a wholesaler changes their EDI conventions?
It will happen, usually without notice, and the design has to assume it. Retain every file exactly as received before parsing so you can always reprocess from source once the new convention is understood. Record processing outcomes per record so a change breaks forty lines rather than the whole batch. The most common change we see is a partner continuing to submit against a legacy contract number after a renewal, which presents as a pricing failure and is actually an identifier mapping problem.
How do we test a chargeback engine before go live?
Replay real historical files through it and diff the outcomes against what was actually settled. This is the single highest value testing activity in the category, because it exercises real partner conventions, real membership timing and real contract amendments in a way that synthetic test cases never will. Every difference is either a bug in the new engine or an error in the historical settlement, and both are worth knowing before the system touches a live period.
What does it cost to run after the build?
Roughly 15 to 20 percent of the build cost per year in our experience. The weighting is different from most categories: expect most of it to go on trading partner changes and on new contract structures your commercial team invents, rather than on infrastructure. Agree in advance what a new contract shape costs to add and how long it takes, because that number is what determines whether the pricing team uses the system or works around it.
What should the finance team stop doing on day one?
Nothing, and that is deliberate. Run the new engine alongside the existing process for a full quarter close, with an exit criterion your controller sets before you start, such as agreement within a defined tolerance and every difference explained rather than tolerated. Only when that quarter is clean should the workbook be retired. If the workbook survives past that point, treat it as a signal that the system produces numbers without producing derivations, and fix that before anything else.
What does it cost to maintain custom accounting software each year?
Budget 15 to 20 percent of the build cost annually, so a $100,000 system needs $15,000 to $20,000 a year for hosting, security patches, dependency updates, and small fixes. Accounting software carries one extra obligation most software does not: keeping tax rates, filing formats, and bank feed connections current as banks and tax authorities change their systems. Skipping maintenance for two years usually costs more to repair than the maintenance would have cost.
What are the biggest mistakes companies make when building accounting software?
The three we see most across Digital Heroes rescue projects: replacing everything at once instead of automating the most painful workflow first, skipping the parallel run so errors surface in live books, and letting developers design the ledger without an accountant reviewing the data model. A fourth is quietly expensive: no assigned owner for tax rate and compliance updates after launch. Every one of these is cheap to prevent and costly to unwind.
How long does it take to build custom accounting software?
A focused first version takes 10 to 16 weeks, and a complete QuickBooks-class replacement takes 6 to 9 months. In Digital Heroes delivery data, schedules slip most often during data migration and bank feed integration, so we budget those two phases at double the first estimate. Treat any promise of a full accounting system in under two months as a warning sign.
What can custom accounting software do that QuickBooks, Xero, and FreshBooks can't?
It encodes your actual business rules: progress billing tied to project milestones, revenue recognition for your specific contract types, landed cost tracking, or approval chains that match your org chart. Off-the-shelf tools handle generic bookkeeping well but force every business into the same chart of accounts and workflow. FreshBooks, for example, is built around freelancer-style invoicing, so inventory or multi-entity accounting means leaving the product entirely.
How many developers does it take to build accounting software?
The standard Digital Heroes team is 4 to 6 people: a backend developer, a frontend developer, a QA engineer, a part-time designer, and a project lead who owns the accounting logic. A single-workflow automation can ship with two people, while multi-entity platforms with payroll can need eight. Headcount matters less than having one named person accountable for the books balancing.
Can I extend QuickBooks with custom features instead of replacing it?
Yes, and it is often the right first step. QuickBooks Online has a public API, so an agency can build a custom layer for quoting, inventory, or field service that pushes clean transactions into QuickBooks, which stays your ledger of record. Roughly half of the accounting engagements Digital Heroes scopes start this way because it costs a fraction of a full build and leaves your accountant's workflow untouched.
Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
Should I hire a freelancer or an agency to build my accounting software?
A strong freelancer is fine for a reporting dashboard or one integration; anything that holds your books needs a team. Ledger software requires backend, frontend, QA, and accounting domain knowledge, and one person rarely covers all four while staying available for the 5 to 10 year life of the system. The most common rescue job Digital Heroes takes on is a solo-built ledger with no tests and no documentation after the freelancer moved on.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
Who can build a custom accounting software system?

Digital Heroes builds custom accounting 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 accounting 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?