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.
PROTAP D.21B

PROTAP — EDIFACT Project Tasks Planning Message (D.21B)

The PROTAP message carries the planning of project tasks between a project owner and a contractor: WBS breakdown, dependencies, milestones, resources, workload and associated costs. It is a vehicle for structured project-plan exchange, rarely used in practice. This page summarises the segment structure as published by UN/CEFACT for directory D.21B.

Purpose

The PROTAP message carries the planning of project tasks between a project owner and a contractor: WBS breakdown, dependencies, milestones, resources, workload and associated costs. It is a vehicle for structured project-plan exchange, rarely used in practice.

This page focuses on the structure published by UN/CEFACT for directory D.21B. The segments listed, their status (M / C), position and repetition factor are extracted from the official file protap_c.htm hosted on service.unece.org.

Segment structure

The PROTAP D.21B message has 51 header entries, 49 detail entries and 2 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
00030GEIProcessing informationM1
00040DTMDate/time/periodM×99
00050  SG1Group (×99)C×99
00060  RFFReferenceM1
00070  IMDItem descriptionC×9
00080  BIIStructure identificationC×99
00090    SG2Group (×99)C×99
00100    GIRRelated identification numbersM1
00110    RELRelationshipC1
00120      SG3Group (×99)C×99
00130      PNAParty identificationM1
00140      ADRAddressC1
00150      BIIStructure identificationC1
00160        SG4Group (×9)C×9
00170        CTAContact informationM1
00180        COMCommunication contactC×9
00190          SG5Group (×9)C×9
00200          CEDComputer environment detailsM1
00210          DTMDate/time/periodC×9
00220            SG6Group (×99)C×99
00230            EFIExternal file link identificationM1
00240            CEDComputer environment detailsC1
00250            DTMDate/time/periodC1
00260              SG7Group (×999)C×999
00270              INDIndex detailsM1
00280              BIIStructure identificationC1
00290              IMDItem descriptionC1
00300              RCSRequirements and conditionsC1
00310                SG8Group (×9999)C×9999
00320                LINLine itemM1
00330                BIIStructure identificationC×9
00340                RFFReferenceC×9
00350                IMDItem descriptionC×9
00360                DTMDate/time/periodC×99
00370                  SG9Group (×99)C×99
00380                  QTYQuantityM1
00390                  DTMDate/time/periodC×99
00400                    SG10Group (×99)C×99
00410                    PRIPrice detailsM1
00420                    DTMDate/time/periodC×99
00430                      SG11Group (×99)C×99
00440                      PCDPercentage detailsM1
00450                      DTMDate/time/periodC×99
00460                        SG12Group (×99)C×99
00470                        RTERate detailsM1
00480                        DTMDate/time/periodC×99
00490                          SG13Group (×99)C×99
00500                          MOAMonetary amountM1
00510                          DTMDate/time/periodC×99

Detail

Pos.TagNameSRep.
00520UNSSection controlM1
00530  SG14Group (×99)C×99
00540  RFFReferenceM1
00550    SG15Group (×999)C×999
00560    SCCScheduling conditionsM1
00570    QTYQuantityC×99
00580    DTMDate/time/periodC×999
00590      SG16Group (×9999)C×9999
00600      LINLine itemM1
00610      STSStatusC1
00620      BIIStructure identificationC×9
00630      RFFReferenceC×9
00640      IMDItem descriptionC×9
00650      PNAParty identificationC×9
00660      CCICharacteristic/class idC×9
00670      DTMDate/time/periodC×99
00680      FTXFree textC×99
00690        SG17Group (×9)C×9
00700        CTAContact informationM1
00710        COMCommunication contactC×9
00720          SG18Group (×99)C×99
00730          QTYQuantityM1
00740          DTMDate/time/periodC×99
00750            SG19Group (×99)C×99
00760            PCDPercentage detailsM1
00770            DTMDate/time/periodC×99
00780              SG20Group (×99)C×99
00790              MOAMonetary amountM1
00800              DTMDate/time/periodC×99
00810                SG21Group (×9999)C×9999
00820                GIRRelated identification numbersM1
00830                RELRelationshipC1
00840                RCSRequirements and conditionsC1
00850                BIIStructure identificationC×9
00860                RFFReferenceC×9
00870                IMDItem descriptionC×9
00880                DTMDate/time/periodC×99
00890                  SG22Group (×99)C×99
00900                  QTYQuantityM1
00910                  DTMDate/time/periodC×99
00920                    SG23Group (×99)C×99
00930                    PCDPercentage detailsM1
00940                    DTMDate/time/periodC×99
00950                      SG24Group (×99)C×99
00960                      MOAMonetary amountM1
00970                      DTMDate/time/periodC×99
00980                        SG25Group (×99)C×99
00990                        RTERate detailsM1
01000                        DTMDate/time/periodC×99

Summary

Pos.TagNameSRep.
01010CNTControl totalC×99
01020UNTMessage trailerM1

Changes vs D.96A

The PROTAP message is not published in directory D.96A. No "D.96A → D.21B" 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 PROTAP D.21B message with mandatory segments only. The goal is to show the exact version declared in UNH (PROTAP:D:21B:UN) — not to replicate a full business case.

edifact protap-d21b-example.edi
UNB+UNOC:3+5410000000123:14+5410000000456:14+260514:1430+CTRL021001'
UNH+1+PROTAP:D:21B:UN'
BGM+39+PROTAP-2026-0007+9'
DTM+137:20260514:102'
RFF+AGA:PROJ-2026-MIG-ERP'
NAD+BY+5410000000123::9'
NAD+SU+5410000000456::9'
LIN+1+++WBS-1.1:ZZZ'
IMD+F++:::Discovery and assessment workshop'
DTM+264:20260601:102'
DTM+265:20260615:102'
UNT+10+1'
UNZ+1+CTRL021001'

Common errors

  • Misaligned UNH tokens — The UNH+...+PROTAP:D:21B: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.21B, 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: PROTAP D.01B, PROTAP D.10A, PROTAP D.16B, PROTAP D.24A, PROTAP D.99B, PROTAP D.00B, PROTAP D.02B, PROTAP D.05A, PROTAP D.08A, PROTAP D.13B, PROTAP D.18B, PROTAP D.20B.

← All EDIFACT versions