Problems & solutions · Business Intelligence Dashboards

Loan Covenant Monitoring Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Loan Covenant Monitoring Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in this category is a covenant tested against a generic ratio instead of the negotiated definition in the credit agreement. The system reports a pass, the credit deteriorates quietly, and the breach is discovered at the annual review or by the workout team a year later. By then the inventory has moved, the line is fully drawn and your remedies were never preserved. The gap between finding a covenant failure on the June statements and finding it the following February is the difference between a restructuring you negotiate from strength and a loss you provision for. Every other problem on this page is a variation of that one.

Why does the covenant module get scoped as a picklist and then need rebuilding?

Because the demonstration looks right. Every credit platform shows a library: leverage ratio, fixed charge coverage, debt service coverage, tangible net worth. You choose one, enter a threshold and a test frequency, and the system tests it. Nobody in the room disagrees, because everyone is thinking about the covenants they can name rather than the agreements they have actually signed.

Then implementation starts and someone opens the top twenty credit files. Adjusted EBITDA in the sponsor backed deal adds back restructuring charges up to a cap, excludes an unconsolidated joint venture and includes pro forma effect of an acquisition. The deal next to it defines fixed charges to include owner distributions and the one after that does not. Two credits carry step down schedules. One has an equity cure right that retroactively fixes a breach if capital is injected inside a set window.

At that point the project has two bad options. Encode the negotiated definitions somewhere the system cannot see, which means a spreadsheet, and you have rebuilt the problem you were paying to remove. Or have a developer hand code each definition, which turns every new credit agreement into a change request and every amendment into a support ticket.

The fix is a week of reading before a line of code. Take your fifty largest exposures, open the definitions section of each agreement, and write out in plain language every add back, cap, exclusion, pro forma adjustment, equity cure and step down you find. That document is the specification. Then make anyone bidding show you, on screen, how a credit administrator authors one of those definitions as a formula over spread line items without engineering help. If they cannot, the scope is wrong, and week one is a much cheaper place to learn that than month five.

What goes wrong when you migrate spreads and covenant definitions out of the credit files?

The source data is in two awkward states. The covenant definitions are prose, sitting in Word documents and scanned PDFs in the loan file. The spreads are numbers in analyst workbooks built under conventions that were never written down. One analyst treated owner distributions as a fixed charge and another did not. Guarantor K-1 income was spread by whoever was free that week. Nothing catches the difference, because there was never a rule, only a habit.

The failure mode is importing that history exactly as it stands. You end up with a portfolio where a leverage ratio in one credit does not mean the same thing as the same ratio in another. The early warning reports then run on top of it, produce results credit officers know are wrong, and the system loses their trust inside a quarter. Trust in a credit system is spent once.

The fix is to rebuild the mapping rather than import the output. Build a chart of accounts crosswalk per borrower that persists between periods, then restate at least the last four periods under the new mapping so trend lines are comparable. Older history stays in the file as a document, clearly labelled as historic and not used in trend calculations. Document extraction genuinely helps here, since statements, tax returns and their standard schedules are structured enough to populate a draft spread, but treat the output as a draft an analyst corrects. The correction rate falls sharply for repeat borrowers once the crosswalk exists.

Budget the analyst hours explicitly and name the analysts. This is credit work, not engineering work, and quietly assuming the development team will absorb it is one of the most reliable ways to slip a schedule by six weeks.

Why do the core banking and borrowing base feeds break after launch?

The behavioural signals that make early warning worth having, meaning deposit balances, line utilisation, payment behaviour and overdraft activity, live in your core system rather than your credit file. Joining them is the point. The problem is that core extracts are usually built once, by whoever had time, as a nightly file with no monitoring around it.

Then the core is upgraded. A field is renamed, a file arrives empty, or the job silently fails. The watchlist keeps rendering, but on data that stopped moving five weeks ago. Nobody notices, because a watchlist that gets shorter looks like good news, and the first sign of trouble is a credit officer asking why a borrower who is clearly struggling has not appeared on it.

Borrowing base certificate ingestion fails the same way with a different trigger: the borrower changes their template and the ineligibility calculation silently reads the wrong column.

The fix is to make data freshness a visible fact rather than an assumption. Every derived signal carries the timestamp of the data it was computed from, and screens display it. A feed that has not delivered on schedule raises an operational alert to a named person, not an email nobody owns. Totals reconcile daily against a known core report so a partial file is caught rather than accepted. And whoever owns the integration should be on the distribution list for your core provider's release notes, which sounds obvious and is almost never arranged.

What happens when breach workflow, waiver expiry and the reporting tickler are left out?

These three get cut from scope more often than anything else, because they look like administration rather than analysis. They are where the money actually goes.

A breach is a legal event with a sequence attached: verification that the calculation is right, a decision on whether to send a reservation of rights letter to preserve remedies, a credit officer assessment, a waiver or amendment with pricing, a risk rating review, and often a change in accrual status that flows to regulatory reporting. Run that by email and there is no coherent record, which matters twice. When the credit deteriorates, your remedies depend on what you preserved. When an examiner asks how the bank responded to an identified weakness, a chain of forwarded messages is not an answer.

Waiver expiry is the quiet one. A covenant waived for two quarters, recorded as a note with no end date, stops being tested and never starts again. Nobody decides to abandon the protection. It simply stops existing, and the discovery usually happens during a workout.

The reporting tickler drifts for a different reason. Every credit carries obligations distinct from its covenants: audited statements, interim statements, borrowing base certificates, guarantor tax returns, insurance and compliance certificates. They are typed into a spreadsheet that was accurate on the day it was built, then a loan is modified, a guarantor released, a facility added, and the tab is not updated. Examiners test this reliably because it is the easiest thing in a credit file to check.

The fix is to generate obligations from the credit structure rather than typing them, so adding a facility creates its reporting requirements and releasing a guarantor removes theirs. Model the breach as a case carrying the calculation snapshot and the cited agreement section, with approvals at the authority level your policy requires and correspondence generated from your own templates. Give every waiver a mandatory expiry date and conditions, so the covenant returns to testing automatically. That single field prevents a category of loss that is otherwise invisible until it is expensive.

Should you build custom or configure what you already own?

A meaningful number of the lenders who ask us to build this should not. If your book is mostly your own standard paper with conventional covenants, under roughly 150 covenanted credits, and your growth plan does not change that, buy. Abrigo and Baker Hill NextGen are built for exactly that institution and carry regulatory alignment you would otherwise construct from scratch. Moody's Analytics CreditLens tracks covenants competently against standard definitions. If you already run nCino as your lending platform and your covenants are conventional, use what you are paying for before commissioning anything new.

There is also a version of this problem that is not a software problem at all. A surprising share of lenders own a covenant module they never configured, because the implementation ran out of budget after the loan origination workflow went live and the tickler was left for later. If your complaint is that alerts do not fire and obligations are not tracked, spend a week with your existing vendor's implementation team before you spend six figures. Being able to say you tried that is also the first question a sensible board will ask.

Build when the constraint is definitional. Covenants negotiated per deal that a picklist cannot express, borrowing groups spanning multiple entities and guarantors where global cash flow is the real analysis, behavioural early warning that requires joining credit data to core banking activity, or a private credit fund with limited partner reporting obligations that no bank product addresses. The clearest signal is a shadow spreadsheet maintained alongside a vendor system. That spreadsheet is your specification, and its existence is an admission that the packaged fit failed.

How do hidden costs get into the quote?

Five items account for most of the overrun in credit portfolio work, and four of them are invisible in a feature list.

  • Spreading templates. Commercial and industrial, commercial real estate, agriculture and not for profit borrowers each need their own template and their own treatment rules. A quote scoped against one template and delivered against four is not a small variance.
  • Core integration. Every core platform is different, and the work is in the reconciliation and monitoring rather than the first extract. Ask which specific core the developer has pulled utilisation and deposit behaviour from before, by name.
  • Borrowing base certificates. Ineligibility rules are per deal, the arithmetic is unforgiving, and borrowers send their own formats. This is frequently priced as a screen and delivered as a subsystem.
  • Global cash flow. A borrowing group with ten related entities and three guarantors is a materially harder model than a single operating company, and the difference is rarely reflected in the estimate.
  • Everything a regulated lender needs around the software. Third party risk review, penetration testing, disaster recovery documentation, access reviews, and the parallel run itself. Two full testing cycles run in parallel with the old process is real cost and it is not optional.

What keeps the number down is narrowing the first release: your commercial and industrial book, one template family, and the covenant definitions from your fifty largest exposures. That population teaches the system almost everything it needs to know.

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

Credit administration owns the definitions, not the development team. If authoring a covenant requires a developer, the system will drift out of date the first quarter someone is busy, and the shadow spreadsheet will come back within a year.

The parallel run is treated as a deliverable rather than a formality. Two consecutive testing cycles, computed both ways, reconciled line by line, with every difference explained before the old process is retired. That is where you find out that a definition was encoded wrongly, and it is much cheaper to find it there than in a notice to a borrower.

One named person owns the tickler and the escalation ladder. Systems do not chase borrowers. People do, and the system makes the pattern visible so they chase the right ones.

And the ownership question is settled in writing before kickoff: the repository, the cloud accounts and the right to hire another firm. At Digital Heroes the client owns the code from the first commit, and for a regulated lender that also answers the vendor concentration question an examiner will eventually raise.

Research & sources

The evidence behind this guide

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

  1. The performance gap between digital and AI leaders and laggards is widening: McKinsey reports leaders pull ahead on shareholder returns, and the average maturity spread between top and bottom performers jumped ~60% (from 10 points in 2016-19 to 16 points in 2020-22), reinforcing that the returns to transformation concentrate among top performers. Source: McKinsey & Company (2023) →
  2. McKinsey found that tech debt can amount to 20-40% of the value of a company's entire technology estate before depreciation, and CIOs report that 10-20% of the budget for new products is diverted to resolving tech-debt issues. Source: McKinsey & Company (2020) →
  3. Independent reporting of Gartner's 2025 survey confirms 59% of finance leaders use AI, up from 37% in 2023, with error and anomaly detection (34%) and accounts payable automation (37%) among the leading use cases. Source: CPA Practice Advisor (reporting Gartner) (2025) →
  4. Gartner estimates RPA can eliminate up to 25,000 hours of avoidable rework caused by human errors in the finance function each year, equating to savings of roughly $878,000 for an organization with 40 full-time accounting staff (based on interviews with more than 150 corporate controllers and chief accounting officers). Source: Gartner (2019) →
Kabir B. · Director of Mobile Engineering · Delhi

Kabir directs mobile engineering at Digital Heroes across iOS, Android and cross platform builds. Day to day that means release trains, store review cycles, device coverage and deciding when native work is worth the extra cost. Useful reading before committing to an app roadmap.

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

FAQ

Frequently asked questions

Our vendor says they support custom covenants. How do we test that claim?
Ask for a screen share, not a slide, and give them a real definition from one of your credit agreements: adjusted EBITDA with a capped add back for restructuring charges, an excluded joint venture, and a step down schedule that tightens every four quarters. Watch who does the work. If a credit administrator authors it as a formula over spread line items in front of you, the claim is real. If it becomes a support ticket or a professional services estimate, you are buying the constraint you are trying to escape.
How much analyst time does encoding covenant definitions actually take?
Plan on roughly one to two hours per credit for the first pass, including reading the definitions section, writing out the add backs, caps, exclusions and step downs, and encoding it. That is real analyst capacity, and it is the schedule risk that sinks most of these projects because it gets assumed rather than booked. Starting with the fifty largest exposures covers the majority of the risk while the rest is worked through over a couple of quarters.
Should we import our historical spreads into the new system?
Import them as reference documents, not as trend data. Historical spreads were built under conventions that varied by analyst, so a ratio in one credit does not mean the same thing as the same ratio in another, and running early warning on that mix produces results your credit officers will correctly distrust. Rebuild the chart of accounts crosswalk per borrower and restate at least the last four periods, then let older history sit in the file clearly labelled as historic.
What breaks first after go live?
The core banking feed, and it breaks silently. A field is renamed in an upgrade or a file arrives empty, the nightly job fails, and the watchlist keeps rendering on data that stopped moving weeks ago. Nobody investigates because a shorter watchlist looks like good news. Display the data timestamp on every derived signal, alert a named person when a feed misses its schedule, and reconcile totals daily against a known core report.
How do waivers turn into permanent holes in a covenant package?
A waiver is granted for two quarters, recorded as a note or an email, and given no end date. The covenant stops being tested and never starts again, and nobody ever decides to abandon it. Make expiry a mandatory field with conditions attached, so testing resumes automatically, and report on active waivers monthly. This is one of the more common ways lenders lose protection they negotiated and paid for.
We already own a covenant module we never configured. Is that the real problem?
Often, yes. Many implementations run out of budget after loan origination goes live and the tickler and covenant configuration are deferred, then never picked up. If your complaint is that alerts do not fire and obligations are not tracked, spend a week with your existing vendor's implementation team before commissioning anything. If after that the definitions still cannot be expressed and staff still maintain a spreadsheet beside the system, the fit genuinely failed and a build is the reasonable answer.
What gets underestimated most in the budget for this?
Spreading templates and the parallel run. Commercial and industrial, commercial real estate, agriculture and not for profit borrowers each need their own template with their own treatment rules, so a project scoped against one and delivered against four carries a real variance. The parallel run then needs two full testing cycles reconciled line by line, which is where encoding errors surface. Both are frequently priced as small items and delivered as substantial ones.
How do we keep the shadow spreadsheet from coming back?
Ask what drove it in the first place, then make sure the system can express that thing without a developer. Shadow spreadsheets appear when a rule your credit policy requires cannot be represented, when an override needs a note the system will not accept, or when a report your committee wants is unavailable. Give credit administration authoring rights over definitions and overrides with mandatory reasons, review the override log quarterly, and treat any new spreadsheet as a defect report rather than a workaround.
How much does a custom BI dashboard cost for a small business?
For a small business, a focused first dashboard typically runs $25,000 to $60,000 when it covers 2 or 3 data sources, daily refresh, and 5 to 7 core metrics. Across 2,000+ Digital Heroes projects, budgets climb past that only when real-time data, complex permissions, or customer-facing access enters the scope. If a quote for a simple internal dashboard exceeds $75,000, ask exactly which of those three is pushing it there.
How long does it take to build a custom BI dashboard?
A working first version usually ships in 4 to 8 weeks, and a full production build with multiple integrations and permissions takes 3 to 6 months. In Digital Heroes delivery experience, schedules slip on data access, meaning credentials, API approvals, and cleanup of source data, far more often than on the dashboard screens themselves. Lining up access to every data source before kickoff routinely saves 2 to 3 weeks.
Will a custom dashboard stay fast once our data hits millions of rows?
Yes, if it aggregates before it displays; no dashboard should scan millions of raw rows on every page load. The standard techniques are pre-aggregated summary tables, incremental refresh, and caching, which keep typical page loads under 2 seconds even on datasets in the hundreds of millions of rows. Ask your vendor how the dashboard behaves at 10 times your current data volume; a good one gives a specific answer about aggregation, not just a bigger server.
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.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
If we move off Power BI or Tableau later, do we lose our historical data and reports?
Your raw data is safe because it lives in your source systems or warehouse, not inside Power BI or Tableau. What you lose is the logic layered on top: DAX measures, calculated fields, and report layouts all have to be rebuilt, and that rebuild is the real switching cost. Protect yourself now by keeping transformations in dbt or in warehouse views instead of inside the BI tool, so a future migration only replaces the screens.
Can one dashboard pull from QuickBooks, Salesforce, and Google Analytics at the same time?
Yes, and combining sources like that is the main reason to build custom instead of living inside each tool's built-in reports. The standard pattern syncs each source into one warehouse using connectors such as Fivetran or Airbyte, then joins them there, so marketing spend, pipeline, and revenue finally sit in a single view. Each additional source typically adds 1 to 2 weeks to the build, mostly for field mapping and reconciliation.
How do I make sure each client sees only their own data in a shared dashboard?
That is row-level security, and it must be enforced in the database or API layer, never by hiding filters in the interface. Each query carries the logged-in client's identity, and the data layer refuses to return rows outside their account, so a crafted URL or modified request cannot leak another client's numbers. Make any vendor show you exactly where that filter lives, because interface-level filtering is the most common security mistake we find when auditing dashboards built elsewhere.
Is Tableau worth $75 per user per month, or should we build our own dashboard?
If you have analysts who explore data visually all day, Tableau Creator at $75 per user per month earns its price, and Viewer seats at $15 keep the total reasonable for a small team. The math flips once you have hundreds of viewers or need dashboards inside a customer-facing product, because per-seat pricing scales with your audience while a custom build does not. Run the 3-year seat cost before deciding; that horizon usually makes the answer obvious.
How do I vet an agency or developer for a BI dashboard project?
Ask them to walk you through the data model of a past project, not a portfolio of pretty charts, because dashboard failures are almost always data modeling failures. Good answers mention specifics like star schemas, dbt, incremental refresh, and how they handled a source schema change after launch. Then ask for a fixed-scope discovery phase with a written data audit as the deliverable, so you judge their real work for a small spend before committing to the build.
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.
Who can build a custom business intelligence dashboards system?

Digital Heroes builds custom business intelligence dashboards 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 business intelligence dashboards 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?