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 $499.00 USD; request a quote for a scoped proposal.
Vista previa ilustrativaA 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.
Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.
Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.
ECOSIRE la crea, la configura y la instala en tu Dynamics 365 Business Central.
Sales en vivo en unas 2–4 semanas, con un periodo de soporte posterior al lanzamiento.
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 2 to 4 weeks 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.
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.
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.
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.
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.
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Nativo de Dynamics 365 Business Central |
|---|---|---|---|---|
| Utility domain model (connections, meters, readings) | Purpose-built tables designed around your tariff book and reading channels during scoping | Whatever your developer designs — quality depends entirely on their utility domain experience | Fixed model that assumes one market's conventions; fits or it does not | No concept of a connection, meter or reading; only customers and items |
| Slab tariff and mid-period rate changes | Effective-dated tariff versions with slab bands, so historic bills stay reproducible | Usually built for today's tariff; the first regulator change becomes a rework project | Supported if your slab model matches theirs; unusual structures need vendor change requests | Flat item pricing and price lists only; slab arithmetic ends up in Excel |
| Cycle billing at volume | Background Job Queue run, resumable and safe to rerun without duplicate invoices | Often a foreground routine that times out once volumes grow | Generally batch-capable, tuned to the vendor's own reference customer sizes | Manual or imported sales invoice batches; no cycle concept at all |
| Reading validation and exceptions | Blocking exception list with rollover, negative and deviation checks, supervisor approval separated by permission set | Typically added only after the first wrong-bill incident | Varies widely; validation rules are frequently not configurable to your tolerances | None — Business Central cannot tell a good reading from a bad one |
| Arrears, disconnection and reconnection | Policy-driven collection ladder wired to the same connection record, with reconnection fee posting | Commonly deferred to phase two and never built | Present in mature apps, though the policy thresholds are often hard-coded | Standard reminders and finance charges only; no connection-level disconnection state |
| Financial posting and audit trail | Posts through standard Business Central sales codeunits — native G/L, tax, dimension and customer ledger entries | Depends on the developer; direct-to-ledger shortcuts are a common and costly mistake | Usually posts natively, but the internal calculation trail may be opaque to auditors | Fully native posting, but only for invoices someone has manually prepared elsewhere |
| Field and portal integration | Custom API pages on REST API v2.0 / OData v4, plus Power Platform and Dataverse connectivity | Built if budgeted; frequently the first item cut from scope | Often bundled with the vendor's own mobile app, which you must adopt as-is | Standard Business Central APIs exist but expose no reading or connection entity |
| Ownership, source and ongoing cost | Full AL source and git repository handed over; support window included, ongoing maintenance optional | You own it, and you also own every future fix and upgrade with no fallback | Per-user or per-connection subscription, no source access, roadmap set by the vendor | Included in your Business Central licence, but the gap stays open |
This is a build-to-order extension, not an AppSource download you install today. Typical delivery is 2 to 4 weeks 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.
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.
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.
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.
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.
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.
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.

A true finite-capacity APS engine for Dynamics 365 Business Central that builds optimized, executable schedules respecting machines, labor, tooling and material availability simultaneously. Built, installed and supported by ECOSIRE as a per-tenant AL extension.

A build-to-order AL extension that supercharges Business Central's native MRP/MPS with demand-driven forecasting, bulk SKU parameter management, and supply-vs-demand pegging — so planners replan thousands of items in minutes. Built, installed as a per-tenant extension, and supported by ECOSIRE.

Crop, livestock and farm-input cost management with harvest batch traceability for agribusiness — built as a per-tenant Business Central extension, installed and supported by ECOSIRE.

A custom-built AL extension that adds an AI Copilot to Business Central — natural-language queries over your ledger data, anomaly and fraud detection, cash-flow forecasting and automated variance narratives. Built, installed per-tenant and supported by ECOSIRE.
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.