ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.
UTILTS D.16B

UTILTS — EDIFACT Utility Time Series Message (D.16B)

The UTILTS message carries aggregated time-series in the energy sector: load forecasts, nomination schedules, production plans, demand curves. It complements MSCONS, which focuses on actual measurements, by covering the planning and forecast data exchanged between suppliers, DSOs and balance-responsible parties. This page summarises the segment structure as published by UN/CEFACT for directory D.16B.

Purpose

The UTILTS message carries aggregated time-series in the energy sector: load forecasts, nomination schedules, production plans, demand curves. It complements MSCONS, which focuses on actual measurements, by covering the planning and forecast data exchanged between suppliers, DSOs and balance-responsible parties.

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 utilts_c.htm hosted on service.unece.org.

Segment structure

The UTILTS D.16B message has 64 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.

Pos.TagNameSRep.
00010UNHMessage headerM1
00020BGMBeginning of messageM1
00030DTMDate/time/periodM×9
00040MKSMarket/sales channel informationC×9
00050PRCProcess identificationC×9
00060  SG1Group (×9)C×9
00070  RFFReferenceM1
00080  DTMDate/time/periodC×9
00090    SG2Group (×99)C×99
00100    NADName and addressM1
00110    RFFReferenceC1
00120    ATTAttributeC×9
00130      SG3Group (×9)C×9
00140      CTAContact informationM1
00150      COMCommunication contactC×9
00160        SG4Group (×99)C×99
00170        CUXCurrenciesM1
00180        DTMDate/time/periodC×9
00190        STSStatusC×9
00200          SG5Group (×99999)C×99999
00210          IDEIdentityM1
00220          LOCPlace/location identificationC×9
00230          NADName and addressC×9
00240          ALIAdditional informationC×9
00250          LINLine itemC×9
00260          PIAAdditional product idC×9
00270          IMDItem descriptionC×9
00280          DTMDate/time/periodC×9
00290          PRCProcess identificationC×9
00300          STSStatusC×9
00310          AGRAgreement identificationC×9
00320          MEAMeasurementsC×9
00330          FTXFree textC×9
00340            SG6Group (×99999)C×99999
00350            RFFReferenceM1
00360            DTMDate/time/periodC×9
00370              SG7Group (×99)C×99
00380              CCICharacteristic/class idM1
00390              CAVCharacteristic valueC×99
00400                SG8Group (×99999)C×99999
00410                SEQSequence detailsM1
00420                DTMDate/time/periodC×9
00430                RFFReferenceC×9
00440                MOAMonetary amountC×9
00450                PCDPercentage detailsC×9
00460                GPOGeographical positionC×9
00470                  SG9Group (×99)C×99
00480                  CCICharacteristic/class idM1
00490                  CAVCharacteristic valueC×99
00500                    SG10Group (×9)C×9
00510                    PRIPrice detailsM1
00520                    CUXCurrenciesC×9
00530                      SG11Group (×99999)C×99999
00540                      QTYQuantityM1
00550                      DTMDate/time/periodC×9
00560                      STSStatusC×9
00570                        SG12Group (×99)C×99
00580                        CCICharacteristic/class idM1
00590                        CAVCharacteristic valueC×99
00600                          SG13Group (×9)C×9
00610                          PRIPrice detailsM1
00620                          CUXCurrenciesC×9
00630                          CNTControl totalC×9
00640UNTMessage trailerM1

Detail

No segment in this section.

Summary

No segment in this section.

Changes vs D.96A

The UTILTS 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 UTILTS D.16B message with mandatory segments only. The goal is to show the exact version declared in UNH (UTILTS:D:16B:UN) — not to replicate a full business case.

edifact utilts-d16b-example.edi
UNB+UNOC:3+5410000000123:14+5410000000456:14+260514:1430+CTRL016001'
UNH+1+UTILTS:D:16B:UN'
BGM+Z48+UTILTS-2026-FCST-0091+9'
DTM+137:20260514:102'
DTM+163:202605140000:203'
DTM+164:202605142400:203'
RFF+ACW:FCST-DAILY-FR1234ABCD'
NAD+MS+5410000000123::9'
NAD+MR+5410000000456::9'
LOC+172+FR-DSO-PT-1234ABCD::293'
LIN+1++FCST-LOAD:Z01'
QTY+136:22000:KWH'
UNT+12+1'
UNZ+1+CTRL016001'

Common errors

  • Misaligned UNH tokens — The UNH+...+UTILTS:D:16B:UN token 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.

Other versions of this message available on ediverse.io: UTILTS D.10A, UTILTS D.21B, UTILTS D.24A.

← All EDIFACT versions