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.10A

UTILTS — EDIFACT Utility Time Series Message (D.10A)

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.10A.

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.10A. 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.10A 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.
0010UNHMessage headerM1
0020BGMBeginning of messageM1
0030DTMDate/time/periodM×9
0040MKSMarket/sales channel informationC×9
0050PRCProcess identificationC×9
0060  SG1Group (×9)C×9
0070  RFFReferenceM1
0080  DTMDate/time/periodC×9
0090    SG2Group (×99)C×99
0100    NADName and addressM1
0110    RFFReferenceC1
0120    ATTAttributeC×9
0130      SG3Group (×9)C×9
0140      CTAContact informationM1
0150      COMCommunication contactC×9
0160        SG4Group (×99)C×99
0170        CUXCurrenciesM1
0180        DTMDate/time/periodC×9
0190        STSStatusC×9
0200          SG5Group (×99999)C×99999
0210          IDEIdentityM1
0220          LOCPlace/location identificationC×9
0230          NADName and addressC×9
0240          ALIAdditional informationC×9
0250          LINLine itemC×9
0260          PIAAdditional product idC×9
0270          IMDItem descriptionC×9
0280          DTMDate/time/periodC×9
0290          PRCProcess identificationC×9
0300          STSStatusC×9
0310          AGRAgreement identificationC×9
0320          MEAMeasurementsC×9
0330          FTXFree textC×9
0340            SG6Group (×99999)C×99999
0350            RFFReferenceM1
0360            DTMDate/time/periodC×9
0370              SG7Group (×99)C×99
0380              CCICharacteristic/class idM1
0390              CAVCharacteristic valueC×99
0400                SG8Group (×99999)C×99999
0410                SEQSequence detailsM1
0420                DTMDate/time/periodC×9
0430                RFFReferenceC×9
0440                MOAMonetary amountC×9
0450                PCDPercentage detailsC×9
0460                GPOGeographical positionC×9
0470                  SG9Group (×99)C×99
0480                  CCICharacteristic/class idM1
0490                  CAVCharacteristic valueC×99
0500                    SG10Group (×9)C×9
0510                    PRIPrice detailsM1
0520                    CUXCurrenciesC×9
0530                      SG11Group (×99999)C×99999
0540                      QTYQuantityM1
0550                      DTMDate/time/periodC×9
0560                      STSStatusC×9
0570                        SG12Group (×99)C×99
0580                        CCICharacteristic/class idM1
0590                        CAVCharacteristic valueC×99
0600                          SG13Group (×9)C×9
0610                          PRIPrice detailsM1
0620                          CUXCurrenciesC×9
0630                          CNTControl totalC×9
0640UNTMessage 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.10A" 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.10A message with mandatory segments only. The goal is to show the exact version declared in UNH (UTILTS:D:10A:UN) — not to replicate a full business case.

edifact utilts-d10a-example.edi
UNB+UNOC:3+5410000000123:14+5410000000456:14+260514:1430+CTRL010001'
UNH+1+UTILTS:D:10A: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+CTRL010001'

Common errors

  • Misaligned UNH tokens — The UNH+...+UTILTS:D:10A: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.10A, 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.16B, UTILTS D.21B, UTILTS D.24A.

← All EDIFACT versions