UTILMD — EDIFACT Utility Master Data Message (D.16B)
The UTILMD message conveys master-data updates between energy-market actors: supplier switching, change of address, activation, termination, contractual party updates, delivery-point qualification. Widely deployed under the German GPKE / GeLi Gas profiles, it secures the reference processes at national scale. This page summarises the segment structure as published by UN/CEFACT for directory D.16B.
Purpose
The UTILMD message conveys master-data updates between energy-market actors: supplier switching, change of address, activation, termination, contractual party updates, delivery-point qualification. Widely deployed under the German GPKE / GeLi Gas profiles, it secures the reference processes at national scale.
This page focuses on the structure published by UN/CEFACT for directory D.16B. The segments listed, their status (M / C), position and repetition factor are extracted from the official file utilmd_c.htm hosted on service.unece.org.
Segment structure
The UTILMD D.16B message has 67 header entries, 0 detail entries and 0 summary entries (segments and groups combined). Groups are shown in bold and their members are indented by actual nesting depth.
Header
| Pos. | Tag | Name | S | Rep. |
|---|---|---|---|---|
00010 | UNH | Message header | M | 1 |
00020 | BGM | Beginning of message | M | 1 |
00030 | DTM | Date/time/period | M | ×9 |
00040 | MKS | Market/sales channel information | C | ×9 |
00050 | FTX | Free text | C | ×9 |
00060 | TSR | Transport service requirements | C | ×9 |
00070 | SG1 | Group (×9) | C | ×9 |
00080 | RFF | Reference | M | 1 |
00090 | DTM | Date/time/period | C | ×9 |
00100 | SG2 | Group (×99) | C | ×99 |
00110 | NAD | Name and address | M | 1 |
00120 | RFF | Reference | C | 1 |
00130 | FII | Financial institution information | C | 1 |
00140 | ATT | Attribute | C | ×9 |
00150 | SG3 | Group (×9) | C | ×9 |
00160 | CTA | Contact information | M | 1 |
00170 | COM | Communication contact | C | ×9 |
00180 | SG4 | Group (×99999) | C | ×99999 |
00190 | IDE | Identity | M | 1 |
00200 | LIN | Line item | C | 1 |
00210 | PIA | Additional product id | C | ×9 |
00220 | IMD | Item description | C | ×9 |
00230 | DTM | Date/time/period | C | ×99 |
00240 | PRC | Process identification | C | ×9 |
00250 | STS | Status | C | ×9 |
00260 | TAX | Duty/tax/fee details | C | ×9 |
00270 | PTY | Priority | C | ×9 |
00280 | FTX | Free text | C | ×9 |
00290 | AGR | Agreement identification | C | ×9 |
00300 | INP | Parties and instruction | C | ×9 |
00310 | TSR | Transport service requirements | C | ×9 |
00320 | SG5 | Group (×999999) | C | ×999999 |
00330 | LOC | Place/location identification | M | 1 |
00340 | HYN | Hierarchy information | C | ×9 |
00350 | SG6 | Group (×99) | C | ×99 |
00360 | RFF | Reference | M | 1 |
00370 | DTM | Date/time/period | C | ×9 |
00380 | SG7 | Group (×99) | C | ×99 |
00390 | CCI | Characteristic/class id | M | 1 |
00400 | CAV | Characteristic value | C | ×99 |
00410 | SG8 | Group (×99999) | C | ×99999 |
00420 | SEQ | Sequence details | M | 1 |
00430 | RFF | Reference | C | ×9 |
00440 | PIA | Additional product id | C | ×9 |
00450 | SG9 | Group (×99) | C | ×99 |
00460 | QTY | Quantity | M | 1 |
00470 | DTM | Date/time/period | C | ×9 |
00480 | STS | Status | C | ×9 |
00490 | LIN | Line item | C | ×9 |
00500 | SG10 | Group (×99) | C | ×99 |
00510 | CCI | Characteristic/class id | M | 1 |
00520 | CAV | Characteristic value | C | ×99 |
00530 | SG11 | Group (×99) | C | ×99 |
00540 | MOA | Monetary amount | M | 1 |
00550 | RFF | Reference | C | ×9 |
00560 | DTM | Date/time/period | C | ×9 |
00570 | SG12 | Group (×99) | C | ×99 |
00580 | NAD | Name and address | M | 1 |
00590 | RFF | Reference | C | ×9 |
00600 | DTM | Date/time/period | C | ×9 |
00610 | FII | Financial institution information | C | 1 |
00620 | LAN | Language | C | ×9 |
00630 | SG13 | Group (×9) | C | ×9 |
00640 | CTA | Contact information | M | 1 |
00650 | COM | Communication contact | C | ×9 |
00660 | CNT | Control total | C | ×9 |
00670 | UNT | Message trailer | M | 1 |
Detail
No segment in this section.
Summary
No segment in this section.
Changes vs D.96A
The UTILMD message is not published in directory D.96A. No "D.96A → D.16B" comparison line can therefore be produced — see the block below for details.
This message is not published in directory D.96A: it was introduced into the standard after that release and therefore has no historical baseline for comparison. The first directory indexed on ediverse.io sets the reference; later changes are then documented from one release to the next in subsequent directories.
Structural example
Minimal example of an UTILMD D.16B message with mandatory segments only. The goal is to show the exact version declared in UNH (UTILMD:D:16B:UN) — not to replicate a full business case.
UNB+UNOC:3+5410000000123:14+5410000000456:14+260514:1430+CTRL016001'
UNH+1+UTILMD:D:16B:UN'
BGM+E01+UTILMD-2026-SWT-0042+9'
DTM+137:20260514:102'
DTM+76:20260601:102'
RFF+AGI:CONTRACT-NEW-2026-7811'
NAD+MS+5410000000123::9'
NAD+MR+5410000000456::9'
IDE+24+PT-FR1234ABCD'
LOC+172+FR-DSO-PT-1234ABCD::293'
CCI++:::Z23'
UNT+11+1'
UNZ+1+CTRL016001' Common errors
- Misaligned UNH tokens — The
UNH+...+UTILMD:D:16B:UNtoken must reflect exactly the directory in use — a mismatch between the UNH release and the release agreed with the partner is rejected by every strict validator. - Wrong UNT segment count — The value after
UNT+must include UNH and UNT themselves. By far the most common sender-side error, regardless of the directory in use. - Stale code lists — Between D.96A and D.16B, several code lists received new qualifiers (DTM status, RFF qualifier, NAD codes…). Reusing an older directory’s code tables triggers warnings or even rejections depending on the partner’s strict-conformance mode.
Related messages
Other versions of this message available on ediverse.io: UTILMD D.10A, UTILMD D.21B, UTILMD D.24A.