Published · Updated
Enerace - Energy Procurement Software for Industrial Energy and Gas Buyers
Order Group delivered astonishing work in a very organized way. They truly are a team worth trusting your project with!
- Continuous development
- 6+ years
- Market data integrated
- 13 sources
- Functional areas in one codebase
- 20+ areas
- Web, iOS and Android
- 3 channels
Project summary
Key takeaways
- Order Group has been developing Enerace.Online since 2020 as a permanent team working in Scrum, with no end date: backend, web app, mobile app, integrations and infrastructure.
- The platform puts market data, each client's contract portfolio and the costs the client actually pays in one place.
- 13 external market data sources have been integrated over the life of the project, more and more of them through official APIs instead of scraping.
- PowerShift, the newest module, plans machine schedules so that the combined cost of energy, distribution and the capacity charge is as low as possible.
- In 2025 the stack moved to Python 3.13 and Django 5.
Enerace is an energy procurement advisory firm based in Olsztyn, Poland. It works on purchasing strategy, tenders, recommendations, invoice audits, price monitoring, portfolio reports and power purchase agreements (PPAs). Its clients use from 100 MWh to 1,000 GWh of energy or gas a year, and Enerace reports more than 60 clients and 4,000 GWh of annual consumption managed for them. Enerace.Online is available in the browser and in the App Store and Google Play, with a 14-day trial and Basic, PRO and Professional plans. On the client side it is used by purchasing directors and managers, energy managers, CFOs, plant directors and management boards.
One platform from market data to a buying decision
Market data, the client's contract portfolio and the client's real costs usually sit in separate tools. In Enerace.Online they sit together. A consultant sees all of their clients, a client sees their own portfolio, and both get the same signals and recommendations. Order Group is responsible for the whole product: the backend, the web app, the mobile app, the integrations and the infrastructure.
- Dashboard: purchasing activity, portfolio, contracts, news and weekly recommendations, purchase results, and the carbon footprint with guarantees of origin. Groups of companies can share one dashboard.
- Market analysis: prices of electricity, gas, CO2, coal and oil, European gas storage, the generation mix, comparisons between countries, and market news pinned to the price charts. Each news item gets an AI-generated summary when it is added.
- Decisions: purchase signals (profit targets, stop-loss and orders placed in advance on the chart), the contract position, price alerts, and recommendations that a set number of people on the client side must accept.
- Money: invoice control, budgeting, a purchase summary, and tenders with an offer comparison exported to PDF and XLS.
- Daily, weekly, monthly and portfolio reports and a newsletter go out automatically.
- The React Native app for iOS and Android has been in the stores since 2023, with separate views for the client and the consultant.
- Markets in the product include Poland, Czechia, Slovakia, Romania, Austria and Croatia, with exchange rates from the ECB and from NBP, Poland's central bank.
More than 20 functional areas are built by one team in one codebase.
PowerShift and the 15-minute market: from when to buy to when to use
For years the platform answered one question: when to buy energy, and how much. Since 2025 it also helps answer when and how to use it. PowerShift lets Enerace's clients plan machine schedules and consumption so that the combined cost of energy, distribution and the capacity charge is as low as possible. Enerace announced the module on enerace.online in June 2026.
In Poland the capacity charge (opłata mocowa), which funds the country's capacity market, makes timing expensive. For 2026, under the rate published by URE, Poland's energy regulator, companies billed on their actual consumption pay PLN 0.2194 net for every kWh drawn on working days between 7:00 and 22:00, with the same hours in every quarter. Moving part of the load outside those hours lowers that line on the invoice.
- PowerShift covers work schedules, the calculation of an optimal schedule that includes the capacity charge and distribution costs, an operator screen for people on the production floor, and a switch between the client's companies.
- The first work started in December 2025. The operator screen, the capacity charge and a new way of calculating distribution were live by the end of June 2026, and the XLS export is in progress.
PowerShift stands on groundwork from 2022: the consumption data model and spot price updates. The same model has handled 15-minute consumption data since then, which carried the platform through the switch of the day-ahead market to 15-minute periods on 1 October 2025. After the switch we added 15-minute prices from ENTSO-E and 15-minute balancing.
Market data you can base a decision worth millions on
A purchase recommendation is only as good as the data behind it, so the platform checks that every price is complete, current and correctly timed before a consultant sees it. That is why a large share of the work goes into exchange integrations and data checks.
- 13 external sources have been integrated over the life of the project: TGE (the Polish power exchange), ICE, ENTSO-E (spot, generation, load and 15-minute prices), AGSI and ALSI (GIE's European gas and LNG storage platforms), PSE (the Polish transmission system operator), OKTE, OPCOM, BRM.ro, the ECB, NBP, Oilprice, Orlen and, earlier, Reuters.
- The platform also supports ARGUS coal quotes.
- In 2023 crawlers ran as a separate stream on Selenium with a shared webdriver. In 2024 and 2025 the imports moved to official APIs (ICE XML API in 2024, TGE API in 2025) and to one importer structure.
- Quality checks: automatic retries, import time limits, a health check on the Celery queues, price checks after each import, alerts about missing prices, handling of the clock change in TGE data, and price checks paused at weekends for markets that do not trade then.
- Products and contracts are converted to EUR at ECB and NBP rates, with manual rates for selected purchases.
- Products: monthly, quarterly, yearly and seasonal, BASE and PEAK, contracts in MW and MWh, certificates and guarantees of origin.
A contract engine: purchase signals, tranches, budget and balancing
Every industrial client has a different contract: a different price formula, a different split into tranches, different tolerance bands. So the platform runs a formula engine that recalculates each client's position against the market and the budget every day. With purchase signals, stop-loss and budget tracking, it works as energy risk management software for the buying side. This is where the Enerace consultants' method most literally became code.
- Contract formulas with variables and validation, with calculations that can be paused, logs, and a notification whenever a calculation needs attention.
- Contract position: the share already contracted, tranche purchases in MW and at the average price of a period, and automatic purchase of the next year's product.
- Market, simulated and budget prices, a market benchmark, price percentiles and deciles, and volume-weighted averages.
- Balancing: balancing purchases for gas, hourly and 15-minute, balancing at the wholesale price, and volume tolerance.
- Clients import their consumption data from XLS files, by groups of metering points, with a sample file to download.
- Every change to the calculations is tested and compared with production results before release.
Invoice control: a shadow invoice next to the distributor's invoice
A Polish energy invoice for a large customer has more than a dozen components that depend on the tariff, the region, the billing period and the hours of consumption. The platform calculates its own shadow invoice from the contract and the distributor's tariff, then compares it with the invoice that actually arrived. Differences and breaches of distribution parameters reach the client as alerts.
- Models of distribution system operators and tariff regions, billing periods and a monthly view.
- Invoices and operator data are imported from CSV files or by invoice number and compared with the shadow invoice.
- Invoice control includes distribution costs and the capacity charge, with invoice control reports and an XLS export of the invoicing budget.
- Before we built the module, we ran workshops with Enerace on invoice import in 2024.
How we work: a product that stays current after six years
In 2022 the platform moved to Django 3.2 and Python 3.9. In 2025 it moved to Python 3.13 and Django 5. Regular upkeep keeps the platform on current versions, so it can take new modules without a rewrite. The team stays with the product through workshops, estimates, delivery, testing on staging, release and maintenance.
- Stack: Python and Django with a GraphQL API, React with TypeScript and Redux Toolkit, React Native, Celery, AWS (ElastiCache, autoscaling) and Mailgun.
- Major modernisations: 2022, Django 3.2 and Python 3.9; 2023, the frontend moved to TypeScript; 2025, Python 3.13, Django 5, uv and Ruff; 2026, a new backend structure and a new app layout. Order Group uses the Enerace repositories as the reference frontend and backend project in its internal standards.
- Workshops came back after the start: for the architecture choice (2021), the design of new modules, invoice import (2024), new views (2025) and PowerShift (2025).
- Security in 2026: a new login flow, social login and two-factor authentication in the admin panel. We are running a security audit of the backend and a security and performance audit of the frontend.
- Performance: query tuning for large portfolios, API performance logs, and autoscaling of the Django service on CPU load (2026).
- Maintenance: production monitoring sends alerts to the team on Slack, a separate staging environment runs on an anonymised copy of production, and the mobile app is updated for app store requirements.
- New languages were added to the app in September 2026.
Why build energy software with us
- One team for the whole product since 2020, so the people who understand the energy domain are the ones who write the code.
- Market data from exchanges and grid operators, with checks that catch missing or shifted prices before a consultant uses them.
- Market changes reach the product as features: 15-minute prices and balancing after 1 October 2025, and PowerShift for the 2026 capacity charge.
Related work in our Energy Hub: Kyoto, Zeronest and Skyfri. How the work with Enerace started is described in our article on discovery.
Related articles
Energy procurement software - FAQ
Questions about Enerace.Online and buy-side energy trading software
-
ETRM systems help energy trading companies manage their trades and the risk on them. The Enerace platform supports the buying side: price monitoring, purchase signals, the contract position, invoice control and tenders for industrial customers that use from 100 MWh to 1,000 GWh a year. Our guide to energy trading platforms covers the trading side.
-
Since 2020, more than six years, as a permanent team working in Scrum, with no end date.
-
The consumption data model has handled 15-minute data since 2022. After the 15-minute day-ahead market started on 1 October 2025, we added 15-minute prices from ENTSO-E and 15-minute balancing.
-
A module of Enerace.Online that plans machine schedules and energy use so that the combined cost of energy, distribution and the capacity charge is as low as possible. In 2026 companies in Poland billed on their actual consumption pay a capacity charge of PLN 0.2194 per kWh drawn on working days from 7:00 to 22:00.
-
Among others TGE, ICE, ENTSO-E, PSE, AGSI and ALSI, OKTE, OPCOM, BRM.ro, the ECB and NBP, more and more often through official APIs instead of scraping.
-
By comparing it with a shadow invoice calculated from the contract and the distributor's tariff. In Enerace.Online, differences and breaches of distribution parameters reach the client as alerts.
-
Python, Django, GraphQL, React with TypeScript, React Native and AWS. In 2025 it was upgraded to Python 3.13 and Django 5.
Discover what your product really needs
so far we've worked with brands like:
Thank you for your message.
We read every message ourselves and get back to you within 48 hrs on business days.
Something urgent? hello@ordergroup.co