Problems & solutions · Accounting

Retail Energy Supplier Billing Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Retail Energy Supplier Billing Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure mode in retail energy software is the application level rejection nobody works. Your 997 queue is monitored because a failed file is loud. The 824 and the 814 response that say an enrollment was actually rejected, usually for an account number format or a name match rule one utility changed in a bulletin, are quiet. So a batch of customers who signed a contract, cost you an acquisition payment and believe they switched never flow at all. You carry the channel commission, you lose the contract margin for its full term, and you find out only when a customer calls three months later, by which point the enrollment window, the rescission period and any clean fix have all closed.

Why does a build scoped for two utilities get rebuilt for the third?

The first integration is always underestimated because it looks like a standards project. The transaction sets are published. The 814 handles enrollment, change and drop, the 867 carries usage, the 810 is the invoice, the 820 is the remittance, and the 824 reports application level problems. A developer reads that and quotes an EDI integration. What they have actually quoted is one utility's implementation guide.

Then the third utility arrives with a different switch timing rule, an account number format with its own check digit, a different name match tolerance, and a rejection code set that maps to nothing you already hold. The cheapest looking response is to copy the working integration and change it. Two years later you are maintaining several divergent codebases and the person who wrote the second one has left.

The fix is structural and it belongs in the first release, not the second. One canonical internal transaction model, one service point lifecycle, and a dialect adapter per trading partner that translates in and out. Adding a utility then becomes mapping, testing and certification against that partner, which is a few weeks of work rather than a project. Scope the first release around your two largest utilities deliberately, prove the adapter pattern against both, and leave the remainder on your current process until the pattern has survived a live certification with a real partner.

What goes wrong when you migrate an existing book of service points?

Most suppliers arrive at a build with a book stored as a status column. Each service point has a current state, updated by whichever process ran last, and no record of how it got there. Migration then looks trivial, because there is one field to copy. It is the most expensive assumption in the project.

The lifecycle is a state machine. A service point is submitted, accepted, pending, scheduled, flowing, on hold, dropped by supplier, dropped by customer, dropped for non payment, rescinded inside the cooling off window, or returned to the provider of last resort. Every transition has a source transaction, a date and a consequence for forecasting, settlement position and commission clawback. Copying the current status forward throws all of that away, and you discover the loss the first time a commission audit or a settlement dispute asks what the book looked like on a date in the past.

Do two things instead. Rebuild history from the transaction archive rather than the status field, replaying 814 responses and 867 deliveries against the new state machine so the book is reconstructable at any past date. Then reconcile the rebuilt book against three counts you can pull today: contracts signed, service points that flowed, and service points billed. Where those numbers disagree is where migration will hurt, and finding it in week four is far cheaper than finding it in month nine.

Why do utility EDI and remittance integrations break after launch?

They break because none of it was ever static. Utilities publish bulletins. An account number format changes, a new rejection reason code appears, a switch window moves, a test environment is retired. None of that reaches your system unless somebody reads the bulletins and somebody converts them into mapping changes. Most suppliers have neither role defined, so the first sign of a change is a queue quietly filling with rejections.

The second failure is monitoring the wrong layer. A 997 acknowledges that a file arrived and is loud when it fails, so it gets watched. The application level rejection is the one that says an enrollment actually failed, and it is quiet. A system that alerts on transport failures and reports application rejections as a monthly percentage will let a bad batch sit for weeks.

Remittance is the third. Under purchase of receivables the 820 arrives netted, partial, or carrying chargebacks for accounts that left the programme, and cash application logic written for the clean case falls over in month two.

Build the monitoring before the integration. Every trading partner gets an expected file calendar, so a file that does not arrive raises an alarm rather than producing a quiet zero. Exception queues rank by money at risk rather than arrival time. And bulletin review is a named responsibility with a weekly slot, not something the team gets to.

What happens when state renewal and disclosure rules are not covered?

Enrollment gets built. Billing gets built. The regulatory layer gets deferred because somebody described it as paperwork, and it is where the complaints and the penalties actually live.

Renewal notice timing, the content required in a disclosure statement, the length of the rescission window, how a variable rate change must be communicated, and what happens to a customer who ignores a renewal notice all differ by state. A supplier in six markets runs six rule sets, and the differences are not cosmetic. Hardcode any of it and you have a code change every time a commission amends a rule, which means you are late every time.

The slamming exposure is sharper. When a customer complains they never authorised the switch, you have a short window to produce the enrollment evidence: the consent artifact, the third party verification recording or its reference, the timestamps, the channel and agent identity, and the exact contract terms presented. A supplier who has to ask a broker for that evidence has already lost the argument.

Treat both as first class. Renewal and disclosure rules become configuration with an effective date per state, so a change is a data edit you can test against last month's population. Enrollment evidence attaches to the service point lifecycle at the moment of signing, is retained to the longest requirement in your footprint, and is producible in minutes by a service representative rather than by a project.

Should you build custom or configure what you already own?

If you are under roughly 15,000 residential customer equivalents in one or two markets, stay with EC Infosystems and put the money into acquisition. The fixed cost of running your own EDI operation, including certification with each utility and someone monitoring every bulletin, will exceed what owning it returns at that volume. That answer does not change because a developer told you a build costs less than the invoice. The invoice is not the number you are comparing against.

Configure rather than build in two more cases. If your product set is plain vanilla fixed price offers, there is nothing distinctive in the plumbing worth owning. And if your gap is enterprise billing depth rather than market process, Hansen Technologies is built for that, while Gentrack is designed around deregulated retail rather than adapted from a regulated utility product and is a serious option once you have scale to absorb the implementation.

Build when you are in three or more markets and adding another one waits on a vendor's release calendar. Build when your commercial model is the differentiator, for example demand response participation, a bundled solar or hardware product, or index products with a customer facing hedging story. Build when you cannot answer a lender's question about margin by channel and vintage, because that answer needs your data in your shape. A hybrid is often correct: keep the vendor running EDI in your smaller markets while you own the book, the margin model and the exception queues.

How do hidden costs get into the quote?

Retail energy quotes go wrong in predictable places, and every one of them is visible before you sign if you ask.

  • Certification is treated as testing. It is a scheduled process on the utility's calendar with their availability, and it can add weeks per partner that no developer controls.
  • Dual bill markets are quoted as an invoice template. They are invoice production, sales and use tax by jurisdiction, payment processing, dunning and collections.
  • Historical usage is assumed to arrive in one shape. Utilities differ on whether it comes on request or automatically, at what granularity, and how corrections are transmitted. Corrections are the part that breaks billing.
  • Purchase of receivables is quoted as a payment import. Partial remittances, netting and chargebacks are the real work, and finance finds them in month two.
  • ISO settlement is quoted as a data feed rather than as a monthly reconciliation with the variance decomposed into known causes, which is the only version that is useful.

The honest bands from Digital Heroes delivery experience are $90,000 to $200,000 over 14 to 20 weeks for a first release covering the canonical transaction model, adapters for your current utilities, the lifecycle state machine and financially ranked exception queues, and $250,000 to $600,000 over 9 to 15 months for a full platform adding purchase of receivables accounting, settlement to billed reconciliation, dual bill invoicing and renewal management. A quote well below the lower band has left out one of the five items above.

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

Four things, and all of them are decided before code starts.

The first is whether the team can explain, unprompted, the difference between a 997 and an 824 and what it means operationally when only the first is monitored. A team that cannot will rebuild the silent failure you are paying to remove.

The second is the shape of the first release. Two utilities, the canonical model, the lifecycle state machine and the exception queues, live in production, beats a full platform designed for six markets that has never touched a real certification. Certification is where assumptions die.

The third is who works the queues. Software that ranks exceptions by money at risk is worth nothing if nobody is accountable for clearing them daily. Name the person and put the daily open count on a report a director reads, before launch rather than after.

The fourth is ownership. You should own the repository, the cloud accounts, the mappings and the full transaction archive, in writing before kickoff. At Digital Heroes the client owns all of it from the first commit. Your transaction history is the evidence in a settlement dispute, a slamming complaint and a sale process, and it should never sit somewhere you cannot extract it from.

A useful first step takes a morning. Pull three numbers for last quarter: contracts signed, service points that flowed, service points billed. If they do not reconcile, you have found the business case and the first release scope in the same exercise.

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. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
  3. SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
  4. Only about 30% of digital transformations succeed at meeting their objectives, but getting six critical success factors in place (leadership commitment, talent, agile culture, progress monitoring, clear strategy, and a modernized platform) raises the odds of success from 30% to 80%. Source: Boston Consulting Group (BCG) (2020) →
Rishabh K. · Web Developer · Lucknow

Rishabh builds and maintains client storefronts and marketing sites, including Shopify theme work. Product pages, checkout flows and the small template changes a retailer asks for on a Friday all land with him. Readers get the practical detail of what is easy to change on an ecommerce site and what is not.

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

FAQ

Frequently asked questions

How do we find enrollments that were rejected and never worked?

Pull every 824 and 814 response from the last two quarters and match them against contracts signed in the same period. The gap is your unworked rejection pile, and it is usually concentrated in one or two utilities and one or two reason codes, because a bulletin changed something and nobody remapped it. Rank what you find by contract value rather than by date, because the enrollment window has already closed on most of them and your remaining time is best spent on the largest accounts.

Can we keep EC Infosystems for some markets and build for others?

Yes, and it is often the sensible sequence. Run the vendor in your smaller or newest markets while you build the canonical model, the service point lifecycle and the exception queues around your two largest utilities. The condition is that the vendor's transaction data flows into your book rather than staying in their environment, otherwise you have two disconnected views of one business. Agree the export format and cadence before you start, because retrieving it later is a negotiation rather than a task.

What does utility certification actually involve, and how long does it take?

It is a structured test cycle with the utility, running your transactions through their test environment against their implementation guide until they sign off, and it runs on their calendar rather than yours. Expect scheduling delays, a defined set of test scenarios you must pass, and at least one round of corrections. Treat it as weeks per partner in the plan rather than days, and start the scheduling conversation at kickoff, because a developer cannot compress a queue that belongs to somebody else.

How should the system handle a customer who enrolls, rescinds, then re-enrolls?

As three transitions on one service point lifecycle, each stamped with the transaction that caused it, not as a status field overwritten twice. That way the book can be reconstructed at any past date, which is what a commission clawback calculation and a settlement dispute both require. If a developer describes this as updating a status, your reconciliations will stay manual forever, because the information needed to automate them was discarded at the moment it was created.

Why does our billed volume never match our settlement volume?

Because the two are computed from different things. Settlement uses scheduled and metered load with loss factors applied, while invoices use usage delivered through 867 transactions. The gap is a mix of loss factor treatment, unaccounted for energy, timing between preliminary and final settlement, and service points that sat on your settlement book but were never billed because of an enrollment failure. Reconcile monthly at market and utility level with the variance decomposed, because a quarterly spreadsheet finds problems too late to act on.

What breaks first when we enter a dual bill market?

Tax and collections, in that order. In consolidated markets the utility handles both, so most suppliers have never built either. Dual billing means sales and use tax by jurisdiction on your invoice, payment processing, dunning sequences and a collections process with its own regulatory constraints in that state. Sequence the work by where your volume actually is rather than building both billing paths at once, because the dual bill path costs meaningfully more than an invoice template implies.

How should chargebacks under purchase of receivables be modelled?

Each receivable should be its own object with a status, a discount rate, a remittance history and a chargeback history, tied to the invoice that created it. Discount rates vary by utility and sometimes by customer class, and accounts fall out of the programme mid term. Suppliers who book revenue gross and treat the discount as one line lose the ability to see profitability by market, channel and vintage, which is exactly the cut a lender or a buyer will ask for first.

What enrollment evidence should we keep to defend a slamming complaint?

The consent artifact, the third party verification recording or a durable reference to it, the timestamps, the channel and the identity of the agent, and the exact contract terms presented at the moment of signing. Store all of it against the service point lifecycle rather than in a broker's system, retain it to the longest applicable requirement across your footprint, and make it retrievable by a service representative in minutes. Regulators and utilities both ask under time pressure, and searching a partner's systems is already a bad position.

How much do developers charge per hour for accounting software work?
In the competing quotes clients share with Digital Heroes, established US and UK agencies charge $90 to $200 an hour for accounting and fintech work, senior freelancers $60 to $150, and offshore teams $25 to $60. We price accounting builds as fixed-scope milestones instead, because hourly billing on ledger work rewards slow debugging. Compare total quoted cost against your workflow list rather than comparing rates against rates.
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 long does it take to build custom accounting software?
A focused first version takes 10 to 16 weeks, and a complete QuickBooks-class replacement takes 6 to 9 months. In Digital Heroes delivery data, schedules slip most often during data migration and bank feed integration, so we budget those two phases at double the first estimate. Treat any promise of a full accounting system in under two months as a warning sign.
Can I extend QuickBooks with custom features instead of replacing it?
Yes, and it is often the right first step. QuickBooks Online has a public API, so an agency can build a custom layer for quoting, inventory, or field service that pushes clean transactions into QuickBooks, which stays your ledger of record. Roughly half of the accounting engagements Digital Heroes scopes start this way because it costs a fraction of a full build and leaves your accountant's workflow untouched.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
Can custom accounting software connect to my bank, payment processor, and payroll provider?
Yes, and it should be treated as standard scope rather than an add-on. Bank feeds typically come through aggregators like Plaid, payments through Stripe or your existing processor's API, and payroll providers such as Gusto and ADP publish APIs for pulling journal entries. The real constraint is smaller regional banks without feed coverage, which is worth verifying during scoping instead of discovering after launch.
Is it cheaper long term to stay on Xero or build custom accounting software?
Xero stays cheaper as long as its workflows fit your business, since even its top plan costs around $1,000 a year and custom development starts around $25,000. The math flips once you stack add-ons: companies Digital Heroes scopes after they have bolted inventory, job costing, and approval apps onto Xero are usually paying more for the app stack and the labor of keeping five tools in sync than for Xero itself. Custom wins when the real cost is that labor and its errors, not the license fee.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
Who can build a custom accounting software system?

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