Problems & solutions · Business Intelligence Dashboards

ESG and Sustainability Reporting Software Problems: The 5 That Cost Real Money, and How to Avoid Them

ESG Reporting Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in sustainability reporting software is a calculation that stores only its result. The assurance provider picks a disclosed figure and walks backwards to the source document, the factor applied and the approval that let it into the statement. If your system cannot say which factor version, which publisher and which conversion path produced the number, the first three samples cannot be traced, the engagement expands in scope, and it expands again next year because nothing was fixed. Restatement then becomes an argument rather than a variance breakdown, and the whole cost sits with you rather than with the software that was supposed to prevent it.

Why does collection keep getting scoped as a survey module?

Because it demos beautifully and because the vendor market normalised it. You define a questionnaire, you send it to forty two sites, you chase the eleven that did not respond. Surveys work when the question is simple and the respondent is motivated, and they fail precisely where your data is hardest: the site with three electricity accounts, one closed mid year, and a landlord invoice that bundles water into a service charge.

The people answering are not sustainability staff. They are a facilities manager finding a waste transfer note, a fleet supervisor exporting fuel card data, a human resources (HR) partner pulling headcount by contract type. None of them report to you, none are measured on this, and all are being asked in the same fortnight as the financial close.

Treat collection as a workflow rather than a form. Named owners rather than a shared mailbox, due dates, escalation to the site's manager, and guidance written for your actual estate rather than for a generic one. Then remove the human wherever possible: utility data from supplier portals or invoice feeds, fuel from the card provider, travel from the corporate booking tool, fleet mileage from telematics. Where a document is unavoidable, extraction reads the consumption quantity, unit, period and account number and flags a period that does not join to the previous one, which is how you catch an eleven month year before your auditor does. The success measure is boring and honest: the share of data that arrives without anyone typing it.

What goes wrong when you migrate prior year figures and restate a base year?

The figures migrate. The reasoning does not. A workbook holds the number and not the estimation method, so the Spanish site whose landlord would not break out electricity comes across as a value with no record that it was derived from floor area, and the cell comment explaining it was deleted two reorganisations ago. Load prior periods as figures with an explicit method and evidence status rather than as clean data, and mark what you cannot substantiate. It is uncomfortable and it is far better than discovering it during an engagement.

Base year recalculation is the harder half. You publish a baseline and a target against it, then acquire a business with eleven sites, divest a division and change the consolidation approach for a joint venture. Every published figure now sits on a different perimeter, and restating requires knowing exactly which entities were in scope in which period, at what ownership percentage, under which consolidation approach.

The design that solves it is an effective dated entity and site register carrying ownership, consolidation approach and operational control over time, so any period can be reported as published or restated on the current perimeter. Controllers already run this discipline for financial consolidation. Sustainability numbers lack it because a workbook has no concept of time varying structure. Build that register first, and expect assembling it to be a genuine workstream with finance rather than a data entry task.

Why do utility, fuel card, travel and telematics feeds break after launch?

Utility feeds break on account lifecycle rather than on technology. A meter is replaced and the new account starts a different billing period. A site changes supplier and the old account goes quiet without erroring. A landlord takes over a supply. In each case the feed keeps working and simply stops covering part of your estate, which produces a total that looks plausible and is short.

Guard it on continuity rather than on errors. For every account you expect data from, check that consecutive periods join with no gap and no overlap, and raise the exception when they do not. A site that reported eleven months should be an alert in month twelve, not a finding in the following autumn. Do the same for absence: an account that has sent nothing for two billing cycles deserves a message.

Fuel card, travel and telematics feeds break on classification. A new vehicle class appears, a booking tool adds a rail product, a card is issued to a subcontractor. The volume arrives but lands in an unmapped bucket, and unmapped usually means excluded. Report the unmapped remainder on every run rather than dropping it. Each of these is a small project in its own right, so name them individually in scope rather than accepting one line reading system integrations.

What happens when the evidence chain from invoice to disclosure is not covered?

Assurance is a traceability exercise. Somebody selects a disclosed number and asks which sites contributed, which readings, which document, who approved it and what changed since the last version. In most organisations that walk stops at a workbook with no version history and an email thread, and once it stops the sample size grows.

What you need is unremarkable and specific. The uploaded source document stored, hashed and linked to the data point it supports. An append only edit record where every change carries an author and a reason. Approvals captured as sign offs at site, function and group level, so the chain of responsibility is visible rather than remembered. The disclosure references the aggregation, so opening a figure in the draft statement shows the contributing records and their evidence.

The other half of the same problem is factors. Emission factors are versioned data, not constants: they change annually by publisher and country, grid intensities get restated, and market based and location based treatments need different inputs. Store the factor identity, version, publisher, conversion path and code version alongside every result, and make recalculation an explicit logged operation producing a comparison rather than an overwrite. Then when a figure moves you can separate better activity data from a factor revision, which mean entirely different things to a reader.

Should you build custom or configure what you already own?

If you are a single entity in one country with a handful of utility accounts, do not build. A competent adviser and a well built workbook will get you through, and software would be theatre. If your primary need is the disclosure document itself with strong drafting and sign off controls, Workiva does that job well and rebuilding it is a poor use of money. If carbon accounting methodology is your gap and your estate is simple, Persefoni or Watershed will get you further faster than a bespoke engine, and Sphera is the stronger fit where operational health, safety and environment depth is the requirement.

Before commissioning anything, look honestly at the platform you already licence. A large share of what gets reported as a limitation is unconfigured: site hierarchies never set up properly, workflow and reminders switched off, integrations bought and never connected. If your team runs the real process in a spreadsheet and uses the platform as a place to put the answer, find out which of those two things is true before you spend.

Build when two or more hold. You collect from more than roughly twenty five sites or entities and response rate is the bottleneck. Your group structure changes often enough that restatement is recurring. You report under several frameworks and collect the same data more than once. Or your assurance provider has already raised traceability as a finding. Our position is that the calculation engine is the commodity and the collection layer is the differentiator, because anyone can multiply an activity figure by a factor.

How do hidden costs get into the quote?

Country count is the first, and it moves the number more than site count does. Units, invoice formats, local reporting obligations and language all vary, and a quote priced against three countries and delivered against nine is not a small overrun.

Framework count is the second. A group filing in Europe, answering a state level regime and responding to investor questionnaires needs one data model mapped several ways, and that mapping work is usually presented as configuration. Requirements in this area continue to change, so have your advisers confirm which standards and timing apply to you rather than relying on any vendor matrix.

The entity register is the third and it is where the hidden effort actually lives. Assembling the complete list of legal entities, sites, meters and leases with their effective dates is your work, it involves finance and legal, and it is the most common reason these projects run long. Fourth is integrations, each of which is a small project. Fifth is document extraction review, because somebody has to check flagged exceptions and a build without a reviewer has no control. Sixth is the parallel run: you should collect one full cycle in both the old and new way, and that duplicated effort belongs in your business case even though nobody quotes it.

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

The ones that work start with scope 1 and 2 across the largest twenty sites, which is usually most of the operational footprint, and ship a system those sites actually use in the next cycle. Value chain categories follow once the collection habit exists. The ones that fail try to cover every category and every framework at once, and deliver a platform that the team uses as a place to store answers they still assembled in a spreadsheet.

Start at least one full cycle before the period you intend to report on, so a parallel run is possible. Sustainability reporting has one date a year that matters and no capacity to absorb a rough first attempt in the wrong month.

Ask a developer how they store a calculation. If the answer does not include the factor version, the publisher, the conversion path and the code version alongside the result, they will build something that cannot survive a restatement, and restatement is certain. Ask them to model a joint venture consolidated financially but not under operational control across a year in which your ownership percentage changed. If they shrug at effective dating, walk.

Weight financial systems experience above sustainability marketing experience. The requirement here is an evidence chain and segregation of approval, which is familiar territory to anyone who has built for a controller.

Settle ownership before kickoff: the repository, the cloud accounts and the full document archive. At Digital Heroes the client owns everything from the first commit. The evidence behind a figure you publish this year may be requested several years from now, so the archive has to outlive your vendor and probably your current framework. Test a complete export during the build rather than when you need it.

Research & sources

The evidence behind this guide

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

  1. Deloitte reports that modern ERP implementations aim to deliver reduced manual effort, greater transparency, a single source of truth, and increased productivity, but many organizations do not capture the full expected benefits (a significantly lower ROI) without disciplined strategy, change management, and data readiness. Source: Deloitte (2024) →
  2. Organizations lose an average of 16 sales deals per quarter due to poor CRM data quality, and 45% report their CRM data is not ready for AI implementation. Source: Validity (via PR Newswire) (2025) →
  3. Brandon Hall Group research on onboarding reports that done well, structured onboarding drives measurable gains in new-hire productivity, employee engagement, and retention; the page notes 41% of organizations experience greater than 5% turnover among new hires. Source: Brandon Hall Group (2024) →
  4. 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) →
Devon W. · Senior Account Director · DTC · New York

Devon looks after direct to consumer accounts, where the store is the business and a bad checkout costs money the same day. He works with brands on commerce builds and site changes, and writes about what to prioritize when every request looks urgent.

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

FAQ

Frequently asked questions

What exactly does an assurance provider walk through when they sample a number?
They select a disclosed figure and go backwards: which sites contributed, which readings, which source document, what calculation was applied, who approved it, and what changed since the previous version. That means the uploaded invoice or reading has to be stored and linked to the data point, edits need an author and a reason, and sign offs need to exist at site, function and group level. Confirm the specific expectations with your own provider early, because engagements expand in scope once the first few samples cannot be traced.
How do we catch a site that reported eleven months instead of twelve?
Validate continuity rather than only validating errors. For each account you expect data from, check that consecutive periods join with no gap and no overlap, and raise an exception when they do not. Meter replacements, supplier changes and landlord takeovers all produce a feed that keeps working while quietly covering less of your estate, which yields a total that looks plausible and is short. The same check should alert when an account has sent nothing for two billing cycles.
How should emission factors be stored so restatements are explainable?
Store the factor identity, version, publisher, conversion path and the code version alongside every calculated result, and make recalculation an explicit logged operation that produces a comparison rather than overwriting the original. Then when a figure moves you can say whether it moved because the activity data improved or because a factor was revised, which mean entirely different things to a reader. Centralise unit conversion and test it, because unit mistakes appear in nearly every workbook we are shown.
What happens to our base year when we acquire or divest a business?
You need an effective dated entity and site register carrying ownership percentage, consolidation approach and operational control over time, so any period can be reported as published or restated on the current perimeter. Base year recalculation then becomes a rule applied against a threshold rather than a manual reconstruction. Groups that skip this discover the problem in the worst year, which is the first one where they publish a target against a baseline that no longer describes the company.
Can one system serve a European filing, a state level regime and investor questionnaires?
Yes, and it is the strongest argument for building rather than running parallel processes. Model each underlying data point once and map it to every disclosure framework, so a customer questionnaire and a statutory statement draw from the same store and cannot disagree. Requirements differ by regime and continue to change, so have your advisers confirm which standards and timing apply to you. The engineering principle stays constant: collect once, map many.
We already licence a sustainability platform. What should we try before building?
Check whether the complaint is the product or the configuration. Site hierarchies never set up properly, workflow and reminders switched off, and integrations bought but never connected account for a large share of what gets reported as a limitation. The honest test is where the real process lives. If your team assembles the numbers in a spreadsheet and uses the platform to store the answer, the gap is in collection, and that is the layer worth building because it is shaped entirely by your organisation.
How far ahead of a reporting deadline should this project start?
At least one full cycle, so you can collect a complete period both the old way and the new way and reconcile them before anything is published. Sustainability reporting has one date a year that matters and no capacity to absorb a rough first attempt in the wrong month. The task that runs long is rarely engineering. It is assembling the complete list of legal entities, sites, meters and leases, which is joint work with finance rather than data entry.
Who should own the evidence archive at the end of the engagement?
You should, along with the repository and the cloud accounts, written into the contract before kickoff. At Digital Heroes the client owns everything from the first commit. This matters more here than in most categories because a question about a figure you publish this year can arrive several years later, and the archive has to outlive your software vendor, your adviser and probably your current framework. Test a full export during the build rather than when you need it.
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.
When is it time to move from Excel reports to an actual dashboard?
The reliable signal is when someone spends more than a few hours a week copying data between spreadsheets, or when two teams arrive at a meeting with different numbers for the same metric. At that point the spreadsheet is acting as an unversioned, single-person database, and a costly error is a matter of time. A first dashboard that automates those recurring reports typically pays for itself in recovered hours within the first year.
We already pay for Microsoft 365. When does building custom actually beat Power BI?
Keep Power BI for internal reporting; at $14 per user per month for Pro it is hard to beat for employee-facing analytics. Custom wins in three cases: you are showing dashboards to customers, since embedded Power BI is priced on capacity and gets expensive fast, you need a fully white-labeled experience inside your own product, or your team keeps fighting the tool to support a specific workflow. Most companies we build for keep Power BI internally even after launching a custom customer-facing dashboard.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
When does Looker make more sense than a custom dashboard?
Looker earns its place when multiple teams keep producing conflicting numbers and you need one governed definition of every metric, because LookML enforces definitions centrally. Its pricing is quote-based, and the quotes clients bring to Digital Heroes typically start in the tens of thousands of dollars per year. Under roughly 50 users with straightforward reporting needs, that spend is hard to justify against Power BI or a scoped custom build.
How many people does it take to build a custom BI dashboard?
A typical build runs with 3 or 4 people: a data engineer for pipelines and modeling, a full-stack developer for the application and charts, a part-time designer, and a project lead. One strong freelancer can handle a single-source internal dashboard, but in our experience solo builds stall once multiple integrations, permissions, and customer access are added. Team size matters less than having one person explicitly own the data model.
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.
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 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 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.
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.
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?