Industry guide · ERP

Academic Library Services Platform Development: Why Does the Article Your Catalogue Promised Land on a Paywall?

Academic Library Management software visual showing library big, recurring cycle, and database search.
The short answer

If you are a library director at a research or consortial library spending more than roughly $2M a year on collections, and your link resolver sends users to paywalls because the knowledge base does not match what you actually licensed, targeted custom work is worth funding. A focused first release covering holdings reconciliation, licence term modelling, and a link failure feedback loop typically runs $90,000 to $200,000 and ships in 14 to 20 weeks in our delivery experience. A larger programme adding consortial borrowing logic, fund encumbrance and vendor invoicing, reserves workflow and repository integration, whether around FOLIO or alongside Alma, runs $250,000 to $600,000 phased over 9 to 18 months. A single campus library under about $500,000 in collections spend should run Koha or WorldShare and spend the money on content.

Why the library system fails at the moment a researcher needs it

A doctoral student finds a 2019 article in a discovery search at 11pm. The catalogue shows full text available. She clicks, passes through the proxy, and lands on a publisher page asking for $42. The library does hold that journal, but only from 2021 forward, because the package changed at renewal and the knowledge base still carries the old coverage dates. She does not report it. She uses a different route to the article and quietly concludes the library website does not work.

That failure is invisible by design. The only people who see it are users, and users do not file tickets, they route around. Meanwhile the library is paying for content that is genuinely licensed and genuinely unreachable, which is the most expensive possible failure mode for a collections budget.

The stack is Ex Libris Alma with Primo, or FOLIO with a discovery layer, or Koha, or OCLC WorldShare, or a SirsiDynix estate, plus EZproxy or OpenAthens for authentication, a link resolver reading a vendor maintained knowledge base, ILLiad or Tipasa for interlibrary loan, a repository like DSpace or Hyrax, reserves in Ares or Leganto, and a spreadsheet of licence terms that a licensing librarian maintains because the terms live in signed PDFs. Every one of those systems is competent. The failure is at the joins, and the joins are where a library's actual local practice lives.

In the library projects we have delivered, the recurring pattern is a small number of expensive gaps rather than one broken system: holdings that do not match entitlements, licence terms nobody can query, consortial rules that no vendor configuration expresses, and fiscal year end reconciliation done by hand. Our honest position on this category, before anything else: you should almost never build a replacement library services platform. You should build the pieces around one.

Problem 1: your knowledge base is a vendor's approximation of what you bought

Coverage in a knowledge base comes from packages maintained centrally by a vendor, and it is generally good and never exact for your institution. Title transfers between publishers mid year. A package swaps titles at renewal. You hold perpetual access to a backfile that the current package does not include, and nothing in the knowledge base knows about your post cancellation rights.

Alma and FOLIO both consume knowledge base data competently, and the vendors maintain it seriously. The gap is not their diligence, it is that the source of truth for what you own is your licence and your entitlement files, not their package definition. Nobody reconciles the two because it is a data job across formats nobody has time for.

What a custom build does: ingest what you actually receive, meaning KBART title lists from each provider, your perpetual access records, and your own local holdings, then reconcile them against the knowledge base and produce an exception list. The output is a weekly worklist for your electronic resources librarian showing where the resolver believes something different from your entitlement. That is not a glamorous product and it is the highest return work in this category. Pair it with a link failure loop: capture resolver outcomes, detect the pattern where users click through and immediately return, and turn silent failures into a queue. You cannot fix what nobody reports, and users will not report.

Problem 2: licence terms are in signed PDFs and every decision needs them

Can this journal be used for interlibrary lending. Can this ebook go on course reserve. Does walk in access cover the public. Do you have post cancellation rights on this backfile and for which years. Is text and data mining permitted. Every one of those questions has an answer in a signed agreement, and staff answer them from memory or by opening a PDF and reading.

Electronic resource management modules exist in both Alma and FOLIO and they can hold structured terms. The reason so many libraries do not use them well is that entering terms is slow and the benefit is not visible until an ILL request arrives at 4pm. So the fields sit empty and the knowledge stays with the licensing librarian.

What a custom build does: two things. First, make the terms operational rather than reference, so the ILL system asks the licence at request time and returns a decision with the clause attached, and the reserves workflow does the same. When a decision is a byproduct of a system rather than a lookup, the data gets maintained. Second, this is where a language model earns its place in a library: run extraction over your signed agreement PDFs to draft the structured terms, with the extracted clause quoted beside each field and a human librarian confirming. Extraction is a first pass, not an authority, and the design should make that explicit. But turning a filing cabinet of agreements into a reviewable queue is the difference between having the data in three years and never having it.

Problem 3: consortial rules exist in agreements and no vendor configuration covers them

Reciprocal borrowing with a partner group where their patrons get local privileges but different loan periods. A shared print agreement where your institution has committed to retain specific titles for a defined period and cannot deselect them. A consortial purchase where cost share is calculated by full time equivalent and access is granted at a group level while entitlement is recorded individually. Patron driven acquisition where a trigger at one member institution creates a purchase obligation across the group.

Alma supports network zones and FOLIO supports consortial patterns, and both are real capabilities. The wall is that your consortium's agreement was negotiated by people, contains rules that were never designed for expression in software, and changes when the agreement is renegotiated. Every consortium we have worked with has at least one rule that exists nowhere but in the memory of the group's operations manager.

What a custom build does: express the agreement as rules in one place, alongside the shared print retention commitments, so a deselection proposal is checked against retention obligations automatically before anyone withdraws a volume that your group promised to keep. Interlending decisions consult reciprocity rules and licence terms in the same call. Cost share allocation is computed from stored formula and membership data, which turns the annual invoice argument into a report. This is the work that is genuinely uneconomic for a vendor to build, because it is one consortium's agreement, and that is exactly why it is a good custom build.

Problem 4: acquisitions and the fiscal year end are a reconciliation you do by hand

Funds are encumbered when you order, expended when you pay, and the difference matters intensely in the last six weeks of a fiscal year when a library is trying to spend precisely to its allocation. Vendor invoices arrive by EDIFACT from suppliers like GOBI or EBSCO, in currencies that moved since the order, with service charges that do not map to your fund structure, and your institution's finance system has its own view of the same money.

The acquisitions modules do encumbrance properly. The gap is between the library ledger and the institutional ledger, plus the multi year prepayments and the mid year package amendments that arrive as a credit note nobody can allocate.

What a custom build does: reconcile the library ledger against the institutional finance system continuously rather than at year end, with a difference report that names the cause. Model multi year agreements with the payment schedule and the amortisation your controller expects. Handle currency at both order and payment with the variance recorded rather than absorbed. For patron driven and evidence based acquisition, project committed spend from trigger rates so your collections budget manager knows in March what the demand driven programme will cost by June, rather than finding out. That projection is the feature collection managers ask for most and the one no standard module provides.

Problem 5: migration is the project, and local practice is what makes it hard

Any move, whether Voyager or Millennium to Alma, Alma to FOLIO, or a consortial migration where twelve libraries move together, is dominated by data. Your MARC records carry local practice going back decades: a 590 note that means something specific to your institution, item types that encode circulation policy, location codes that reference a building demolished in 2008, and serials holdings statements written in a style one cataloguer used.

What a custom build does in this context is not replace the platform, it is de risk the move. Profile the existing data and report on it honestly, so the library learns before cutover which records will not map. Write the transformation rules as tested code rather than as a vendor spreadsheet, so a rule change re-runs in minutes. Reconcile after load, comparing counts and samples by material type and location, because the failure mode in migrations is not a crash, it is a quiet loss of a category of records nobody checked. And keep a queryable copy of the legacy data for two years, because someone will ask a question the new system cannot answer. FOLIO deserves a specific note here: as an open platform it is the one case where building modules rather than around them is genuinely sensible, and a library with unusual workflows and some development capacity can get further with FOLIO plus custom modules than with any configuration of a closed product.

What this costs and how long it takes

Across the 2,000-plus projects Digital Heroes has delivered, this is the honest shape. A focused first release, meaning entitlement and holdings reconciliation with an exception worklist, structured licence terms with extraction assisted entry, and a link failure detection loop, runs $90,000 to $200,000 and ships in 14 to 20 weeks. A larger programme adding consortial borrowing and shared print retention logic, fund encumbrance reconciliation against institutional finance, demand driven acquisition spend projection, reserves and repository integration, and custom FOLIO modules where that is the platform, runs $250,000 to $600,000 phased over 9 to 18 months. Migration support is scoped separately and depends almost entirely on the state of your legacy data.

What drives price up specifically in libraries: consortium size, because each member institution brings its own policies and its own opinions. The number of content providers whose files you must ingest, since KBART, COUNTER 5 and SUSHI are standards that providers implement with real variation. Authentication estate, because EZproxy configuration and an OpenAthens or SAML migration is its own workstream. The age and idiosyncrasy of your bibliographic data. And whether you need repository and research information integration, which pulls in ORCID, DOI registration and sometimes a research data management workflow.

What keeps price down: starting with entitlement reconciliation and link failure detection alone. Those two touch nothing else, deliver visible value in the first month, and give you evidence for the larger business case.

Build versus buy, and when buying is the right call

Buy, and we will be direct: do not build a library services platform. A single campus library under roughly $500,000 in collections spend should run Koha or OCLC WorldShare and put the difference into content and staff. Alma is a strong product and for many institutions the right centre of the stack. FOLIO is a genuine alternative when you have or can hire technical capacity, and Koha remains excellent value for straightforward operations.

Build, meaning build around the platform, when two or more of these hold. Your link resolution failures are known to be significant and nobody owns the reconciliation. Your consortium has rules that no vendor configuration expresses and your operations manager is the only person who knows them. Your licence terms are unqueryable and staff are making interlending and reserves decisions from memory. Your fiscal year end reconciliation with institutional finance takes weeks. Or you are on FOLIO and have identified specific workflows where a custom module is cheaper than the workaround you are living with.

Our position: this category rewards precision and punishes ambition. The libraries that get value from custom development build three or four specific things and leave the platform alone. The ones that get hurt try to replace something a vendor spent fifteen years on.

How to choose a developer for academic library software

Ask them what KBART, COUNTER 5 and SUSHI are before you explain them. A developer who has worked in this domain will start talking about how inconsistently providers implement all three, which is precisely the problem you are hiring them to absorb. One who has not will treat file ingestion as trivial and be surprised for four months.

Ask how they would prove a link resolution failure exists. If the answer is that users will report it, they do not understand that silent failure is the defining characteristic of this problem and the whole point is detection.

Ask what they have done with MARC and with your ILS specifically. Alma APIs, FOLIO modules built in its own framework, Koha plugins and SirsiDynix integrations are four different bodies of knowledge, and the one that matters is the one you run. Ask for the platform and the interface, not a claim about experience with libraries.

Ask who owns the code, in writing, before kickoff. You should own the repository, the cloud accounts and the right to hire another firm, and for FOLIO work you should also agree upfront what goes back to the community. At Digital Heroes the client owns the code from the first commit. Libraries have long institutional memories and short vendor relationships, and your local logic should outlive both.

Research & sources

The evidence behind this guide

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

  1. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  2. Across more than 5,400 IT projects studied by McKinsey and the University of Oxford BT Centre, large IT projects ran on average 45% over budget and 7% over schedule while delivering 56% less value than predicted. Source: McKinsey & Company / University of Oxford (BT Centre for Major Programme Management) (2012) →
  3. McKinsey found that currently demonstrated technologies can fully automate about 42% of finance activities and mostly automate a further 19%, indicating roughly 60% of finance work is technically automatable. Source: McKinsey & Company (2018) →
  4. 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) →
Tom C. · People Operations Lead · North America · New York

Tom leads people operations for North America: hiring, onboarding, and keeping the day to day of employment running while teams work across five offices and several time zones. He writes about how staffing decisions shape delivery, which clients feel long before they hear about them.

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

FAQ

Frequently asked questions

How much does custom academic library software cost?
A focused first release covering entitlement and holdings reconciliation, structured licence terms and link failure detection runs $90,000 to $200,000 and ships in 14 to 20 weeks, based on Digital Heroes delivery experience. A larger programme adding consortial borrowing rules, fund reconciliation, acquisition spend projection and custom FOLIO modules runs $250,000 to $600,000 over 9 to 18 months. Consortium size and the number of content providers whose files you ingest drive most of the variation.
Should we build our own library services platform instead of buying Alma or FOLIO?
No, and we would advise against it plainly. Alma, FOLIO, Koha and WorldShare represent many years of work on cataloguing, circulation and acquisitions that no custom project should try to reproduce. The value in custom development here is in the specific gaps around the platform: entitlement reconciliation, licence terms as operational data, consortial rules, and finance reconciliation. Libraries that build three or four precise things get value, and those that attempt replacement do not.
Why does our link resolver send users to paywalls for content we license?
Because the knowledge base is a vendor's centrally maintained approximation of your package, and your actual entitlements diverge from it through title transfers, package changes at renewal and perpetual access rights it does not know about. The fix is to reconcile the KBART title lists you receive, your perpetual access records and your local holdings against the knowledge base, then work an exception list weekly. Add outcome capture at the resolver, because users route around silent failures rather than reporting them.
Can we get our licence terms out of PDFs and into a system that uses them?
Yes, and the key is making the terms operational rather than reference data. Interlibrary loan and course reserves workflows should query the licence at request time and return a decision with the governing clause attached, which is what keeps the data maintained. Language model extraction over signed agreements is a legitimate first pass here, drafting structured terms with the source clause quoted beside each field for a librarian to confirm, but it should never be treated as authoritative on its own.
Does FOLIO make custom development easier than a closed platform?
Yes, and it is the one case in this category where building modules rather than working around a product is genuinely sensible. FOLIO's module architecture is designed for extension, so a library with unusual workflows and some technical capacity can go further than any configuration of a closed system allows. The trade is that you take on operational responsibility, so plan for hosting, upgrades and community engagement rather than treating it as a one time build.
How do we handle consortial borrowing and shared print rules that no vendor supports?
Express the agreement as rules in one place, including reciprocal borrowing privileges, loan period differences, cost share formulas and shared print retention commitments. The high value check is running deselection proposals against retention obligations automatically, so nobody withdraws a volume the group promised to keep. These rules are uneconomic for a vendor to build because they belong to one consortium, which is exactly what makes them a sound custom project.
What should we do about a migration to a new library platform?
Treat the data as the project. Profile the legacy records first and report honestly on what will not map, write transformation rules as tested code rather than a spreadsheet so changes re-run in minutes, and reconcile after load by comparing counts and samples per material type and location. The usual failure is not a crash but the quiet loss of a category nobody checked. Keep a queryable copy of the legacy data for about two years, because someone will ask a question the new system cannot answer.
Can custom software help us forecast demand driven acquisition spend?
Yes, and it is one of the most requested features that standard modules do not provide. Projecting committed spend from observed trigger rates lets a collections manager know in March what a patron driven or evidence based programme will cost by the end of the fiscal year, rather than discovering it. Pair that with continuous reconciliation against your institutional finance system so encumbrance and expenditure differences are explained as they occur rather than at year end.
Who owns the code if an agency builds library software for us?
You should own the repository, the cloud infrastructure accounts and the right to hire another firm, agreed in writing before kickoff, and for FOLIO work you should also settle upfront what is contributed back to the community. At Digital Heroes the client owns the code from the first commit. Libraries keep institutional memory far longer than they keep vendor relationships, so local logic should outlive both the vendor and the platform generation.
Is a custom ERP cheaper than NetSuite over five years?
Often yes once you pass roughly 20 to 30 users. NetSuite is commonly quoted at $999 per month for the base platform plus about $99 per user per month, so a 30-user company spends over $200,000 on licenses across five years before paying for implementation. A custom build in the $120,000 to $250,000 range is a one-time cost, and in Digital Heroes projects annual upkeep runs 15 to 20 percent of build cost with no per-seat fees as you hire.
Is customizing Odoo cheaper than building an ERP from scratch?
Usually yes in year one, and often no by year three if your workflows sit far from Odoo's assumptions. Odoo's published pricing starts around $25 per user per month and the Community edition is free, but heavy customization means every version upgrade can break your modules and needs paid rework. If you expect to rewrite more than about a third of the core flows, a scratch build with clean ownership tends to cost less over the life of the system.
Is SAP overkill for a mid-sized company?
For most companies under about 500 employees, yes. SAP S/4HANA is built for multi-entity, multi-country enterprises with implementations measured in years and seven figures, while SAP Business One, the mid-market product, still forces your processes into its mold. If your competitive edge lives in how you operate, a custom ERP scoped to your actual workflows ships faster and costs a fraction of an SAP program.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
What should I prepare before contacting an ERP development agency?
Bring a list of your current tools and spreadsheets, a rough map of how an order or job moves through the company today, your user count by role, and the three problems costing you the most hours. You do not need a formal specification; a good agency writes that with you during discovery. Companies that arrive with those four things typically cut two to three weeks off scoping in our experience.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
Can I start with one ERP module instead of the full system?
Yes, and it is how most successful custom ERP projects at Digital Heroes begin. We build the single module causing the worst pain first, typically inventory or order management, get it live in 10 to 14 weeks, and let it prove ROI before the next phase gets funded. Starting with one module also derisks data migration because you move one dataset at a time.
Who can build a custom ERP software system?

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