Problems & solutions · Inventory Management

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

Medical Inventory Management Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure is treating lot number and expiration date as fields somebody types rather than data captured by scanning. At receiving speed nobody types them, so the fields stay empty, first expired first out picking cannot be enforced, and expired product is discovered in batches during a deep clean instead of managed as a monthly number. The same gap removes your ability to answer the only three questions that matter during a recall: do we have any on the shelf, did we implant any, and in which patients. A surgery center can absorb a quarterly write off. It cannot absorb three days of digging through binders while a manufacturer waits for an answer.

Why does lot and expiry capture get scoped as a field on the item record?

Because that is how every tool the buying committee has already seen does it. Sortly has an expiry field. Spreadsheets have a column. The requirement gets written as track expiration dates, everyone agrees, and nobody asks who types them or when.

The answer is that a materials coordinator putting away four totes on a Thursday afternoon does not type them, and no amount of training changes that. So the field exists, it is empty on most records, and the reports built on top of it are decorative. Meanwhile the underlying model is still quantity on an item, which means the system cannot represent the fact that you hold eleven of something across three lots with three different dates and one of them cannot be used after next month.

The downstream damage is larger than the write off line. Without lot as a real record there is no genealogy from receiving to shelf to the case where a product was used, so recall response is manual, tissue traceability under 21 CFR Part 1271 cannot be demonstrated from the system, and case costing is an estimate.

The fix is to make the lot a record and the scan the capture mechanism. Device barcodes in the GS1 or HIBC Unique Device Identification formats already encode lot number and expiration date, so a receiving screen that parses them captures both in one movement with no typing. Make that an acceptance test with your own products: hand a bidder a box from your shelf and ask them to show the parse. Then require the three record model in the data design, meaning the item, the lot and the physical unit are different things and expiry lives on the lot. A team that models quantity as a number on an item record will rebuild your spreadsheet problem in a nicer interface.

What goes wrong when you migrate the item master and take opening counts?

The item master is the work item everyone underestimates, and it is the one that gates go live.

The same gown is item 4471 at one center and a free text description at another. Distributor catalogue numbers, manufacturer part numbers and your internal codes exist in a partial and inconsistent mapping. Group purchasing contract prices sit in a PDF from the contracting office. Nobody notices while a human is interpreting a par sheet, because a human knows that blue XL gowns and item 4471 are the same thing. A system does not.

The failure mode is importing purchase history as the item master and going live with duplicates. Two records for one product means two par levels, two reorder points, and a transfer suggestion that never fires because each site holds a different code for the same thing. Staff lose confidence in week one and the private buffer stash in the back cabinet becomes permanent.

Opening counts fail differently. A count taken across five sites on different days, while ordering continues, produces a starting position that is wrong from the first hour, and every variance afterwards is argued rather than investigated.

The fix is to build the item master from distributor purchase history, deduplicate it deliberately, and map every legacy code before cutover. Load contract prices as data with effective dates so orders validate at the moment of purchase rather than at invoice review. Take opening counts site by site with ordering frozen for that site during the count, and go live one site at a time rather than across the group. Expect the item master work to be your staff's time, not the developer's, and put a named owner on it.

Why do the distributor and case feed integrations break after launch?

Electronic data interchange with McKesson, Medline, Cardinal Health or Henry Schein is well trodden and it still drifts, because catalogues change constantly. Items are discontinued and replaced with a successor code, pack sizes change, and a contract renegotiation moves prices mid quarter. If the catalogue sync is a one time load, your ordering slowly becomes wrong: purchase orders go out against retired codes, confirmations come back with substitutions nobody reviewed, and three way matching starts failing for reasons that look like software bugs and are actually stale reference data.

The case feed from a scheduling or clinical system such as HST Pathways or Surgical Information Systems breaks at the edges. A case cancelled after the cart was picked, a procedure changed on the morning, an add on case that never appeared in the overnight extract. Each of those leaves supplies consumed against a case that no longer matches, and case costing drifts without anyone seeing an error.

The fix is treating reference data as a living feed with monitoring. Refresh catalogues and contract prices on a schedule, flag discontinued items into a review queue rather than silently substituting, and reconcile three way match exceptions daily with a named owner. For the case feed, handle cancellations and changes as events rather than as replacements, and reconcile supplies consumed against cases performed weekly so a divergence shows up in days. Ask any bidder to name the specific distributors and the specific scheduling system they have connected before, because each is its own project and general integration experience does not transfer.

What happens when consignment implants and recall traceability are not covered?

These two get deferred together, usually because they sit outside what procurement platforms model, and they are precisely where your highest unit costs and worst documentation live.

Consignment is vendor owned stock on your shelf where money moves only after an implant goes into a patient. Deferred from scope, the workflow stays as it is: a rep drops off trunk stock, a circulating nurse peels barcode stickers onto a paper implant log, and the business office assembles a bill only purchase order days later, hoping the sticker sheet matches the contract price. Nobody reconciles vendor owned stock against invoices more than occasionally, so price variances and missing charges are found late or not at all.

Recall traceability fails because it depends entirely on the genealogy chain being unbroken. If lot capture was skipped at receiving, or if implant usage is captured on paper, no later feature can reconstruct it. This is one of the few problems in software that genuinely cannot be fixed after the fact.

The fix is to bring both into the first release even in reduced form. A consignment ledger per vendor covering what was checked in, what was implanted and what the rep swapped out, with usage captured by scanning the implant barcode against the case in the operating room and the bill only purchase order generated the same day at your loaded contract price. Mismatches then surface as exceptions rather than as surprises on an invoice. Genealogy follows automatically from the same scans, so a recall becomes a query returning affected lots, their current location or the case they went into, with a printable trail for an accreditation surveyor.

Should you build custom or configure what you already own?

If you run one or two locations, buy standard supplies from a single primary distributor, carry little consignment, and your real pain is ordering workflow, buy. Envi and Hybrent are competent procurement platforms and will improve requisitions, approvals and order confirmations for far less than a build costs. Take that deal and spend the difference elsewhere.

There is also a version of this where the tool you own is underused. Plenty of centers bought a procurement platform, configured requisitions, and never loaded contract prices or turned on catalogue sync, which are the features that would have solved half the complaint. Before commissioning anything, ask your incumbent vendor to show you contract price validation at order time and a par level driven reorder proposal using your own data. If those work, you had an implementation gap. If the honest answer is that the platform does not model lots, consignment or case level usage, that is a genuine fit limitation and no configuration closes it.

Build when three or more are true: three or more locations, implant consignment moving through your operating rooms weekly, expired write offs appearing every quarter, a need for case level supply cost to negotiate with payers or surgeons, and staff maintaining spreadsheets around the edges of a tool you already pay for. That last signal is the clearest one there is, because a shadow spreadsheet is a specification written by the people who know the work.

How do hidden costs get into the quote?

Six items, and two of them are not software.

  • Each distributor connection. Purchase orders, confirmations and invoices as separate document flows, plus catalogue and contract price synchronisation, per distributor.
  • The case feed. A connection to your scheduling or clinical system is its own project, and cancellations and same day changes are where the work is.
  • Item master rationalisation. Your staff's time, and it gates go live at every site.
  • Hardware and site setup. Scanners, wall mounted stations, shelf and bin labelling, opening counts and training, multiplied by every location.
  • Compliance posture. Once supply usage links to a patient case the system touches protected health information, which means a business associate agreement under HIPAA, role based access and audit logging designed in from the start, plus tissue reporting under 21 CFR Part 1271 if you handle grafts.
  • Network reality. Coverage in a concrete walled sterile core, and behaviour when a scanner drops connection mid pick.

What keeps the number down is one distributor, one pilot site and a clone, with consignment added once the receiving and picking chain is proven.

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

Inventory decrements itself. Supplies picked for a case are scanned against that case, at cart assembly or at a station by the supply room door, so perpetual inventory replaces weekly counting and counting shrinks to a short daily cycle count over a rotating slice of the item master. If the quantity in the system only changes when a human counts, you have bought a digital par sheet with a subscription fee.

Scanning works with a gloved hand, in the room where the work happens, and keeps working when the network does not. Test that specifically during evaluation, in your own sterile core, not in a conference room.

Expiry management produces actions rather than reports: ninety, sixty and thirty day alerts by category, and a transfer suggestion moving product from the site that will not use it to the site that will. The write off line becomes a managed monthly number, and your current write off is the honest baseline against which to judge it.

Recall response is rehearsed. Run a drill in the first month with a real lot number and time it. Finding the gap during a drill costs an afternoon. Finding it during a manufacturer notification costs considerably more.

And ownership is written into the contract as work for hire with full source code and intellectual property assigned to your company, with infrastructure accounts in your name. Digital Heroes delivers complete code ownership on every project. Refuse any arrangement where the developer licenses the platform back to you, because that recreates the dependency you set out to escape.

Research & sources

The evidence behind this guide

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

  1. 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) →
  2. McKinsey estimates that digitizing the supply chain (Supply Chain 4.0) can cut lost sales by up to 75%, reduce inventories by up to 75%, and lower supply chain operational costs by up to 30%, with up to 30% lower transport and warehousing costs. Source: McKinsey & Company (2016) →
  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. U.S. retailers lost an average of 1.6% of sales to shrink in FY2022 (up from 1.4% the prior year), equating to $112.1 billion in inventory losses - the benchmark case for POS-integrated loss prevention and inventory accuracy. Source: National Retail Federation (NRF) (2023) →
Eliza W. · Brand Designer · Sydney

Eliza is a brand designer at Digital Heroes, producing the identity work that sits around a product: logos, type, color systems and the guidelines that keep it all consistent once other people start applying it. Her posts are for readers who need brand and product to look like the same company.

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

FAQ

Frequently asked questions

How do we test whether a developer can really capture lot and expiry?
Hand them a box from your own shelf and ask them to demonstrate parsing the barcode into device identifier, lot number and expiration date. Device barcodes in the GS1 or HIBC Unique Device Identification formats already carry all three, so capture should be one scan with no typing. Then ask them to draw the data model. The item, the lot and the physical unit are three different records and expiry belongs on the lot, and a team that puts quantity on the item record will rebuild your spreadsheet.
What is the biggest hidden work item in this project?
The item master. The same product carries different codes at different sites, distributor catalogue numbers and manufacturer part numbers are inconsistently mapped, and contract prices live in a document from the contracting office. Deduplicating and mapping all of it is your staff's time rather than the developer's, and it gates go live. Duplicate records mean duplicate par levels and transfer suggestions that never fire, which destroys staff confidence in the first week.
How should we take opening counts across several sites?
Site by site, with ordering frozen for that site during its count, and go live one site at a time rather than across the group. A count taken across five locations on different days while receiving continues produces a starting position that is already wrong, and every variance afterwards gets argued instead of investigated. Running the pilot site in parallel with par sheets for two to four weeks before cloning is worth the extra time.
Why do distributor integrations drift after launch?
Because catalogues change constantly and a one time load goes stale. Items are discontinued and replaced with successor codes, pack sizes change, and contract renegotiations move prices mid quarter, so purchase orders start going out against retired codes and three way matching fails for reasons that look like bugs. Refresh catalogues and contract prices on a schedule, route discontinued items into a review queue rather than substituting silently, and reconcile match exceptions daily.
Can consignment implants be added in a later phase?
You can, but the traceability chain cannot be reconstructed retrospectively, so anything implanted before the scans start is outside the genealogy permanently. If implants move through your operating rooms weekly, a reduced consignment ledger belongs in the first release: what was checked in, what was implanted, what the rep swapped, with usage scanned against the case and the bill only purchase order generated the same day at your loaded contract price.
We already pay for Envi or Hybrent. Is our problem configuration?
Sometimes. Ask your vendor to demonstrate contract price validation at the moment of order and a par driven reorder proposal using your own data, because plenty of centers never loaded contract prices or enabled catalogue sync and that alone accounts for half the complaint. If the platform genuinely does not model lots, consignment or case level usage, that is a fit limitation rather than a configuration gap, and no amount of setup closes it.
Does this software need to be HIPAA compliant?
Yes, as soon as supply usage is recorded against patient cases, which is exactly what makes it valuable for case costing and implant logs. That link makes the data protected health information, so you need role based access, audit logging, encryption and business associate agreements with your development and hosting vendors, designed in from the start rather than added later. Handling human tissue brings 21 CFR Part 1271 traceability obligations on top.
How do we know the recall response actually works?
Run a drill in the first month using a real lot number from a product you stock, and time it. The system should return every affected lot, its current location or the case it went into, and a printable trail suitable for an accreditation surveyor. A drill that takes an afternoon to fail is cheap. Discovering the same gap during a manufacturer notification, with a clinical team waiting on the answer, is not.
What's a realistic timeline for building a custom inventory system?
A usable first version covering receiving, stock movements, scanning, and low-stock alerts ships in 8 to 12 weeks across Digital Heroes inventory builds. Full multi-warehouse systems with Shopify, Amazon, and accounting integrations run 4 to 6 months. Any quote under 6 weeks usually means the vendor has not scoped concurrency handling or data migration.
What tech stack should a custom inventory system be built on?
A deliberately boring one: PostgreSQL for the stock ledger, a mainstream backend such as Node.js, Python, or .NET, a web dashboard, and a mobile app or mobile web interface for scanning. The data model matters far more than the language; an append-only movement log with atomic stock updates prevents overselling in any stack. Reject anything exotic that only the original developer can maintain.
Can custom inventory software connect to QuickBooks, Shopify, and Amazon?
Yes, and integrations are where custom usually beats off-the-shelf, because they are built to your exact field mapping instead of a connector's assumptions. A typical build syncs orders and stock with Shopify and Amazon in near real time and pushes purchase and cost of goods sold data to QuickBooks or Xero on your accounting schedule. Each production-grade integration adds roughly $3,000 to $8,000 in Digital Heroes builds, so list every system during scoping.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
What are the most common mistakes companies make on inventory software projects?
Three failures dominate: quoting from a one-line brief so real requirements arrive later as change orders, skipping concurrency testing so the first peak season produces oversells, and going live without running the new system in parallel with the old one. All three are process failures rather than coding failures. A two-week parallel run where both systems track the same stock catches most launch disasters before they cost money.
We already use Fishbowl. When does replacing it with custom software make sense?
Replace Fishbowl when you are paying for workarounds: manual exports to cover missing reports, third-party connectors patching integration gaps, or processes bent to fit its QuickBooks-centric model. Fishbowl remains a solid choice for QuickBooks-linked manufacturing inventory, so if it fits your workflow, keep it. Custom wins when your process is the differentiator, for example serialized rentals, consignment stock, or a picking flow Fishbowl cannot model.
What does upkeep on a custom inventory system cost per year?
Budget 15 to 20 percent of the build cost per year, so a $50,000 system runs roughly $8,000 to $10,000 annually across Digital Heroes maintenance contracts. That covers hosting, security patches, integration updates when Shopify or Amazon change their APIs, and small improvements. Skipping it is how a channel sync quietly breaks in month nine and corrupts your counts.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
How many people does it take to build inventory management software?
A typical build runs with 4 to 6 people: a project lead, one or two backend developers, a frontend or mobile developer for the scanning interface, and a QA engineer. The backend carries most of the effort, because stock logic and integrations are where these systems succeed or fail. Be cautious of a one-person team quoting a multi-warehouse, multi-channel build.
Who can build a custom inventory management software system?

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