# BESS

Source: https://ordergroup.co/glossary/bess/
Last updated: 2026-10-10

> A battery energy storage system (BESS) explained for software buyers: components, control layers, EU battery rules and what the control software must do.

[Energy](https://ordergroup.co/glossary/energy/)
5 min read

# BESS

Battery energy storage system
Also known as: battery energy storage system, battery storage system

Definition

A battery energy storage system (BESS) stores electricity in rechargeable batteries and releases it to a site or the grid on command. It combines battery racks, a battery management system, power conversion equipment and control software.

Cite this entry

Text
"BESS". Order Group, Software glossary, 10 October 2026. https://ordergroup.co/glossary/bess/
HTML
`<a href="https://ordergroup.co/glossary/bess/">BESS</a> - Order Group`

Reviewed by [Michał Dżaman](https://ordergroup.co/authors/michal-dzaman/), Co-founder & Head of Backend
Last reviewed 10 October 2026

## How a BESS works

A battery energy storage system is the whole installation around the cells. In an AC-coupled setup it takes AC power from the grid or a solar plant, converts it to DC to charge the cells, holds the energy, and converts it back to AC when it discharges.

The main parts of a BESS:

- Cells, modules and racks. Cells are assembled into modules and modules into racks. Most new stationary systems use lithium iron phosphate (LFP) cells, which tolerate daily cycling well.
- Enclosure. Larger systems ship in containers with fire protection and HVAC that keeps the cells inside their temperature window.
- Power conversion system (PCS). The bidirectional inverter that converts AC to DC and back and executes the power setpoint.
- Battery management system ([BMS](https://ordergroup.co/glossary/bms/)). It measures cell voltages and temperatures, estimates [state of charge](https://ordergroup.co/glossary/state-of-charge/), balances cells and disconnects the battery when a limit is crossed.
- Energy management system ([EMS](https://ordergroup.co/glossary/ems/)). It decides when to charge and discharge and at what power, using prices, site load, grid operator requests and the limits the BMS reports.
- Meters, plus a SCADA and communication layer that collects data, shows it to operators and passes commands between the site, the cloud and the grid operator.

A BESS has two ratings. Power, in MW, says how fast it can charge or discharge. Capacity, in MWh, says how much energy it holds. Capacity divided by power gives the duration: a 2 MW system with 4 MWh can discharge at full power for about two hours. The duration decides which jobs the battery can do. Short, fast services such as frequency reserves need power, while shifting solar energy into the evening needs capacity.

A BESS earns money or saves it in a few ways: shifting energy from cheap to expensive hours, [peak shaving](https://ordergroup.co/glossary/peak-shaving/) against network tariffs, balancing services such as [aFRR](https://ordergroup.co/glossary/afrr/), [demand response](https://ordergroup.co/glossary/demand-response/), and storing solar production that would otherwise be curtailed. One battery often does several of these, which is where most of the software complexity comes from.

Control layers of a BESS
LayerJobTime scaleUsually supplied by

BMSProtects cells: voltage, temperature, SoC, balancing, disconnectionMilliseconds to secondsBattery manufacturerPCSConverts AC and DC, executes power setpointsMillisecondsInverter manufacturerEMSDecides when to charge and discharge within site, market and grid limitsSeconds to hoursIntegrator, software house or battery vendorSCADA and monitoringCollects data, shows it to people, logs alarms, passes commandsSeconds to daysAsset owner's platform or integrator

## What a BESS means for your software

The layers usually come from different suppliers, so the risk of a BESS project sits in the interfaces between them and in what happens when one of them fails. Requirements worth writing into the specification:

- The BMS limits are hard constraints. The EMS reads the allowed charge and discharge power and the SoC from the BMS every cycle and never asks for more. A separate deep discharge guard stops discharging even when a trading or peak shaving rule wants more.
- Control follows the usual EMS rules: the control loop and safety limits run on an edge device at the site, every cycle is logged, and new logic runs on a simulator before it reaches a production battery. The [EMS](https://ordergroup.co/glossary/ems/) entry lists them.
- Every use of the battery has a priority. Grid operator commands, safety limits, peak shaving, trading and balancing compete for the same kilowatt-hours. The order between them, and the fallback when no rule is active, must be written down and tested every time a controller is added.
- Commitments are measured at the grid connection. Conversion losses mean that the power at the battery terminals is not the power at the connection point, and an idle battery still loses energy, so the software has to add both to what it asks the battery for.
- Real batteries do not hit their setpoint exactly. The control loop should compare delivered power with the setpoint and correct the difference.
- Engineers need manual control of the battery during commissioning and faults, in the simulator as well as on site, and monitoring that shows the battery and the meters as separate items.

Writing the specification?

Add BESS to your requirements checklist

Collect the terms your project touches and get their system requirements in one e-mail, ready for an RFP.

## Rules and standards

EU electricity law treats storage as its own activity. Article 2(59) of Directive (EU) 2019/944 defines energy storage as deferring the final use of electricity to a moment later than when it was generated, or converting it into a form of energy that can be stored and later reconverted. Article 36 of the same directive says that distribution system operators shall not own, develop, manage or operate energy storage facilities, with narrow exceptions, so most batteries on the grid belong to market participants.

The Battery Regulation (EU) 2023/1542 sets product rules for the battery itself. Article 12 requires technical documentation showing that a stationary battery energy storage system is safe in operation. Article 14 requires, from August 18, 2024, that the BMS of a stationary BESS holds data on the parameters that determine state of health and expected lifetime, with read-only access for the owner and third parties acting on the owner's behalf. Article 77 introduces a digital battery passport for industrial batteries above 2 kWh, electric vehicle batteries and light means of transport batteries from February 18, 2027. For software this means that battery data has an owner with a legal right to read it, and the EMS or the asset platform is the natural place to collect it.

## From our projects

We designed the architecture and built the EMS for [Skyfri's solar and battery platform](https://ordergroup.co/case-studies/skyfri-solar-asset-management-platform/). It has been in production since June 2024 and runs on 7 plants with more than 4 MW of battery power and more than 5 MWh of battery capacity; the largest single battery is over 2 MW. It handles several batteries and inverters on one site, runs fully offline and covers a maximum site load limiter, peak shaving, energy trading and requests from the distribution system operator. It was validated at the Socomec battery laboratory in Strasbourg.

For Global Green, a solar and battery operator with sites in Germany and Canada (15 MWh of BESS and 5 MW of PV), we are building the EMS for its battery storage sites in 2026. It runs on an industrial computer at the site and sends data to the cloud. By July 2026 we had finished separate controllers for the distribution operator's battery limit and its direct battery commands, loss coverage so that committed power arrives at the grid connection, and manual battery control in the simulator. As of October 2026 we are separating battery and meter views in the web monitoring, and a PID correction of delivered battery power is planned.

For [Zeronest](https://ordergroup.co/case-studies/zeronest-solar-panel-monitoring-app/) we have built the home and installer EMS since January 2024. It controls about 30 MWh of prosumer storage across 16 inverter brands, with three storage modes: off, manual and automatic.

From our projects

[Skyfri - Solar & Battery Asset Management Platform
How Order Group built the fully offline EMS behind Skyfri's solar platform, which controlled more than 5 MWh of battery storage across 7 live plants.](https://ordergroup.co/case-studies/skyfri-solar-asset-management-platform/)

Where to get it

- [Skyfri](https://skyfri.com/product)
Skyfri offers a monitoring and energy management platform for solar and battery sites. We designed and built the EMS that controls its batteries.
- [Zeronest](https://zeronest.pl/)
Zeronest offers an energy management ecosystem for homes, businesses and energy cooperatives, including control of home batteries. We build and maintain its software.

## Related terms

- [aFRR](https://ordergroup.co/glossary/afrr/)

Automatic frequency restoration reserve
aFRR (automatic frequency restoration reserve) is a frequency restoration reserve that the grid operator activates automatically, by sending setpoints from its frequency controller, to bring system frequency back to its nominal value. In Poland it must reach full activation within 5 minutes.
- [BMS](https://ordergroup.co/glossary/bms/)

Battery management system
A battery management system (BMS) is the electronics and software that monitor a battery's cells, including voltage, temperature and state of charge, balance them and disconnect the battery when it leaves safe limits. In buildings, BMS can also mean a building management system.
- [EMS](https://ordergroup.co/glossary/ems/)

Energy management system
An energy management system (EMS) is software that reads the meters, inverters and batteries on a site and sends them setpoints, deciding when to charge, discharge, curtail or trade within grid, contract and safety limits.
- [Peak shaving](https://ordergroup.co/glossary/peak-shaving/)

Peak shaving lowers the highest power a site draws from the grid, usually by discharging a battery or cutting flexible load during the intervals the network tariff measures, so the site avoids capacity overrun fees or qualifies for a lower network charge.
- [State of charge (SoC)](https://ordergroup.co/glossary/state-of-charge/)

State of charge (SoC) is the energy available in a battery, expressed as a percentage of its rated capacity. The battery management system estimates it, and energy software uses it to decide when a battery may charge, discharge or hold a reserve.

## Read more on the blog

- Article
[Battery Energy Storage System (BESS): How It Works and What Software It Needs](https://ordergroup.co/blog/battery-energy-storage-system/)
- Article
[Managing Surplus Renewable Energy with Energy Storage Systems](https://ordergroup.co/blog/surplus-renewable-energy-storage/)

## Sources

1. [Regulation (EU) 2023/1542 concerning batteries and waste batteries, Articles 12, 14 and 77](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32023R1542) - EUR-Lex
2. [Directive (EU) 2019/944 on common rules for the internal market for electricity, Article 2(59) and Article 36](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019L0944) - EUR-Lex

Michał Dżaman reviewed this entry. Ask how it applies to your project.

[Ask an engineer](https://ordergroup.co/contact-us/)

## FAQ

![Michał Dżaman](https://ordergroup.co/media/images/T02DHCC1Z-USU629221-c8b7d6d66b56-512.format-webp.webp)

Michał Dżaman

Co-founder & Head of Backend

[Talk to an engineer](https://ordergroup.co/contact-us/)

### What is the difference between MW and MWh in a BESS?

MW is power: how fast the battery can charge or discharge. MWh is capacity: how much energy it holds. Capacity divided by power gives the duration, so a 2 MW battery with 4 MWh of capacity can run at full power for about two hours.

### Can a BESS work without an internet connection?

Yes, if its EMS and safety limits run locally at the site. The EMS we built for Skyfri runs fully offline and keeps controlling batteries and inverters without a connection. The cloud is needed for history, forecasts and remote configuration, not for the control loop.

### Can one BESS do trading, peak shaving and balancing at the same time?

Yes, but not with the same kilowatt-hours. The EMS has to reserve state of charge and power for each commitment, apply a written priority when they conflict, and correct for losses so that each commitment is met at the grid connection.

### Should I use the battery vendor's EMS or a custom one?

The vendor's EMS is usually enough for one battery brand, standard operating modes and a stable connection. A custom or extended EMS pays off when you mix battery or inverter brands, need offline operation, trade on energy markets, follow grid operator commands or run your own platform for customers.

Building a system that depends on BESS?

See how we build software for this domain, with case studies and the stack we use.

[See Energy Hub](https://ordergroup.co/energy-hub/)

Requirements checklist

For each term we send the definition and what it requires from your software. Free, no sales call needed.
Your checklist is empty. Use the plus next to a term to add it.
