Battery Energy Storage Software Problems: The 7 That Cost Real Money, and How to Avoid Them
The most expensive failure on a storage software project is discovering, late, that the annual throughput number you have been tracking was measured at the wrong point. Warranty throughput is defined at a specific meter on a specific side of the transformer. If your ledger was built off the battery management system while the warranty references the revenue meter, every figure in it is wrong in a consistent direction, and you find out during a capacity fade claim on a nine figure asset rather than during a Tuesday review. Rebuilding the ledger afterwards means re-deriving years of history from telemetry that has already been resampled and gap filled.
Why does telemetry scope get underestimated on every storage build?
Because the site looks like one asset and behaves like five. The battery management system reports state of charge in its own convention. The power conversion system reports power at a different point with a different sign convention and a different sampling rate. The revenue meter reports what the market will settle. A site controller and a historian sit between them, each with their own tag naming. None of these disagree because anyone made a mistake. They disagree because they were designed by different vendors to answer different questions.
What gets underestimated is not the reading of the data, it is the reconciliation. Getting a documented tag list out of the integrator, agreeing a read path that does not disturb the control system, and confirming which meter each contract actually references routinely takes longer than the software work it enables. On portfolios with two integrators, the whole exercise happens twice, because a second integrator means a second telemetry schema and a second set of control interfaces.
The fix is sequencing. Establish one canonical energy accounting model per site before anything else is built, define every contractual metric at the point of measurement its own contract specifies, then reconcile the sources continuously with divergence surfaced as an alarm rather than smoothed away. Owners who do this find instrument and configuration faults that had been quietly distorting performance numbers for months. Owners who skip it build an optimiser on top of numbers nobody has ever checked.
What goes wrong when you rebuild the throughput ledger from historian data?
Gaps, resampling and retention policy, in that order of pain. A historian configured at commissioning is usually tuned for operations, which means high resolution recent data and aggressive downsampling of anything older than a few months. That is a sensible default for a control room and a poor one for evidence. When you go to rebuild an annual throughput figure for the last three years, the hours you most need are the ones that were compressed.
The second problem is that gaps get filled. Historians and reporting layers routinely interpolate across communications outages so charts look continuous. For a warranty claim, an interpolated hour is not data, it is an assumption you will be asked to defend by somebody whose job is to find exactly that.
The practical approach is to treat the operating record as evidence from the start. Make raw telemetry retention a deliberate policy decision driven by what a claim would require, not by storage cost or historian defaults. Build the throughput and cycle ledger append only, so any number presented in a claim can be walked back to source. Where you are rebuilding history that is already degraded, be explicit in the ledger about which periods are reconstructed and on what basis, because a documented reconstruction is defensible and an undocumented one is not.
Why do market and control system integrations break after go live?
Market interfaces break because the obligations change and the failure modes are asymmetric. Moving from a decision support tool that a trader reads to automated offer submission is not an incremental feature, it brings certification requirements, submission deadlines that do not move, and a failure handling problem where a missed submission has a direct financial consequence. Teams that scope automated bidding as an output format discover the difference in their first outage.
Control system integrations break for a quieter reason. A firmware update on the power conversion system changes a tag name or a scaling factor. Nothing errors. The numbers simply become wrong by a factor, and because the dashboard still renders, nobody notices for weeks. This is the single most common post launch failure in storage software and it is almost never caught by conventional monitoring, which checks that data arrived rather than that it is plausible.
Two defences. Run continuous cross checks between independent sources, so a battery management system total that stops agreeing with the revenue meter within tolerance raises an alarm rather than being reconciled silently. And build submission paths with explicit failure handling: a queued offer that fails to submit must escalate to a human before the gate closes, not appear in a log afterwards.
What happens when the warranty and offtake terms are not modelled as constraints?
You get a bidding process that spends throughput it does not have and an availability obligation nobody is computing. The pattern is consistent. Nobody notices a throughput overrun in March. They notice in November, when the annual figure is close to the allowance and the remaining months have to be bid conservatively, which means giving up the highest value hours of the winter to pay for an aggressive August.
The offtake side fails in parallel. Availability under most agreements is defined against tested capacity under specified conditions, which is a different basis again from anything in the control system, and in practice almost nobody computes it continuously. The counterparty statement arrives and gets accepted because there is no independent number to compare it against.
The fix is to make the contract terms live values inside the workflow rather than a report beside it. Remaining annual throughput, remaining cycle budget, depth of discharge distribution and temperature exposure should be current numbers that the offer curve is generated against. Once they are, you can do the calculation that matters: pricing the opportunity cost of throughput consumed in a summer event against the expected value of the winter hours it forfeits. That is the trade a spreadsheet cannot make, and it is where the money is.
Should you build custom or use the energy management system you already own?
If you own one site under a tolling agreement where the offtaker directs dispatch, do not build. Your obligation is availability, the integrator's energy management system already does the control, and a monthly report is a proportionate answer. Wartsila GEMS and Powin StackOS are capable controls layers and they arrived with your hardware. Use them.
If you are merchant on a single asset and genuinely content to run it as a managed service, Stem Athena or a similar arrangement removes a real staffing problem for a fee you can know in advance. Tesla Autobidder and Fluence Mosaic are serious optimisation products and will produce better offer curves than a spreadsheet on the assets they sit closest to.
The build case starts when the constraint set that matters most to you is not an input you control. That is the specific throughput and depth of discharge language in your warranty and the specific availability definition in your offtake. It also starts when you own three or more sites across two or more integrators, because no vendor tool spans a portfolio it did not ship with. If you cannot state today's remaining annual throughput budget on every site within a minute, that is your first scope, and it is cheaper than any optimiser.
How do hidden costs get into the quote?
Four ways in this category. The number of distinct hardware combinations across the portfolio, because a second integrator is close to a second integration project rather than a configuration item. Direct market participation, since automated submission carries certification and failure handling obligations that a read only tool does not. Co located solar or wind, because a shared point of interconnection turns a battery optimisation problem into a hybrid plant problem with different arithmetic. And the state of your historian, because a project where telemetry was never properly architected begins with a data archaeology phase nobody budgeted.
Guard against all four before signing. Name every hardware combination in the scope and price them separately. Decide explicitly whether release one submits offers or prepares them for a human to submit. Ask what happens if the historian turns out to be missing the resolution the ledger requires, and agree who carries that. The cheapest protection is to build the constraint engine and the ledger first and add the optimiser second, which is also the order that delivers value soonest.
What separates a storage build that works from one that fails?
The ones that work start from the contracts rather than from the algorithm. A developer who asks which meter your warranty references, on which side, before quoting has read a warranty. One who answers immediately has not, and is about to build you a number you cannot use in a claim.
They also treat disagreement as information. Divergence between the battery management system and the revenue meter is surfaced and alarmed, never reconciled quietly, because silent reconciliation is how an instrument fault survives a year. Capacity test results are stored as structured records linked to the conditions under which they were run, so a degradation curve can be walked back to the operating decisions that produced it. That is what an augmentation business case needs to survive lender and investment committee review.
Finally, settle ownership in writing before kickoff. You should hold the repository, the cloud accounts and the historian. At Digital Heroes the client owns everything from the first commit. In storage this is not a procurement preference, it is a practical matter: the operating record is evidence in a future claim, and evidence you cannot reach on your own terms is not evidence at all.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- 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) →
- Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
- WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
- Per Sensor Tower's State of Mobile 2026, worldwide consumers spent about $85 billion on apps in 2025 (up 21% YoY), and for the first time non-game apps surpassed games in consumer spending; generative-AI in-app purchase revenue more than tripled to top $5 billion. Source: Sensor Tower (via TechCrunch) (2026) →
Liam builds iOS apps at Digital Heroes, from architecture decisions through to App Store submission and the maintenance that follows. He deals with the details buyers rarely ask about: offline handling, background sync, OS upgrades. Read him if you are trying to budget for an app beyond version one.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
Why do our energy numbers disagree between the BMS, the PCS and the meter?
Can we rebuild years of throughput history from our existing historian?
What breaks first after a battery storage platform goes live?
Is automated offer submission worth building in the first release?
How does a warranty overrun actually cost us money?
Do we need custom software if we already run GEMS, StackOS or Autobidder?
What is the biggest schedule risk on a storage software project?
What do we need in place before an augmentation decision?
What does a $50,000 custom software budget actually buy?
Will custom software work with the tools we already use, like QuickBooks and Stripe?
If an agency builds my software, who actually owns the code?
Our developer disappeared mid-project. Can another team pick up the code?
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
How much should a small business expect to pay for custom software?
We run everything on Airtable and spreadsheets. When is it time to go custom?
Does the tech stack matter, and which one should I ask for?
What does it cost to keep custom software running after launch?
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.