Problems & solutions · Custom Software

Laboratory Animal Facility Software Problems: The 7 That Cost You a Defensible Census, and How to Avoid Them

Laboratory Animal Facility Management Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure is a system that stores current state instead of history. A cage record with a room field and an occupancy number answers today's question and no other. When a sentinel comes back positive, the containment query cannot run, so the exposure set is reconstructed from paper transfer forms over several days and nobody fully trusts the answer. The same design flaw makes per diem disputes unwinnable, because a charge can be shown but not explained, and it makes protocol allocation a reconciliation exercise rather than a computed number.

Why does the whole facility in one release keep failing?

The scoping meeting includes the facility director, the attending veterinarian, the institutional animal care and use committee office and finance, and every one of them has a genuine pain. So release one is scoped to cover census, breeding colonies, genotyping, health surveillance, quarantine, treatment records, cage cards, per diem billing and United States Department of Agriculture reporting, across rodents and the aquatics facility. Nine months later there is a demonstration environment and the technicians are still writing on cage cards.

What makes this specific to a vivarium is that species classes are effectively different systems. An aquatic facility running zebrafish has a tank and system based housing model, different density rules and different husbandry events. A rodent facility has cages, racks and a breeding pedigree. A build that does both properly is two builds sharing a login, and pretending otherwise is the single most common reason these projects overrun.

Sequence by the data problem rather than by the department. Release one is event based census with barcode scanning at the rack, protocol allocation tracking with threshold warnings, and per diem charge generation with account validation, for one species class. That single foundation resolves billing disputes, allocation warnings and the containment query at the same time, because all three are the same underlying data problem. Colonies, health surveillance, treatment records and reporting build on top of it.

What goes wrong when you migrate census, colony and billing history?

Census migration fails on the same assumption every time: that the current cage list is accurate. It is a snapshot maintained under time pressure by people whose priority is animal welfare, not data entry. Cages have been weaned out without the record catching up, animals have been transferred between protocols verbally, and occupancy is an estimate on any rack that has not been walked recently.

Load it as is and the first month of per diem charges is wrong in a way that is impossible to defend, because you have no event history to explain any of it. That is the worst possible first impression to make on principal investigators whose grant accounts are being charged, and it is very hard to recover from.

Do a counted opening census instead. Walk the rooms, scan or record every cage, and treat that count as the founding event of the system with a date attached. It is a few days of technician time and it makes every subsequent charge traceable to a starting point everybody agreed.

Pedigree migration is the second trap. Breeding records in a colony tool carry generations of relationships, and partial imports break the lineage in ways that surface later when a lab cannot trace a line back to its founder. Import complete lines or leave them where they are. Historic per diem charges are the third and should generally not migrate at all, because recomputing past charges under new rules invites disputes about periods that were already settled. Keep them as a read only archive.

Why do the protocol, finance and hardware integrations break after launch?

The protocol system integration matters most because approved animal numbers must come from there rather than being retyped. It breaks when a protocol is amended and the approved number changes without the facility system hearing about it, which means allocation warnings fire against a stale limit. Sometimes that means unnecessary alarm. Sometimes it means silence when there should be a warning, which is the bad direction.

Finance breaks on account periods. A per diem charge landing on an expired award becomes a cost transfer, and cost transfers on federal awards attract attention nobody wants. The integration therefore has to validate the account's period and status before posting rather than after, and it has to handle the case where an account closes mid month.

Hardware is the third and it is underestimated with remarkable consistency. Cage card printers, label stock and scanners are a real integration, not an accessory. Labels have to survive cage wash and humidity, layouts vary by protocol, and printers have to sit where technicians actually work rather than where there happens to be a network point.

Fix the first two with scheduled reconciliation and named exception owners: any protocol whose approved number differs between systems, any account that fails validation. Fix the third by specifying existing printers, label stock and scanner models during discovery, and by testing a printed card through an actual cage wash cycle before go live rather than after.

What happens when counting policy and movement history are not covered?

Two gaps produce regulatory consequences rather than inconvenience. The first is the counting policy against approved numbers. A protocol approves a number of animals, sometimes broken down by species, strain and pain category. The facility operates in cages. Whether breeders count against the same allocation, whether weanlings count when produced or when used, and how animals transferred between protocols are counted are all decisions with more than one defensible answer, and they are your committee's decisions rather than a software default.

Systems that leave this implicit produce a total that is an accident of how the code adds things up. When that total is wrong in the permissive direction, the first sign is a technician counting a rack and finding six hundred animals on a protocol approved for four hundred. That is a deviation, it goes to the committee, it appears in the semiannual programme review, and during an accreditation visit it becomes a finding about institutional oversight rather than about one laboratory's arithmetic.

The second gap is movement history, which is the failure named at the top of this page. Every cage and animal needs an append only movement record so a containment query returns the exposure set with dates in seconds. Health status has to be an attribute of a room and a rack with an effective period, so the system can answer what the status was in March rather than only what it is now.

Both belong in the first release. The counting policy must be explicit, versioned configuration with the rationale recorded, and it should warn at a threshold you set, such as eighty percent of an allocation, so a protocol amendment can be filed while there is still time. Movement history cannot be retrofitted, because history you did not record does not exist.

Should you build custom or configure what you already own?

Do not build if you are under roughly fifteen hundred cages, single species, with no breeding colonies and per diem billed to a small number of accounts. SoftMouse or a modest Climb deployment will serve you and a custom build would cost more than the problem. We say that on first calls regularly.

SoftMouse and RockStep Climb are also genuinely good at the colony and pedigree side, which is where the enterprise facility systems are weakest. If your only real pain is colony management, adding a colony tool beside your existing facility system is cheaper than replacing anything. a-tune tick@lab and Topaz Elements do real work on census and billing, and if your rate structure and cage cards fit what they already do, keep them.

Build when two or more of these hold: your census and approved numbers are reconciled by a person rather than computed; per diem billing generates disputes you cannot settle from records; your breeding colonies are large enough that projected census matters to cage wash and space planning; a sentinel positive would mean reconstructing movement from paper; or you run more than one species class, particularly aquatics alongside rodents, where one packaged product tends to serve one well and the other poorly.

How do hidden costs get into the quote?

Species classes are the largest multiplier and the most frequently glossed over. Ask explicitly whether aquatics are in the quoted number, and what the housing model is for them, because tanks and recirculating systems are not cages with a different label.

Second, cage cards and barcode hardware, which sounds trivial and is not once you have per protocol layouts, label stock constraints and printers positioned around a wash cycle. Third, the counting policy itself, which is not engineering at all: if your institution has not written it down, agreeing it is a governance exercise involving your committee and it takes weeks of calendar time regardless of how fast anyone codes.

Fourth, integration with the protocol system, and fifth, integration with the finance system for per diem posting. Ask what is included per additional species class and per additional integration, and ask whether the quote assumes your counting policy already exists in writing.

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

Ask how they model an animal, a cage and a location over time. If they draw a cage record with a current room field, both containment queries and per diem disputes will be unanswerable, because both need history rather than current state. That single question predicts more about the outcome than anything else in the proposal.

Then ask how the counting policy will be configured and whether it can be versioned when your committee revises it. A developer who assumes there is one obvious way to count animals against an approved number has not spoken to two committees.

The builds that work make capture fast enough to survive a real vivarium. A technician scanning a cage card during a room walk creates a verified census event in about two seconds, and anything slower gets skipped on a busy morning. They generate charges from the event stream rather than from a nightly snapshot, so a disputed charge is answered by showing events rather than by arguing. The builds that fail are careful, complete and slow to use, so the technicians keep a paper list, the paper list becomes the real record, and the facility ends up paying for a system that documents a process nobody follows.

Research & sources

The evidence behind this guide

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

  1. This analysis cites IDC research that companies lose 20-30% of revenue annually to inefficiencies caused by data silos, Gartner's estimate that poor data quality costs organizations at least $12.9 million per year on average, and a Salesforce benchmark that 80% of IT leaders say data silos hinder digital transformation - illustrating the business case for integrating systems. Source: Cherry Bekaert (citing IDC, Gartner, Salesforce, DATAVERSITY) (2024) →
  2. Per the Standish Group CHAOS 2020 report (reviewed at this URL), across tens of thousands of software projects roughly 31% end successfully, about 50% are 'challenged', and roughly 19% fail outright; small projects succeed far more often than large ones, and Agile approaches succeed at markedly higher rates than Waterfall. Source: The Standish Group (2020) →
  3. SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
  4. Total US training expenditure rose 4.9% to $102.8 billion; learning management systems were used at 89% of organizations (90% of large, 97% of midsize, 84% of small companies), with average training at 40 hours per employee and $874 spent per learner. Source: Training Magazine (2025) →
James M. · Senior Strategist · Fintech · London

James covers financial services work, where a feature request usually arrives attached to a compliance requirement. He is worth reading if you are scoping payments, lending or account software and need to know which decisions are technical, which are regulatory and which are simply expensive.

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

FAQ

Frequently asked questions

How should we sequence a vivarium build so the first release is useful?
One species class, with event based census, barcode scanning at the rack, protocol allocation tracking with threshold warnings, and per diem charge generation with account validation. That single foundation resolves billing disputes, allocation warnings and containment queries at once, because all three are the same data problem. Colonies, genotyping, health surveillance, treatment records and reporting build on top of it.
Can we just import our current cage list as the opening census?
No, and this is where most first month billing disputes come from. The current list is a snapshot maintained under time pressure by people whose priority is animal welfare. Walk the rooms, scan or record every cage, and make that counted census the founding event with a date attached. It costs a few days of technician time and makes every subsequent charge traceable to a starting point everyone agreed.
Should breeding pedigrees be migrated from our existing colony tool?
Only as complete lines. Partial pedigree imports break lineage in ways that surface much later, when a laboratory cannot trace a line back to its founder and the gap cannot be repaired from memory. Import whole lines or leave them in the existing tool and integrate. Historic per diem charges are different: leave those as a read only archive rather than recomputing settled periods under new rules.
Why do allocation warnings fire against the wrong approved number?
Because a protocol was amended and the approved number changed without the facility system hearing about it. That can produce unnecessary alarm, or worse, silence when there should be a warning. Reconcile approved numbers between the protocol system and the facility system on a schedule, and raise any protocol where the two disagree as an exception with a named owner rather than trusting a one time import.
Who decides how animals count against an approved number?
Your institutional animal care and use committee, not the software. Whether breeders count against the same allocation, whether weanlings count when produced or when used, and how transfers between protocols are handled all have more than one defensible answer. It must be explicit versioned configuration with the rationale recorded, and if your institution has not written it down, agreeing it is a governance exercise that takes weeks of calendar time.
What does it take to answer a containment question in seconds?
An append only movement history for every cage and animal, plus health status modelled as an attribute of a room and a rack with an effective period. Then the query returns which rooms, racks and animals were exposed over which dates. Systems storing only current location force a reconstruction from paper transfer forms that takes days and produces an answer nobody fully trusts, which is the wrong footing during an outbreak.
Why do cage cards and label stock delay go live so often?
Because layouts vary by protocol, labels have to survive cage wash and humidity, and printers have to sit where technicians actually work rather than where a network point happens to exist. Specify existing printers, label stock and scanner models during discovery, and run a printed card through a real wash cycle before go live. This is the detail that most often extends a schedule after everything else is ready.
Is aquatics included in a typical vivarium quote?
Ask explicitly, because it usually is not modelled properly even when it is mentioned. Tanks and recirculating systems are a different housing model with different density rules and different husbandry events, so a system that does rodents and aquatics well is effectively two systems sharing a login. Species classes are the largest cost multiplier in this category and the most frequently glossed over in proposals.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
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.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
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.
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.
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.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
Should we build an MVP first or go straight to the full system?
MVP first, for almost everyone: ship the single workflow that carries the business value in 10 to 16 weeks, learn from real users, then fund phase two from evidence instead of guesses. The caveat is that an MVP is a small version of a well-built system, not a badly built version of a big one; the data model must already support what comes next. An agency that cannot tell you what they deliberately left out of your MVP has not designed one.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
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.
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?