Energy legislation, tariffs, and calculation methodologies changed regularly, while the existing accounting system didn’t allow for quickly adapting calculation mechanisms to these changes.
Billing implementation • Energy
Developing a Billing System for Four Energy Companies in Western Ukraine
ZOE, ZEZ, VOE, and VEZ are four energy sector companies across two regions of Western Ukraine, employing over 1,000 people combined. Our team built a billing system from the ground up for calculating and tracking electricity consumption across both industrial and residential sectors, including debt accrual and consumer settlement management.
for over 10,000 industrial electricity consumers
for over 1 million residential electricity consumers
across four companies in two regions of Western Ukraine
Situation Before the Project
The four companies served millions of electricity consumers through 15 branches in each of the two regions, with several hundred users working in the system simultaneously.
Generating monthly and quarterly reports for regulatory authorities required strict adherence to established rules and standards, while the available tools didn’t provide the speed needed to consolidate operational results.
The companies served millions of residential and tens of thousands of industrial consumers at once, requiring a system capable of both bulk and individual calculation to process accruals and offsets efficiently.
The previous accounting system belonged to a third-party provider, limiting the companies’ ability to independently develop and refine functionality to meet their own needs.
Migrating balances from the previous system required significant time, and the accrual and calculation process itself couldn’t be paused for a single day — any delay in issuing consumer invoices risked fines from regulatory authorities.
What Our Team Did and How
Consumption Volume Calculation
We built a system for calculating electricity consumption and generation volumes for industrial and residential consumers, using different calculation methods tailored to each type of service. This included calculating and allocating equipment and transformer losses to determine consumption volumes for the billing period.
We built the calculation methodology entirely on current legislative and code standards, developing the system from scratch. The main challenge was recalculating volumes for prior periods whenever input data or readings changed, a mechanism we had to work through separately for each calculation method.
As a result, the system supports both bulk and individual consumption calculations across different service types and methodologies, in full compliance with legislation.
Debt Accrual and Offsetting
Building on the calculated consumption and generation volumes, we implemented debt calculation for consumers using different methods and tariffs across various services, accounting for potential mid-month changes to input data and the corresponding splitting of amounts into sub-periods.
The most complex part was recalculating debts for prior periods whenever already-calculated volumes and amounts changed: the system had to correctly revise historical accruals retroactively without compromising data integrity.
The companies can now calculate consumer debt using different methods and tariffs, and manage the offsetting of payments and debts.
Management and Regulatory Reporting
We enabled the generation of regulatory reports for monthly and quarterly submissions to oversight authorities, along with management reports based on data recorded in the system: consumption volumes, calculations, payments, readings, and equipment. We built the reporting on a data composition system, from scratch, based on current legislative and code requirements.
The complexity lay in certain large reports that aggregated data from multiple sources simultaneously across different dimensions. The companies now have a complete set of regulatory reports built into the system for reporting to oversight authorities.
Integration With Other Systems
We implemented data exchange with third-party resources, including DataHub, the consumer personal account portal, chatbots, and client banking systems, through a REST API, as well as file-based exchange in CSV, XLSX, and XML formats.
The large volume of data exchanged simultaneously, particularly during periods of mass consumer billing, placed significant load on the server and slowed the system down, requiring additional performance optimization. This gave the companies a ready-made exchange system for connecting various services, both existing and new.
Equipment and Consumption Reading Accounting
We implemented a system for tracking equipment and related operations, as well as managing readings from metering devices across different zones and services. The companies can now track equipment operations, including meters, transformers, and other devices, along with readings from various instruments, within a single system.
Collaboration with the Client’s Team
On the CBPM side, the project team consisted of three developers, four analysts, and two administrators, with the involvement of the commercial and operations departments and two account managers. On the client side, key users were assigned to the project on a full-time basis, while several dozen employees completed training in both online and offline formats.
Collaboration between the teams was organized through regular internal and external meetings, in-person sessions, email, phone calls, and Microsoft Teams.
A key factor in the project’s success was the joint effort of both the implementation team and the client: clearly defined responsibilities and deadlines, along with regular project status meetings. System support and further enhancements continue on an ongoing basis after the launch.