Skip to main content
Energy & Utility Operations — A build-to-order Business Central extension that turns meter readings into billed, collectable  — 1/1Illustrative preview

A build-to-order Business Central extension that turns meter readings into billed, collectable revenue

— connection registry, cycle billing runs, slab tariffs, service complaints and disconnection workflows.

ECOSIRE scopes, builds, installs and supports it for your tenant.

What is Energy & Utility Operations?

A build-to-order Business Central extension that turns meter readings into billed, collectable revenue — connection registry, cycle billing runs, slab tariffs, service complaints and disconnection workflows. ECOSIRE scopes, builds, installs and supports it for your tenant. Built to order by ECOSIRE for Dynamics 365 BC (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Service Connection master table linking premises, customer, connection type, load/sanctioned capacity, security deposit and status, with a full dated status history
Meter registry with installation, replacement and removal events, multiplier and number-of-digits handling, and automatic rollover detection on reading entry
Meter Reading entries stamped with source (handheld, portal, IVR, manual, MDM import), reader identity and reading date, with previous-reading traceability on every bill line
Effective-dated Tariff versions with slab bands, telescopic or non-telescopic calculation, fixed charges, minimum billing amounts, and separately configurable taxes, duties and levies
Billing Cycle and cycle-line control: route/book grouping, reading window, due date and surcharge date derivation, and per-cycle status so a run can be reopened only by an authorized role
Background cycle billing run executed via Job Queue Entry, resumable after failure and safe to rerun without duplicating invoices
Reading validation exception list — missing reading, negative consumption, zero consumption, rollover, and deviation beyond a configurable percentage of rolling average — that blocks posting until cleared or supervisor-approved
Average-based and estimated billing for unread connections, flagged on the invoice and automatically trued up on the next actual reading
Invoices created and posted through the standard Business Central sales posting codeunits, so G/L, VAT/tax entries, dimensions and customer ledger entries are produced natively
Arrears and collection ladder: aging buckets per connection, late-payment surcharge calculation, reminder and notice generation, and a disconnection-eligible worklist driven by policy thresholds
Disconnection and reconnection orders with field assignment, reason codes, reconnection fee posting and automatic suspension of the connection from subsequent billing runs
Service request and complaint workflow on the connection record — meter fault, no supply, billing dispute — with category, priority, SLA target and resolution posting that can hold or credit a disputed bill
Custom API pages on the REST API v2.0 / OData v4 surface for reading submission, balance enquiry and disconnection status, for handheld apps, portals and IVR
Dedicated permission sets for meter reader, billing operator, billing supervisor and collections officer, with posting and exception-approval rights separated

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Dynamics 365 Business Central.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

About this Product

Utilities do not sell items, they sell consumption over time against a regulated tariff. Dynamics 365 Business Central ships an excellent sales invoicing engine, but it has no concept of a service connection, a meter, a reading, a billing cycle, or a slab tariff where the first 100 units are priced differently from the next 200. Most utility and energy service providers end up bridging that gap with spreadsheets: readings collected in Excel, consumption and slab arithmetic done by formula, then a bulk sales invoice import back into Business Central. The result is predictable — reading-to-bill errors nobody can audit, no link between an unpaid bill and a disconnection decision, and month-end that depends on one person's workbook.

ECOSIRE builds an AL extension that gives Business Central the missing domain objects and wires them into the standard financial posting routines rather than beside them. New tables carry the Service Connection (customer, premises, connection type, status, security deposit), the Meter and its lifecycle (installation, replacement, multiplier, rollover digits), Meter Reading entries with source and reader stamp, Billing Cycle and Billing Cycle Line for run control, and a Tariff structure with effective-dated versions, slab bands, fixed and minimum charges, taxes and levies. Customer and Item are extended by table and page extensions, so a connection resolves to a real Business Central customer and the charges resolve to real G/L accounts and posting groups — the general ledger, VAT/tax entries, dimensions and customer ledger entries are all produced by the standard posting codeunits, which is what keeps your statutory reporting and audit trail intact.

The operational engine is a set of codeunits driven by Job Queue Entry records so that a cycle billing run for thousands of connections executes in the background rather than locking a user's session. A run validates readings (missing, negative consumption, rollover, exceeds-average tolerance) into an exception list that must be cleared or explicitly approved, computes consumption and applies the slab tariff effective on the reading date, creates sales invoices, and posts them in a resumable batch that can be rerun safely after a failure. Event subscribers on the payment application and cash-receipt routines keep the arrears position current, which is what drives the collection ladder: aging buckets, reminder and notice generation, disconnection-eligible worklists, field disconnection and reconnection orders with reconnection fees, and a full status history per connection. Service and complaint workflows sit on the same connection record, so a meter fault logged against a connection can suspend it from the next billing run instead of quietly producing a wrong bill.

Integration is handled the way Business Central expects. Custom API pages exposed through the REST API v2.0 / OData v4 surface let handheld reading apps, IVR and customer portals post readings and query balances without direct database access; readings can also be imported from CSV or a meter data management system through a configurable mapping. Power Platform and Dataverse connectivity means readings, arrears and disconnection worklists can drive a Power App for field crews and Power BI for regulatory and collection reporting. Permission sets are shipped for the distinct roles this domain always has — meter reader, billing operator, billing supervisor who alone can approve exceptions and post a run, and collections officer — and every posting-relevant action is written to a change-log-friendly audit trail. The extension targets current Business Central release waves and is delivered as a per-tenant extension for SaaS or a compiled extension for on-premises, whichever your deployment is.

This is build-to-order, not an AppSource download. It starts with a scoping call where we walk your tariff book, your reading channels, your billing calendar and your disconnection policy, because those are the details that decide the data model. We then confirm a fixed scope in writing, build against your Business Central version, and deliver to a sandbox for UAT with your own connection and tariff data before anything touches production. Typical delivery is one working week from confirmed scope, longer only if you ask for meter data management integrations or payment-gateway reconciliation that need third-party access. You receive the AL source, a git repository, documentation and training, and a post-go-live support window — the code is yours, and you are not locked to us to change a tariff band.

What you get

  • Complete AL extension source code built and tested against your exact Business Central version and deployment model (SaaS per-tenant extension or on-premises)
  • Installation and configuration on your sandbox and production environments, including tariff setup, billing cycle calendar, number series, posting groups and job queue entries
  • Technical documentation: data model and table relationships, codeunit and event-subscriber map, API page reference with sample payloads, and permission set definitions
  • End-user guide plus a live training session for meter reading, cycle billing operation, exception clearing, and the collection and disconnection workflow
  • UAT on a staging environment using your own connection, meter and tariff data, with a documented test script and a rollback plan before production cut-over
  • Post-go-live support window covering defect fixes and configuration assistance, including at least one full billing cycle run with us watching
  • Git repository handover with full commit history, branch structure and build pipeline notes, so your team or any AL developer can maintain it
  • Data migration assistance for existing connections, meters, opening balances and last-reading values from your current system or spreadsheets

Who this is for

Utility Billing Manager

Owns the monthly cycle and answers for every disputed bill. Needs consumption and slab arithmetic to happen inside Business Central with a visible audit trail, reading exceptions caught before invoices go out, and the ability to reopen or rerun a cycle without creating duplicate invoices.

Finance Controller / CFO

Needs metered revenue, unbilled consumption and arrears aging to come from the general ledger rather than a workbook. Cares that invoices post through standard Business Central routines so tax filings, dimensions and statutory reports stay reconcilable without a manual bridge.

Collections and Revenue Protection Lead

Works the arrears ladder daily. Needs policy-driven disconnection worklists, surcharge calculation, notice generation and reconnection fee handling wired to the same connection record the billing team uses, so a payment made this morning takes a connection off today's disconnection list.

IT Manager / Business Central Partner Lead

Must keep the tenant upgradeable through release waves. Wants a proper AL extension using table/page extensions and event subscribers instead of base-code modification, documented API pages for the field app, clean permission sets, and the source code in a repository they control.

How Energy & Utility Operations Compares

CriterionECOSIRECustom BuildCompetitorDynamics 365 Business Central Native
Utility domain model (connections, meters, readings)Purpose-built tables designed around your tariff book and reading channels during scopingWhatever your developer designs — quality depends entirely on their utility domain experienceFixed model that assumes one market's conventions; fits or it does notNo concept of a connection, meter or reading; only customers and items
Slab tariff and mid-period rate changesEffective-dated tariff versions with slab bands, so historic bills stay reproducibleUsually built for today's tariff; the first regulator change becomes a rework projectSupported if your slab model matches theirs; unusual structures need vendor change requestsFlat item pricing and price lists only; slab arithmetic ends up in Excel
Cycle billing at volumeBackground Job Queue run, resumable and safe to rerun without duplicate invoicesOften a foreground routine that times out once volumes growGenerally batch-capable, tuned to the vendor's own reference customer sizesManual or imported sales invoice batches; no cycle concept at all
Reading validation and exceptionsBlocking exception list with rollover, negative and deviation checks, supervisor approval separated by permission setTypically added only after the first wrong-bill incidentVaries widely; validation rules are frequently not configurable to your tolerancesNone — Business Central cannot tell a good reading from a bad one
Arrears, disconnection and reconnectionPolicy-driven collection ladder wired to the same connection record, with reconnection fee postingCommonly deferred to phase two and never builtPresent in mature apps, though the policy thresholds are often hard-codedStandard reminders and finance charges only; no connection-level disconnection state
Financial posting and audit trailPosts through standard Business Central sales codeunits — native G/L, tax, dimension and customer ledger entriesDepends on the developer; direct-to-ledger shortcuts are a common and costly mistakeUsually posts natively, but the internal calculation trail may be opaque to auditorsFully native posting, but only for invoices someone has manually prepared elsewhere
Field and portal integrationCustom API pages on REST API v2.0 / OData v4, plus Power Platform and Dataverse connectivityBuilt if budgeted; frequently the first item cut from scopeOften bundled with the vendor's own mobile app, which you must adopt as-isStandard Business Central APIs exist but expose no reading or connection entity
Ownership, source and ongoing costFull AL source and git repository handed over; support window included, ongoing maintenance optionalYou own it, and you also own every future fix and upgrade with no fallbackPer-user or per-connection subscription, no source access, roadmap set by the vendorIncluded in your Business Central licence, but the gap stays open

Frequently Asked Questions about Energy & Utility Operations

How long does delivery take?

This is a build-to-order extension, not an AppSource download you install today. Typical delivery is one working week from confirmed scope — the clock starts when the tariff structure, reading channels, billing calendar and disconnection policy are agreed in writing, not at the first call. Engagements that also require meter data management integration or payment-gateway reconciliation take longer, and we tell you that during scoping rather than after.

How does this handle slab tariffs and mid-period tariff changes?

Tariffs are stored as effective-dated versions with slab bands, so the calculation uses the tariff in force on the reading date rather than the run date. Both telescopic (each band priced separately) and non-telescopic slab models are supported, alongside fixed charges, minimum billing amounts, and separately configurable taxes and levies. A regulator-announced change is entered as a new tariff version with its effective date; historic bills remain reproducible against the tariff that actually applied.

Will this survive Business Central upgrades and release waves?

Yes. It is a proper AL extension built on table extensions, page extensions, codeunits and event subscribers — no base application code is modified, so Microsoft's monthly service updates and semi-annual release waves apply normally. We build against your current version and target current release waves. If a future wave changes an event or API we depend on, that is exactly the kind of thing the support window and any ongoing maintenance agreement covers.

What support and updates do we get after go-live?

Every build includes a post-go-live support window for defect fixes and configuration help, and we deliberately stay with you through at least one complete billing cycle run — that is when real problems appear. After the window you can take it in-house (you hold the source and the git repository), buy an ongoing maintenance and update agreement from us, or call us per change. There is no licence key that expires and no lock-in that stops your team from adding a tariff band themselves.

Can our field readers and customer portal feed readings in automatically?

Yes. We expose custom API pages on the Business Central REST API v2.0 / OData v4 surface for reading submission, balance enquiry and disconnection status, which is what a handheld app, mobile reader, IVR or customer portal consumes. Bulk import from CSV or a meter data management system is supported through a configurable field mapping. Where you want a field app built too, Power Platform and Dataverse connectivity means a Power App can read and write against the same data.

What happens when a reading is missing or obviously wrong?

The run does not silently bill it. Reading validation produces an exception list — missing, negative consumption, zero consumption, meter rollover, or deviation beyond a configurable percentage of the connection's rolling average — and posting is blocked until each exception is cleared or explicitly approved by a billing supervisor, which is a separate permission from operating the run. Where your policy allows it, average-based estimated billing is produced instead, flagged on the invoice and trued up automatically on the next actual reading.

Do we get the source code, and can another developer maintain it?

Yes. You receive the complete AL source and a git repository with full commit history, plus a technical document covering the data model, the codeunit and event-subscriber map and the API pages. Any competent AL developer or Business Central partner can maintain and extend it. We build it to be handed over, not to keep you dependent on us.

Request a quote

Energy & Utility Operations

A build-to-order Business Central extension that turns meter readings into billed, collectable revenue — connection registry, cycle billing runs, slab tariffs, service complaints and disconnection workflows. ECOSIRE scopes, builds, installs and supports it for your tenant.

  • Service Connection master table linking premises, customer, connection type, load/sanctioned capacity, security deposit and status, with a full dated status history
  • Meter registry with installation, replacement and removal events, multiplier and number-of-digits handling, and automatic rollover detection on reading entry
  • Meter Reading entries stamped with source (handheld, portal, IVR, manual, MDM import), reader identity and reading date, with previous-reading traceability on every bill line
  • Effective-dated Tariff versions with slab bands, telescopic or non-telescopic calculation, fixed charges, minimum billing amounts, and separately configurable taxes, duties and levies

Request a Quotation

Tell us about your Energy & Utility Operations requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.