{"id":597,"date":"2026-09-24T01:51:00","date_gmt":"2026-09-24T01:51:00","guid":{"rendered":"https:\/\/www.blog.gridlink.pl\/?p=597"},"modified":"2026-09-07T10:38:24","modified_gmt":"2026-09-07T10:38:24","slug":"industrial-battery-storage-in-poland-the-capacity-fee-saving-is-a-step-function","status":"publish","type":"post","link":"https:\/\/www.blog.gridlink.pl\/index.php\/2026\/09\/24\/industrial-battery-storage-in-poland-the-capacity-fee-saving-is-a-step-function\/","title":{"rendered":"Industrial Battery Storage in Poland: the Capacity-Fee Saving Is a Step Function"},"content":{"rendered":"\n<div style=\"background:#F3F7FD; border-left:4px solid #305EA8; padding:20px; border-radius:8px; margin-bottom:24px;\"><p>A battery vendor&#8217;s model for a Polish plant multiplies the megawatt-hours moved out of peak by the capacity fee. For a site in tariff group A or B, that fee is not linear. It is the product of the rate, the volume drawn in peak hours, <strong>and a coefficient set by a qualification group, K1 to K4, assigned again every single day<\/strong>. The same battery can be worth 219,400 PLN a year or over 900,000, depending on whether it crosses a band.<\/p> <p>Five processes sit outside the purchase contract: the connection charges under UC84, the building classification of the container, a mandatory limiter where installed capacity exceeds connection capacity, the tariff penalty for exceeding contracted power, and lifecycle compliance. Not every project hits all five.<\/p> <\/div>\n<h2>Why the capacity-fee saving is a step function<\/h2>\n<p>The 2026 capacity fee for volumetrically settled consumers is 0.2194 PLN\/kWh, or 219.40 PLN\/MWh, up 55 percent from 0.1412 PLN\/kWh in 2025. It applies to energy drawn from the grid in selected hours: fifteen consecutive hours on each working day, the first beginning at 07:00 and the fifteenth at 21:00. This follows from Informacja Prezesa URE nr 58\/2025 of 30 October 2025.<\/p>\n<p>Then comes the coefficient. Tariff group A has been billed on the target formula since 1 October 2021 and group B since 1 January 2022. The formula multiplies three things: coefficient A, peak-hour volume, and the rate. The group is set by how far peak-hour consumption exceeds off-peak consumption.<\/p>\n<div style=\"background:#FFFFFF; border:1px solid #D7E3F8; padding:20px; border-radius:8px; margin:24px 0;\"><h3 style=\"margin-top:0;\">Qualification groups and coefficient A<\/h3> <ul> <li><p><strong>K1<\/strong>, gap below 5 percent, coefficient <strong>0.17<\/strong>, an effective 37.30 PLN\/MWh<\/p><\/li> <li><p><strong>K2<\/strong>, 5 to under 10 percent, coefficient <strong>0.50<\/strong>, 109.70 PLN\/MWh<\/p><\/li> <li><p><strong>K3<\/strong>, 10 to under 15 percent, coefficient <strong>0.83<\/strong>, 182.10 PLN\/MWh<\/p><\/li> <li><p><strong>K4<\/strong>, 15 percent and above, or no off-peak draw at all, coefficient <strong>1.00<\/strong>, the full 219.40 PLN\/MWh<\/p><\/li> <\/ul> <p style=\"margin-bottom:0;\">Since 2025 the qualification period is a single day. The site is re-graded every working day.<\/p> <\/div>\n<p>Now the arithmetic. For example, a plant drawing 7,500 MWh a year inside the peak window, sitting in K4, pays 1,645,500 PLN. A 4 MWh battery running one cycle a day across 250 working days moves 1,000 MWh out of the window. The vendor will price that at 1,000 times 219.40, or 219,400 PLN. That is right only if the site stays in K4.<\/p>\n<p>Flatten the profile enough to reach K3 and the bill falls to 1,183,663 PLN, a saving of 461,837 PLN. Reach K2 and the bill is 713,050 PLN, a saving of 932,450 PLN. Four times what the spreadsheet promised. The difference has nothing to do with battery chemistry. It depends on which side of a band each day lands, and that cannot be modelled without a full year of the site&#8217;s own 15-minute data. A battery vendor does not have that file and is not responsible for preparing it.<\/p>\n<p>It runs the other way too. A site already in K1 pays 37.30 PLN\/MWh, so the same battery earns it a fifth of what it earns the neighbour in K4.<\/p>\n<p>One caveat against our own interest. The 2026 rate was set under a temporary price-limiting statute, the Act of 12 September 2025 on the heating voucher, not the standing mechanism. The 2027 rate is not published. An eight-year payback rests on a parameter reset every year.<\/p>\n<h2>Connection charges, and which of them you get back<\/h2>\n<p>If the battery does not raise the site&#8217;s contracted connection capacity, none of these apply. Article 7(1h) of Energy Law (Prawo energetyczne), as amended by UC84 in force since 30 April 2026, says so directly: an applicant adding a further installation or storage unit, or changing technical parameters, pays no advance where connection capacity does not increase. Article 7(8a) repeats it: where the applicant already holds capacity, the advance is charged only on the increment.<\/p>\n<p>There is a bonus few people mention. Under Article 7(1i), where connection capacity changes in neither direction, the connection impact study excludes load-flow analysis. That removes weeks and an invoice.<\/p>\n<p>Where capacity does rise, three separate payments apply and they differ in what happens to the money:<\/p>\n<div style=\"background:#FFFFFF; border:1px solid #D7E3F8; padding:20px; border-radius:8px; margin:24px 0;\"><h3 style=\"margin-top:0;\">Three connection payments, worked at a 4 MW increment<\/h3> <ul> <li><p><strong>Application fee<\/strong>, 1 PLN per kilowatt, capped at 100,000 PLN. At 4 MW, 4,000 PLN. Payable separately for each connection point, on pain of the application being left unexamined. <strong>This one is not refundable<\/strong> (Article 7(8b1) and (8b2)).<\/p><\/li> <li><p><strong>Advance<\/strong>, 60 PLN per kilowatt, capped at 6m PLN. At 4 MW, 240,000 PLN. Contrary to what circulates in briefing notes, this is an advance <strong>against the connection fee<\/strong> and is credited in the final settlement (Article 7(8a) and (8b)).<\/p><\/li> <li><p style=\"margin-bottom:0;\"><strong>Security<\/strong> for performance of the connection agreement, 30 PLN per kilowatt up to 100 MW and 60 PLN above, capped at 12m PLN. At 4 MW, 120,000 PLN, released in stages against milestones (Article 7(8c1)).<\/p><\/li> <\/ul> <\/div>\n<p>The milestone for storage is stricter than for solar. Photovoltaics needs a final building permit covering at least 80 percent of installed capacity. A battery system with its converters needs one covering 80 percent of capacity and 80 percent of the energy volume under the agreement. Re-specifying cells after signing can therefore break the milestone the security release depends on.<\/p>\n<p>One terminology warning. Cable pooling sits in Article 7(1f), not Article 5, and that provision ends by excluding installations and storage whose connection point is the end customer&#8217;s own installation. A battery unit behind the plant&#8217;s meter is precisely that excluded case. The basis for paying no advance there is Article 7(1h) and (8a).<\/p>\n<p>The permit threshold depends on where the container is located<\/p>\n<p>The Act of 4 December 2025 amending Building Law (Prawo budowlane) took effect on 7 January 2026 and regulates storage explicitly for the first time. It sets two different ladders, and confusing them costs months.<\/p>\n<p>Installed on or inside a building: nothing below 30 kWh; from 30 to 300 kWh, a notification with technical documentation, fire-safety sign-off and a licensed engineer&#8217;s design; and a full building permit above 300 kWh.<\/p>\n<p><strong>Free-standing<\/strong>, which is what a container on a slab is: nothing below 30 kWh capacity, but from 30 to 300 kWh a notification with a site development plan and fire-safety sign-off. A capacity from 300 to 2,000 kWh the same plus notice to the State Fire Service on completion with a plan of the unit; and <strong>a building permit only above 2,000 kWh<\/strong>.<\/p>\n<p>So a 1.5 MWh container beside the hall goes the notification route, while the same container inside the building needs a permit. Location decides, not capacity, and most published summaries quote only the 300 kWh figure.<\/p>\n<div style=\"background:#FFFFFF; border:1px solid #D7E3F8; padding:20px; border-radius:8px; margin:24px 0;\"><h3 style=\"margin-top:0;\">A note for legal counsel<\/h3> <p style=\"margin-bottom:0;\">The statutory definition of &#8222;magazyn energii elektrycznej&#8221; in Prawo budowlane carries its own later vacatio legis and applies from <strong>20 September 2026<\/strong>, although the capacity thresholds have applied since January. Until that date authorities fall back on the Prawo energetyczne definition, which is why practice differs between municipalities.<\/p> <\/div>\n<h2>The limiter nobody quotes for<\/h2>\n<p>Article 7(22) of Energy Law (Prawo energetyczne), added by UC84, is the line no vendor spreadsheet carries. Where the combined installed capacity of installations and storage exceeds connection capacity in either direction, the connection agreement must set out how technical capability to stay within connection capacity is secured.<\/p>\n<p>Three consequences, all on the plant. The connected party buys, installs and maintains the limiting equipment and devices. The system user supervises it and is responsible for preventing changes to its settings. And where that equipment malfunctions and connection capacity is exceeded, the operator <strong>may suspend feed-in or off-take<\/strong> until correct operation is restored.<\/p>\n<p>That is not an operator-imposed fine. It means the plant stopping. An inverter sized for maximum peak shaving can, together with site load, exceed connection capacity, and at that point the limiter is not optional.<\/p>\n<h2>Two clocks after commissioning, and one tariff clause<\/h2>\n<p>Storage above 50 kW installed capacity goes on the operator&#8217;s register under Article 43g. The clock is split. The owner files within <strong>7 days<\/strong> of commissioning. The operator then has its own <strong>14 days<\/strong> to complete the entry, and any change to registered data must be reported within 14 days of the change. A vendor schedule usually treats this as one step run by one party. It is two.<\/p>\n<p>Above 10 MW capacity a Prezes URE storage concession is required under Article 32(1)(4). Poland&#8217;s first went to Energix for BESS Nowe Czarnowo I, 24 MW and 56 MWh, confirmed in December 2025. Market practice runs four to eight months on a well-prepared file, longer where the regulator asks for supplements, and revenue does not start on the commissioning date.<\/p>\n<p>Then the tariff clause. Under the Regulation of the Minister of Climate and Environment of 29 November 2022, the charge for exceeding contracted power is the fixed component of the network rate multiplied by the sum of the ten largest excesses, or ten times the single largest excess in the settlement period, measured on 15-minute averages. Note the asymmetry. The capacity-fee saving is annual and follows the average profile. This penalty is monthly and follows the ten worst quarter-hours.<\/p>\n<p>Recharging inside the peak window is the mistake that costs twice. It raises the peak-window volume the capacity fee is charged on, it pushes the site toward K4, and it can trigger the contracted-power penalty in the same month.<\/p>\n<h2>The compliance clock a foreign owner will not have on the calendar<\/h2>\n<p>The amendment to the Polish national cybersecurity act of 23 January 2026 entered into force on 2 April 2026. Key and important entities have twelve months to align systems and procedures, so until <strong>3 April 2027<\/strong>. The first mandatory audit for key entities falls due by 3 April 2028, and penalties can be imposed from that date. If the site qualifies as an energy-sector entity, the battery&#8217;s EMS and SCADA systems are in scope. Under seven months remain.<\/p>\n<h2>What a vendor proposal will not answer<\/h2>\n<p>A unit well under 300 kWh sitting inside existing connection headroom triggers almost none of this. Everything above that threshold sits between the energy manager, who owns the discharge schedule, and the finance director, who owns the payback model, and it belongs fully to neither.<\/p>\n<div style=\"background:#FFFFFF; border:1px solid #D7E3F8; padding:20px; border-radius:8px; margin:24px 0;\"><h3 style=\"margin-top:0;\">Four questions to put to the vendor<\/h3> <ul> <li><p>Which qualification group are we in today, and on how many days a year would this battery move us out of it?<\/p><\/li> <li><p>Does the quoted capacity fit the headroom on our connection agreement, or does it trigger the application fee, advance and security?<\/p><\/li> <li><p>Will the container be free-standing or inside a building, and does the quoted timeline price the right permit threshold?<\/p><\/li> <li><p style=\"margin-bottom:0;\">Does installed inverter capacity plus our peak load stay inside connection capacity, or does Article 7(22) force a limiter at our cost?<\/p><\/li> <\/ul> <\/div>\n<h2>What GridLink checks before you sign<\/h2>\n<p>GridLink does not sell batteries and does not price the offer. We do the engineering half, on the owner&#8217;s side. From the 15-minute profile we calculate whether, and on how many days, the battery moves the site between qualification groups, because that is where most of the money sits. The quoted capacity gets tested against the connection agreement on file, and installed inverter capacity plus peak load against connection capacity, to establish whether Article 7(22) forces a limiter. The engineering work is led by Micha\u0142 Gajdzica, PhD, co-founder of GridLink, and the team has experience with more than 800 MVA connected to Polish operator networks. We do not replace the vendor&#8217;s design or your own engineering sign-off, and we promise no payback figure.<\/p>\n<div style=\"background:#305EA8; color:#FFFFFF; padding:20px; border-radius:8px; margin-top:24px;\"><p style=\"margin-top:0;\">Before signing, check two numbers. The qualification group the site is in today, because K1 and K4 are a fivefold difference on the same bill. And installed inverter capacity plus peak load against the connection capacity in your existing conditions.<\/div>\n\n\n<div class='fluentform ff-default fluentform_wrapper_1  ff_guten_block ff_guten_block-1 ffs_default_wrap'><form data-form_id=\"1\" id=\"fluentform_1\" class=\"frm-fluent-form fluent_form_1 ff-el-form-top ff_form_instance_1_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_1_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Contact Form<\/legend><p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"153\"\/><script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n<\/p><input type='hidden' name='__fluent_form_embded_post_id' value='597' \/><input type=\"hidden\" id=\"_fluentform_1_fluentformnonce\" name=\"_fluentform_1_fluentformnonce\" value=\"16dfbb06e7\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php\/wp-json\/wp\/v2\/posts\/597\" \/><div data-type=\"name-element\" data-name=\"names\" class=\" ff-field_container ff-name-field-wrapper\" ><div class='ff-t-container'><div class='ff-t-cell '><div class='ff-el-group'><div class=\"ff-el-input--label asterisk-right\"><label for='ff_1_names_first_name_' id='label_ff_1_names_first_name_' >First Name<\/label><\/div><div class='ff-el-input--content'><input type=\"text\" name=\"names[first_name]\" id=\"ff_1_names_first_name_\" class=\"ff-el-form-control\" placeholder=\"First Name\" aria-invalid=\"false\" aria-required=false><\/div><\/div><\/div><div class='ff-t-cell '><div class='ff-el-group'><div class=\"ff-el-input--label asterisk-right\"><label for='ff_1_names_last_name_' id='label_ff_1_names_last_name_' >Last Name<\/label><\/div><div class='ff-el-input--content'><input type=\"text\" name=\"names[last_name]\" id=\"ff_1_names_last_name_\" class=\"ff-el-form-control\" placeholder=\"Last Name\" aria-invalid=\"false\" aria-required=false><\/div><\/div><\/div><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_1_email' id='label_ff_1_email' aria-label=\"Email\">Email<\/label><\/div><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_1_email\" class=\"ff-el-form-control\" placeholder=\"Email Address\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_1_message' id='label_ff_1_message' aria-label=\"How can we help?\">How can we help?<\/label><\/div><div class='ff-el-input--content'><textarea aria-required=\"true\" aria-labelledby=\"label_ff_1_message\" name=\"message\" id=\"ff_1_message\" class=\"ff-el-form-control\" placeholder=\"Your Message\" rows=\"4\" cols=\"2\" data-name=\"message\" ><\/textarea><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper'><button type=\"submit\" class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style\"  aria-label=\"Submit Form\">Submit Form<\/button><\/div><\/fieldset><\/form><div id='fluentform_1_errors' class='ff-errors-in-stack ff_form_instance_1_1 ff-form-loading_errors ff_form_instance_1_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_1_1 = {\"id\":\"1\",\"ajaxUrl\":\"https:\\\/\\\/www.blog.gridlink.pl\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"cssClassName\":\"\",\"asteriskPlacement\":\"asterisk-right\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_1_1\",\"form_id_selector\":\"fluentform_1\",\"rules\":{\"names[first_name]\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global\":false,\"global_message\":\"This field is required\"}},\"names[middle_name]\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global\":false,\"global_message\":\"This field is required\"}},\"names[last_name]\":{\"required\":{\"value\":false,\"message\":\"This field is required\",\"global\":false,\"global_message\":\"This field is required\"}},\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global\":false,\"global_message\":\"This field is required\"},\"email\":{\"value\":true,\"message\":\"This field must contain a valid email\",\"global\":false,\"global_message\":\"This field must contain a valid email\"}},\"message\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global\":false,\"global_message\":\"This field is required\"}}},\"debounce_time\":300,\"file_upload_settings\":[]};\n                            <\/script>\n            ","protected":false},"excerpt":{"rendered":"<p>A battery vendor&#8217;s model for a Polish plant multiplies the megawatt-hours moved out of peak by the capacity fee. For a site in tariff group A or B, that fee is not linear. It is the product of the rate, the volume drawn in peak hours, and a coefficient set by a qualification group, K1 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":601,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,25,2],"tags":[],"class_list":["post-597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bess","category-articles-in-english","category-audyty-przylaczen"],"_links":{"self":[{"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/posts\/597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/comments?post=597"}],"version-history":[{"count":1,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/posts\/597\/revisions"}],"predecessor-version":[{"id":598,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/posts\/597\/revisions\/598"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/media\/601"}],"wp:attachment":[{"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/media?parent=597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/categories?post=597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blog.gridlink.pl\/index.php\/wp-json\/wp\/v2\/tags?post=597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}