Skip to main content
The balancing group is settled on what the TSO confirmed, not on what we sent. Where a series does not match its counterpart, the TSO changes it: on 20.10.2026 the trader had not nominated Cloover’s purchase in Amprion (version 3 came after the trader’s 09:00 order deadline), so Amprion’s CNI and CNF-DA set the purchase from 39.75 kWh to 0 (A63, “Die Wertereihe wurde geaendert”) and kept both transfers out of Amprion - 34.75 kWh to TenneT, 5 kWh to TransnetBW. Cloover was 39.75 kWh short in Amprion. The bridge reads every confirmation, compares it per series with what was sent, and measures Fahrplan/Ist and the Kalkulation against the confirmed position.

The confirmations

The TSO answers a schedule message with confirmation reports (ESS ConfirmationReport): Per series a TimeSeriesConfirmation holds the values the TSO keeps (a reason A63: modified), an ImposedTimeSeries one the TSO set without us, a TimeSeriesRejection one not taken into account (counted as 0). Governing per TSO is the newest final report, else the newest report.

Where they come from

Every 30 minutes the orchestrator reads, for each submitted day from three days back to tomorrow that is not yet final for every TSO:
  1. Engrate’s read-back of the day: the schedules, their versions with the series as sent, and the TSO’s answers;
  2. the content of every confirmation not yet held - the XML as Engrate received it (GET /schedule-management/v1/schedules/{uid}/incoming-messages/{message_uid});
  3. where Engrate serves no content: Engrate’s series state (GET /schedule-management/v1/schedules/{uid}/series-state, alpha) - the values with their finality.
A report can also be imported by hand, as the TSO sent it. The XML of every report stays with the day on the audit share (cnf_<message>.xml), the comparison in fahrplan_bestaetigung.json.

The effect on the balancing group

Only the trade series count - internal (with the trader) and external (between Regelzonen). The forecast series of production and consumption are information, not settled. Per Regelzone:
+ where the series brings energy into our group in that Regelzone, − where it takes it out. Negative means less scheduled in: the group is short by it where the customers consume as forecast. For Amprion on 20.10: the purchase −39.75 kWh, the transfers unchanged - −39.75 kWh, short. Fahrplan/Ist adds the change to the Regelzone’s Fahrplan (and Germany’s by their sum), so the deviation, the Ausgleichsenergie and the Kalkulation follow the confirmed position. Each zone says which Fahrplan it used (fahrplan_quelle: gesendet, bestaetigt, bestaetigt_final), the report, and the change in MWh. Confirmed as sent, nothing moves.

The alert

A confirmation that changes a trade series raises fahrplan_vom_uenb_geaendert (High):
Amprion hat den Fahrplan 20.10. geändert (Day-Ahead, 20261020_10XDE-RWENET_CNF-DA_89253): Kauf vom Händler 39.75 → 0 kWh (A63 Die Wertereihe wurde geaendert) - Bilanzkreis in Amprion 39.75 kWh unterdeckt
Once per change: the CNI and the CNF-DA a minute later with the same values say it once. A later report that holds the schedule as sent again raises fahrplan_aenderung_aufgehoben.

Endpoints

All under the process scope.