Биржевая цена на электроэнергию — не то, что вы платите. Это первое слагаемое суммы, а всё, что попадает в счёт — надбавка поставщика, сети, государство, — идёт после него.
Этот разрыв — источник почти каждой неверной цифры стоимости. Передайте в дашборд оптовую цену — и цифра выйдет слишком низкой; прибавьте части вашего договора к цене, которая их уже содержит, — и выйдет слишком высокой. Со стороны обе выглядят одинаково: цифра не совпадает со счётом.
Поэтому вот всё целиком, в том порядке, в котором выполняется арифметика.
Два вида цены
| Что это | Что нужно от вас | |
|---|---|---|
| Биржевая | оптовая цена за этот период, с биржи | составляющие вашего договора, которые добавляются сверху |
| Всё включено | что поставщик выставляет за этот период, с налогами | ничего — цена берётся как есть |
Какой у вас вид, — самая важная настройка во всём этом вопросе, и она не дело вкуса: она определяется тем, откуда пришла цена. Биржа публикует биржевую цену, собственная лента поставщика — цену «всё включено». Ошибиться здесь — не погрешность округления: это разница между цифрой, в которой не хватает половины веса, и цифрой, в которой одна часть учтена дважды.
Формула целиком
Для биржевого источника каждый 15-минутный период считается так:
( spot × factor + markup [+ zone rate] + grid fee + energy tax + levy ) × ( 1 + VAT / 100 )
Для источника «всё включено» формулы нет. Цена используется так, как пришла, и НДС не применяется повторно — он уже в ней.
Компонент за компонентом, с названиями, которые, скорее всего, встретятся в вашем счёте:
| Компонент | Что это | Как это называется у вас |
|---|---|---|
| spot | биржевая цена за период | Börsenstrompreis, spotprijs, spotpris |
| factor | множитель биржевой цены; 1.0, если договор её не меняет | редко называется — если в договоре его нет, он равен 1.0 |
| markup | собственная надбавка поставщика за киловатт-час | Aufschlag, opslag leverancier, påslag |
| zone rate | ставка вашего плана для этого часа, если договор накладывает тариф по времени поверх рынка | Hochtarif / Niedertarif, piek / dal |
| grid fee | плата оператора сети за киловатт-час | Netzentgelte, netbeheerkosten, nättariff |
| energy tax | налог государства на энергию | Stromsteuer, energiebelasting, energiskatt |
| levy | всё остальное, что берётся за киловатт-час | Umlagen, ODE, elcertifikat |
| VAT | применяется один раз, в конце, к сумме всего выше. Процент: 19 % вводится как 19, а не 0.19 |
MwSt, btw, moms |
Всё в нетто. НДС применяется один раз
Это первая из двух ошибок, и она самая частая.
Вводите каждый компонент без НДС. Сетевой тариф, налог на энергию, сборы, надбавка — всё в нетто. НДС тогда применяется один раз, к сумме. Если ввести цифру, которая уже содержит НДС, он будет взят дважды — именно так и выглядит стоимость, которая непонятно почему завышена, при том что каждая отдельная цифра на экране похожа на строку из вашего счёта.
Ловушка здесь — ваш счёт: в нём часто указаны компоненты уже с НДС, как суммы, которые вы фактически заплатили. Их не вводят — сначала выделите из них НДС. Сетевой тариф, напечатанный как 3.50 цента с учётом 19 % НДС, вводится как 0.035 / 1.19 = 0.0294.
А цена «всё включено» никогда не облагается налогом повторно. Если источник — «всё включено», и вы при этом заполняете компоненты договора, вы описываете не свой тариф, а прибавляете его второй раз.
Одна единица измерения везде: за киловатт-час, в основной единице валюты
Это вторая ошибка, и она опасная, потому что часть её происходит незаметно.
Каждое денежное поле — за киловатт-час, в основной единице вашей валюты — EUR/кВт·ч, SEK/кВт·ч, GBP/кВт·ч. Не центы. Не за мегаватт-час. Надбавка в 2.5 цента вводится как 0.025.
НДС — исключение, потому что это не деньги: это процент. 19 % вводится как 19. Ввод 0.19 означал бы 0.19 % НДС — поэтому в формуле выше стоит / 100.
Публичные источники уже обработаны. Они дают оптовую цену за мегаватт-час, а хаб делит на тысячу сам; вам нечего переводить и нечего проверять.
Если вы передаёте цены сами — из Home Assistant или своего скрипта, — перевод единиц ваш, и именно здесь всё тихо ломается:
- за мегаватт-час значение 100 или меньше — обычный почасовой уровень на бирже, скажем 85 — принимается как
85за киловатт-час, без единой ошибки. Такие периоды потом стоят примерно в тысячу раз дороже; - значение больше 100 отклоняется, и отправка на нём останавливается — но записи, отправленные до него, остаются сохранёнными. День может закончиться наполовину оценённым в тысячу раз дороже, а наполовину по плану.
Симптом, который стоит узнавать: цена покупки и стоимость периодов внезапно примерно в тысячу раз выше, и никакой ошибки нигде нет. Журнал применённых цен, который хранит 40 дней с одной строкой на каждый закрытый период, — место, где это подтверждается.
⚠️ Ещё раз: это о ценах, которые вы передаёте, а не о встроенных источниках. Есть одна проверка диапазона — покупка и продажа от −100 до +100 за киловатт-час — и никакой проверки по величине. Хаб не может отличить дорогой час от ошибки единиц, поэтому эта проверка на вас.
Заполняем по форме вашего договора
Готовых шаблонов нет, и причина не вежливость: поставщики меняют условия раз в месяц, и шаблон стал бы публичным утверждением о чужом тарифе с датой истечения — неверным для части читателей с дня публикации и для всех рано или поздно. Договоры бывают нескольких форм:
- Биржевая цена плюс фиксированная надбавка. Обычный европейский динамический договор.
factor= 1.0;markup= надбавка поставщика за киловатт-час, в нетто; затем сетевой тариф, налог и сборы от оператора сети и вашей страны; НДС последним. - Биржевая цена с множителем, затем надбавка. Некоторые договоры умножают биржевую цену (множитель выше 1.0 покрывает балансировочные издержки поставщика). То же, что выше, с
factorиз ваших условий. - Поставщик публикует итоговую цену. Тогда используйте источник «всё включено» или передайте его цену, отметьте как «всё включено» и оставьте все компоненты пустыми. Заполнение их здесь — то самое двойное учитывание, описанное выше.
Если договор накладывает тариф по времени поверх рынка — дешевле ночью, сверх биржевой цены, — это и есть компонент zone rate, и он берётся из зон вашего плана, а не из источника.
Отрицательные цены и нужен ли им нижний порог
Когда рынок уходит в минус, хаб сохраняет отрицательную цену и записывает отрицательную стоимость за период. По договору, который следует за рынком, это честное прочтение: потребление в эти часы вам засчитывается.
Если ваш договор не передаёт отрицательные цены, задайте порог — минимальную цену покупки и минимальную цену продажи. Если их не трогать, оба стоят «нет», и отрицательные цены проходят как есть. Порог применяется последним, после всего остального в формуле.
Пороги нужны потому, что рыночная цена может упасть ниже нуля, а ваш договор может этого не повторять. Тарифные ставки плана вообще никогда не уходят ниже нуля.
Что эта цифра не показывает
Это стоимость энергии. За киловатт-час и только за неё.
Постоянная плата — ежедневная или ежемесячная фиксированная сумма, как бы её ни называла ваша страна: Grundpreis, vastrecht, netbeheer, standing charge — в неё не входит. Ничего из настраиваемого её не добавит.
Для проверки это важно, потому что есть два разных расхождения, и значат они разное:
| Ваш месяц отличается от счёта на… | Что это значит |
|---|---|
| примерно на разницу между нетто и брутто в вашем счёте | скорее всего, неверно выбран вид цены — частый случай |
| примерно на вашу постоянную плату | ничего не сломано: эта часть никогда не учитывалась |
Проверяем в первый полный день
- Сравните с цифрами вашего поставщика, а не с графиком оптовой цены. График — первое слагаемое, а не ответ. Цифра стоимости хаба — брутто: с НДС, того же характера, что сумма, которую выставляет поставщик, поэтому сравнивается с ней напрямую. У отдачи наоборот: цена продажи без НДС, потому что с неё НДС не берётся.
- Сначала проверьте порядок величины. Множитель в тысячу — это ошибка единиц, а не тарифа.
- Затем проверьте направление. Завышено примерно на разницу между нетто и брутто в вашем счёте: компонент введён с НДС или цена «всё включено» плюс заполненные компоненты. Занижено на ту же величину: биржевой источник с пустыми компонентами.
- Откройте один период в журнале применённых цен. Там видно, какая цена использовалась и откуда, — так можно отличить неверную настройку от подставленного источника.
Где читать подробнее
- Where your price comes from — каждое поле, каждая причина отказа и полный список источников.
- Откуда хаб берёт цену — выбор источника для вашей зоны и что каждый из них требует взамен.
- How cost is calculated — та же цепочка со стороны измерений.
- Tariffs and plans — зоны, сборы и НДС, где живёт вторая половина биржевого источника.