# Conditions UTILTS
<span hidden data-pagefind-meta={"title:Conditions UTILTS — application handbook (FV 202604)"} />

EDIFACT message type **UTILTS** · format version **202604** · 107 conditions · 3 packages · 1 UB conditions · from 8 handbook file(s)

## Conditions

<div className="maco-tabellenrahmen">

| Marker | Condition |
|---|---|
| **[1]** | Only MP-ID from the electricity division |
| **[2]** | If SG5 STS+Z23+Z34 (calculation formula must be requested from the sender) present in a SG5 IDE |
| **[5]** | If the SG8 RFF+Z19 (reference to a metering location) is not present in the same SG8 SEQ+Z37 |
| **[6]** | If the SG8 RFF+Z23 (reference to a calculation step) is not present in the same SG8 SEQ+Z37 |
| **[7]** | If in the same SG8 SEQ+Z37 the SG8 RFF+Z19 (reference to a metering location) is present |
| **[8]** | Calculation step identifier from a SG8 SEQ+Z37 (part of the calculation step) DE1050 of the same SG5 IDE+24 and the same time period ID as for this SG8 |
| **[9]** | The calculation step identifier specified here must not be identical to the calculation step identifier from this SG8 SEQ+Z37 DE1050 |
| **[10]** | if present |
| **[11]** | If in SG8 SEQ+Z37 SG9 CCI+++Z86 CAV+Z69/Z70 (addition / subtraction) is present, the transaction may contain any number of further SG8 SEQ+Z37 with an identical calculation step identifier with the same time period ID, which however may only contain the operators Z69/Z70 |
| **[12]** | If in SG8 SEQ+Z37 SG9 CCI+++Z86 CAV+Z83 (positive value) is present, the transaction may not contain any further SG8 SEQ+Z37 with an identical calculation step identifier and the same time period ID |
| **[13]** | If in SG8 SEQ+Z37 SG9 CCI+++Z86 CAV+Z80/Z81 (divisor / dividend) is present, exactly one second SG8 SEQ+Z37 with an identical calculation step identifier and the same time period ID must be present in this transaction, such that the one SG8 SEQ+Z37 contains the operator Z80 (divisor) and the other SG8 SEQ+Z37 the operator Z81 (dividend) |
| **[14]** | If in SG8 SEQ+Z37 SG9 CCI+++Z86 CAV+Z82 (factor) is present, the transaction may contain any number of further SG8 SEQ+Z37 with an identical calculation step identifier and the same time period ID, which however only contain CAV+Z82 |
| **[15]** | If in a SG5 IDE+24 only one SEQ+Z37 with a SG8 RFF+Z19 (metering location) and the same time period ID is present |
| **[21]** | If in this CAV+ZD3 the value in DE7110 is present with Z32 (other metering time period definition type) |
| **[22]** | If MP-ID in SG2 NAD+MS (message sender) in the role NB |
| **[24]** | If SG5 STS+Z36+Z45 (definitions are used) present |
| **[25]** | If MP-ID in SG2 NAD+MR (message recipient) in the role LF |
| **[26]** | if a complaint was raised via ORDERS |
| **[27]** | If CAV+ZD4+Z26 (no use of the peak load time window) is present in SG9 |
| **[29]** | If the code 303 is present in DE2379 in SG8 SEQ+Z43 DTM+Z33 (time of the metering time change) |
| **[30]** | The value of CCYY in this DE must be exactly one higher than the value CCYY of the SG5 DTM+Z34 (start of validity) DE2380 |
| **[31]** | If code 303 is present in DE2379 of this segment |
| **[32]** | The point in time in this DE must be ≥ the point in time from DE2380 of the start of validity of the rolled-out definition (SG5 DTM+Z34) |
| **[33]** | The point in time in this DE must be ≤ the point in time from DE2380 of the end of validity of the rolled-out definition (SG5 DTM+Z35) |
| **[34]** | If code 401 is present in DE2379 of this segment |
| **[36]** | If the code 401 is present in DE2379 in SG8 SEQ+Z43 DTM+Z33 (time of the metering time change) |
| **[37]** | If an end of validity can already be specified. |
| **[41]** | If SG8 SEQ+Z42 (metering time period definition) present |
| **[42]** | The switching time definition code specified in this data element must be unique within a transaction (IDE). |
| **[43]** | The power curve definition code specified in this data element must be unique within a transaction (IDE). |
| **[44]** | The metering time period definition code specified in this data element must be unique within a transaction (IDE). |
| **[46]** | If the code 303 is present in DE2379 in SG8 SEQ+Z73 DTM+Z44 (time of the switching time change) |
| **[47]** | If the code 401 is present in DE2379 in SG8 SEQ+Z73 DTM+Z44 (time of the switching time change) |
| **[48]** | If the code 303 is present in DE2379 in SG8 SEQ+Z74 DTM+Z45 (time of the power curve change) |
| **[49]** | If the code 401 is present in DE2379 in SG8 SEQ+Z74 DTM+Z45 (time of the power curve change) |
| **[50]** | The same code must be specified in every DE2379 of this DTM segment within a IDE+24 (transaction) |
| **[53]** | If code EM is present in DE3155 in the same COM |
| **[54]** | If code TE / FX / AJ / AL is present in DE3155 in the same COM |
| **[55]** | The value resulting from the number of repetitions of the SG6 RFF+Z49/Z53 (usage period of the data: valid data/no data) must be entered. This means: the first SG6 RFF+Z49/Z53 thus has the „1“, the second the „2“, the third the „3“, etc. |
| **[56]** | If this DTM+Z25 (use of the data from) in SG6 RFF (usage period of the data) has the time period ID "1" in DE1156, the date must correspond to the following day or an earlier day at 0:00 German time relative to DTM+137 DE2380 (message date) |
| **[57]** | If this DTM+Z25 (use of data from) is not in the SG6 RFF+Z49/Z53 (usage period of the data: valid data/no data) with time period ID "1" in DE1156, the date must correspond to the DTM+Z26 (use of data until) of the SG6 RFF+Z49/Z53 (usage period of the data: valid data/no data) with the next lower time period ID in DE1156 |
| **[58]** | If a time period ID is named in DE1156 (time period ID) in the same SG6 RFF+Z49/Z53 (usage period of the data: valid data/no data) which is lower than in another SG6 RFF+Z49/Z53 (usage period of the data: valid data/no data) DE1156 (time period ID) |
| **[59]** | The time period ID from DE1156 of a matching SG6 RFF+Z49 (usage period of the data) must be entered |
| **[61]** | If a response code from the rejection cluster is present in DE9013 (status of the response) in a STS+E01 |
| **[62]** | If MP-ID in SG2 NAD+MR (message recipient) in the role MSB |
| **[63]** | If MP-ID in SG2 NAD+MR (message recipient) in the role NB |
| **[490]** | if the value in this DE, at position CCYYMMDDHHMM, is a point in time within the period stated in the table in chapter 3.5 “Overview of German statutory summer time (MESZ)” in the columns: “Summer time (MESZ) from” representation in UTC and “Summer time (MESZ) to” representation in UTC. |
| **[491]** | if the value in this DE, at position CCYYMMDDHHMM, is a point in time within the period stated in the table in chapter 3.6 “Overview of German statutory time (MEZ)” in the columns: “Winter time (MEZ) from” representation in UTC and “Winter time (MEZ) to” representation in UTC. |
| **[494]** | The date stated here must be the point in time at which the document was created, or a point in time before that. |
| **[501]** | Note: Use of the ID of the market location |
| **[502]** | Note: Use of the ID of the metering location |
| **[504]** | Note: Value from BGM+Z55 DE1004 of the ORDERS with which the complaint regarding a definition was made |
| **[505]** | Note: Each rolled-out metering time period definition is to be stated in its own IDE |
| **[506]** | Note: Point in time from which the overview of the metering time definitions is valid |
| **[507]** | Note: The time must be specified according to German statutory time |
| **[508]** | Note: Point in time from which the overview of the switching time definitions is valid |
| **[509]** | Note: Point in time from which the overview of the power curve definition is valid |
| **[510]** | Note: This segment group must be specified once for each metering time period change point in time (SG8 DTM+Z33) |
| **[511]** | Note: The point in time of the metering time change (SG8DTM+Z33) of this SG8 must not be repeated in any other SG8 „metering time period definition“ |
| **[512]** | Note: If code 303 is used in DE2379 of the metering time period change point in time (SG8 DTM+Z33), exactly one value in DE2380 of the metering time period change point in time (SG8 DTM+Z33) must be identical to the value from DE2380 of the validity start of the rolled-out definition (SG5 DTM+Z34) |
| **[513]** | Note: If code 401 is used in DE2379 of the metering time period change point in time (SG8 DTM+Z33), there must be exactly one value = 0000 in DE2380 of the metering time period change point in time (SG8 DTM+Z33) |
| **[514]** | Note: This segment group must be specified once for each switching time change point in time (SG8 DTM+Z44) |
| **[515]** | Note: No switching time change point in time (SG8 DTM+Z44) may occur more than once |
| **[516]** | Note: If code 303 is used in DE2379 of the switching time change point in time (SG8 DTM+Z44), exactly one value in DE2380 of the switching time change point in time (SG8 DTM+Z44) must be identical to the value from DE2380 of the validity start of the rolled-out definition (SG5 DTM+Z34) |
| **[517]** | Note: If code 401 is used in DE2379 of the switching time change point in time (SG8 DTM+Z44), there must be exactly one value = 0000 in DE2380 of the switching time change point in time (SG8 DTM+Z44) |
| **[518]** | Note: This segment group must be specified once for each power curve change point in time (SG8 DTM+Z45) |
| **[519]** | Note: No power curve change point in time (SG8 DTM+Z45) may occur more than once |
| **[520]** | Note: If code 303 is used in DE2379 of the power curve change point in time (SG8 DTM+Z45), exactly one value in DE2380 of the power curve change point in time (SG8 DTM+Z45) must be identical to the value from DE2380 of the validity start of the rolled-out definition (SG5 DTM+Z34) |
| **[521]** | Note: If code 401 in DE2379 of the power curve change point in time (SG8 DTM+Z45) |
| **[522]** | Note: Each rolled-out switching time definition is to be stated in its own IDE |
| **[523]** | Note: Each rolled-out power curve definition is to be stated in its own IDE |
| **[524]** | Note: The code of a metering time period definition must be specified |
| **[525]** | Note: The code of a switching time definition must be specified |
| **[526]** | Note: The code of a power curve definition must be specified |
| **[527]** | Note: This code is to be specified if the definition is to be transmitted once only |
| **[528]** | Note: This code is to be specified if the definition is to be transmitted annually |
| **[529]** | Note: Use of the ID of the grid location |
| **[530]** | Note: Only one piece of information may be transmitted in DE3148 |
| **[531]** | Note: For further details see chapter 4.1 "Transmission of a large number of calculation formulas in one transaction" |
| **[532]** | Note: The time period ID from DE1156 of a matching SG6 RFF+Z49/Z53 (usage period of the data: "valid data", "no data") from the transmission of the calculation formula from SG6 RFF+TN DE1154 (reference transaction number (from calculation formula)) must be entered |
| **[533]** | Note: The segment must be specified exactly once for each transmitted time period from the transmission of the calculation formula |
| **[534]** | Note: Value from SG5 IDE+24 DE7402 with which the calculation formula was transmitted. |
| **[912]** | Format: Value can be given with a maximum of 6 decimal places |
| **[913]** | Format: possible values: 1 to 99999 |
| **[914]** | Format: Possible value: &gt; 0 |
| **[915]** | Format: Possible value: ≠ 1 |
| **[930]** | Format: max. 2 decimal places |
| **[931]** | Format: ZZZ = +00 |
| **[932]** | Format: HHMM = 2200 |
| **[933]** | Format: HHMM = 2300 |
| **[937]** | Format: no decimal places |
| **[939]** | Format: the character string must contain the characters @ and . |
| **[940]** | Format: the character string must begin with the character + and may only be followed by digits |
| **[947]** | Format: MMDDHHMM = 12312300 |
| **[950]** | Format: market location ID |
| **[951]** | Format: Metering point identifier |
| **[960]** | Format: Grid location ID |
| **[963]** | Format: Possible value: ≤ 100 |
| **[964]** | Format: HHMM ≥ 0000 |
| **[965]** | Format: HHMM ≤ 2359 |
| **[969]** | Format: Possible value: ≤ 1 |
| **[2001]** | Segment or segment group must be specified exactly once |
| **[2002]** | For each metering time period code from SG8 SEQ+Z42 (metering time period definition) SG9 CCI+Z39 (code of the metering time period definition), at least two registers must be given in which the SG8 RFF+Z27 is filled with this code in this SG8 |
| **[2004]** | Segment must be specified exactly once for each time period ID from DE1156 of the SG6 RFF+Z49 (usage period of the data: "Valid data") |
| **[2005]** | Segment must be specified exactly once for each time period ID from DE9012 of the SG5 STS+E01 ("Status of the response") if the same SG5 STS+E01 contains code A99 ("Other") in DE9013 |
| **[2006]** | Segment group must be specified at least once for each period ID from DE9013 of the SG5 STS+Z23+Z33 (calculation formula attached) |
| **[2007]** | Segment group must be specified exactly once for each time period ID from DE9013 of the SG5 STS+Z23+Z33 (calculation formula attached) |

</div>

## UB conditions

UB conditions combine several markers into a single expression. In the handbook rows they appear like a condition, but they resolve into the markers they contain.

<div className="maco-tabellenrahmen">

| Marker | Printout |
|---|---|
| **[UB1]** | ([931] ∧ [932] [490]) ⊻ ([931] ∧ [933] [491]) |

</div>

## Condition packages

Condition packages bundle prerequisites.

<div className="maco-tabellenrahmen">

| Package | Prerequisites | Conditions |
|---|---|---|
| **[1P]** | -- | Note: This is the standard package if no condition applies, e.g. in the COM segment. |
| **[2P]** | [25]   ⊻  [62]  ⊻  [6 3 ] | [25] If MP-ID in SG2 NAD+MR (message recipient) in the role LF [62]  If MP-ID in SG2 NAD+MR (message recipient) in the role MSB [63]  If MP-ID in SG2 NAD+MR (message recipient) in the role  NB |
| **[3P]** | [25]  ⊻  [6 3 ] | [25] If MP-ID in SG2 NAD+MR (message recipient) in the role LF [63]  If MP-ID in SG2 NAD+MR (message recipient) in the role  NB |

</div>

<Hinweisbereich>

This page carries the free text of every condition that the application handbook of message type **UTILTS** references in this format version. A row of the handbook writes `Muss [704]`; what [704] requires is here.

The list applies **to the message type**, not to a single check identifier. This is not a simplification but the form of the source: the condition list is present identically in every handbook file of the format.

:::caution{title="Why no assignment to individual check identifiers is given here"}

The intermediate format from which this documentation reads the handbook rows assigns conditions to a **column** — and this assignment is shifted against the original. Measured on 05.09.2026 against UTILMD electricity: the handbook lists `STS DE9013` as `X [360]` (approval codes only) for check identifier **55017** and `X [359]` (rejection codes only) for **55018**; the intermediate format puts `[360]` on 55016 and `[359]` on 55017 **and** 55018. The same applies to `FTX Muss [83]`: at 55018 in the handbook, at 55017 in the intermediate format.

Independently confirmed by the change lists of the source: change IDs 25242, 25821, 25822, 25445 and 25243 explicitly locate [83], [351] and [352] in „Use case 55018 Rejection of contract termination“. No entry assigns them to 55016 or 55017.

That is why the **text** of every condition is given here and nowhere the claim as to which condition applies to which check identifier. Anyone who needs that looks it up in the original application handbook.

:::

:::note{title="1 condition does not appear in every handbook file"}

The list of conditions is meant to apply across the whole format, but it does not everywhere: the following markers occur in fewer than all 8 files of this format. They are given here nonetheless — leaving out a condition because one file does not carry it would mean letting a reference point into the void again.

[UB1]

:::

As measured on 05.09.2026, **no** `ahb_expression` in this source points to a package marker — the condition packages are listed on this page because the source carries them, not because a handbook line refers to them.

</Hinweisbereich>
