X31 ist die Abkürzung für ein Datenformat, das im Bauwesen für den Austausch von Aufmaß- und Mengenermittlung im Datenaustauschformat GAEB-DA-XML genutzt wird. Der GAEB-Datenaustausch definiert generell einen einheitlichen Standard für den Austausch von Bauinformationen und definiert somit alle Anforderungen an elektronische Prozesse zur Ausschreibung, Vergabe und Abrechnung bei der Durchführung von Baumaßnahmen (siehe GAEB).

Die X31-Datei steht in GAEB DA XML 3.2 und GAEB DA XML 3.3 zur Verfügung. Es gibt eine GAEB-Zertifizierung im Bereich Mengenermittlung für X31-Dateien (siehe BVBS).

Das Dateiformat X31 überträgt die erfassten Aufmaße/Mengermittlungsansätze über die XML-Struktur des GAEB-DA-XML-Datenformats mit eingebetteten Ansätzen der REB 23.003 (Ausgabe 1979 sowie Ausgabe 2009).

REB ist die Abkürzung für Regelungen für die Elektronische Bauabrechnung (siehe REB).

Die REB sind Verfahren des derzeitigen Bundesministerium für Digitales und Verkehr (BMDV) vormals das Bundesministeriums für Verkehr und digitale Infrastruktur (BMVI).

Im Unterschied zum veralteten Austauschverfahren der DA11-Datei (siehe DA11) werden in dieser Austauschdefinition Aufmaße/Mengenermittlungen für Leistungsverzeichnisse mit bis zu 14-stelligen Ordnungszahlen ausgetauscht (die Definition der DA11-Datei sieht nur eine maximale 9-stellige Ordnungszahl vor).

Beispiel: Darstellung der Ansätze in einer DA11-Datei mit kurzer Ordnungszahl: 00 23.0032009Bonner Wasserwerk (MWM-Muster) 1122PPPPI 1101010010 *Aufmaß mit Herrn Müller-Lüdenscheid 0001B0 1101010010 *erstellt mit MWM-Libero 0001B3 1101010010 *#Bild Bonner Wasserwerk.jpg 0001B7 1101010010 40 % BE 910,4= 0001C0 1101020010 Achse 1 B 05 12330 18550 4650 5120 0001D0 1101020010 Achse 2 B 200005 6450 7340 4550 4760 0001E0 1101020020 *Berechnen der mittleren Grabentiefe als 0001E5 1101020020 *Hilfswert 0001E7 1101020020 91(4,55 + 4,65 + 4,48 + 4,52 + 4,51 + 0001E8 1101020020 914,49 + 4,41 + 4,48 + 4,62 + 4,60 + 0001E9 1101020020 Hmittlere 914,53 + 4,51) / 12= 0001F0 1101020020 Graben A 05 2120 2560 0001F0 23500 0001G0 1101020020 Graben B 05 2050 2700 0001F0 45300 0001H0 1101020030 *#Bild musterzeichnung.jpg 0001H5 1101020030 *Berechnung von Teil 1 0001I0 1101020030 Teil 1 04 19000 6500 0001J0 1101020030 ZTeil 1 04 35000 46000 0001K0 1101020030 *Berechnung von Teil 2 0001M0 1101020030 Teil 2 04 19000 7500 0001N0 1101020030 ZTeil 2 04 36000 36000 0001P0 1101020040 *Übernahme der Zwischensumme aus der 0002B0 1101020040 *Position 1.2.1 - Teil 1 0002C0 1101020040 910001K0= 0002D0 1101020050 *Übernahme der Zwischensumme aus der 0003B0 1101020050 *Position 1.2.1 - Teil 2 0003N5 1101020050 910001P0= 0003T7 1101020050 *Berechnet mit Formel 01 - Dreieck mit Grunds./Höhe 0004A5 1101020050 01 12330 4560 0004B0 1101020050 *Berechnet mit Formel 02 - Dreieck mit 2 Seiten 0004C0 1101020050 02 12340 17340 48500 0004D0 1101020050 *Berechnet mit Formel 03 - Dreieck mit 3 Seiten 0004E0 1101020050 03 12500 6450 9450 0004F0 1101020050 *Berechnet mit Formel 04 - Rechteck / Quader 0004G0 1101020050 04 3250 1250 0004H0 1101020050 *Berechnet mit Formel 05 - Trapez 0004I0 1101020050 05 2330 2850 1250 0004J0 1101020050 *Rechenansatz mit Formel 00 0004K0 1101020050 00 22700+ 24300- 31400+ 29900+ 24700+0004L0 1101020050 00 36200+ 25100- 38600= 0004M0 Die Ordnungszahl, sprich Positionsnummer, setzt sich aus dem oben angegebenen OZ-Schema 1122PPPPI zusammen, ohne die in der Zeile stehende 11 als Datenzeilenbezeichnung. Hier z. B. für die erste Datenzeile 11 die Position 01.01.0010. mit optionaler Indexstufe I.

Somit stehen insgesamt maximal 9 Stellen für die Positionsnummer zur Verfügung.

Beispiel: Darstellung der Ansätze in einer X31-Datei mit langer Ordnungszahl: <?xml version="1.0" encoding="UTF-8"?> <!-- GXML Toolbox V3.3 R20210630; http://www.gaeb-toolbox.de/ --> <GAEB xmlns="http://www.gaeb.de/GAEB_DA_XML/DA31/3.3" xmlns:BVBS="BVBS" xmlns:MWM="MWM"> <GAEBInfo> <Version>3.3</Version> <VersDate>2021-05</VersDate> <Date>2022-10-31</Date> <Time>14:59:33</Time> <ProgSystem>MWM-Libero 12.8.0 / GXML Toolbox V3.3 R20210630</ProgSystem> <ProgName>MwmMfc 99</ProgName> </GAEBInfo> <QtyDeterm> <PrjInfo> <RefPrjName>Bonner Wasserwerk (MWM-Muster)</RefPrjName> </PrjInfo> <QtyDetermInfo> <MethodDescription>REB23003-2009</MethodDescription> <ProjDescr>Bonner Wasserwerk (MWM-Muster)</ProjDescr> <Creator> <Name1>k.A.</Name1> <Street>k.A.</Street> <PCode>k.A.</PCode> <City>k.A.</City> </Creator> <Profiler> <Name1>k.A.</Name1> <Street>k.A.</Street> <PCode>k.A.</PCode> <City>k.A.</City> </Profiler> </QtyDetermInfo> <DP>31</DP> <BoQ ID="ID0AD82908"> <RefBoQName>Bonner Wasserwerk</RefBoQName> <BoQBkdn> <Type>BoQLevel</Type> <Length>3</Length> <Num>Yes</Num> </BoQBkdn> <BoQBkdn> <Type>BoQLevel</Type> <Length>3</Length> <Num>Yes</Num> </BoQBkdn> <BoQBkdn> <Type>Item</Type> <Length>5</Length> <Num>Yes</Num> </BoQBkdn> <BoQBkdn> <Type>Index</Type> <Length>1</Length> <Num>No</Num> <Alignment>left</Alignment> </BoQBkdn> <BoQBody> <BoQCtgy ID="ID0ADF0508" RNoPart="001"> <BoQBody> <BoQCtgy ID="ID0ADF05C8" RNoPart="001"> <BoQBody> <Itemlist> <Item ID="ID0ADEFA28" RNoPart="00010"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" *Aufmaß mit Herrn Müller-Lüdenscheid 0001B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *erstellt mit MWM-Libero 0001B3 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *#Bild Bonner Wasserwerk.jpg 0001B7 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 40 % BE 910,4= 0001C0 "/> <BVBS:Explanation>40 % BE</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" 910,2= 0006B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 910,1= 0006C0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 910,1= 0006D0 "/> </QDetermItem> </QtyDeterm> <MWM:OZ>001.001.00010</MWM:OZ> </Item> <Item ID="ID0AD951B8" RNoPart="00020"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" 910,5= 0011B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *#PDF Formeluebersicht REB 23.003 2009 MWM Quer.pdf 0011C0 "/> </QDetermItem> </QtyDeterm> <MWM:OZ>001.001.00020</MWM:OZ> </Item> </Itemlist> </BoQBody> <MWM:OZ>001.001</MWM:OZ> </BoQCtgy> <BoQCtgy ID="ID0AD94A98" RNoPart="002"> <BoQBody> <Itemlist> <Item ID="ID0AD94198" RNoPart="00010"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" Achse 1 B 05 12330 18550 4650 5120 0001D0 "/> <BVBS:Explanation>Achse 1 B</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" Achse 2 B 200005 6450 7340 4550 4760 0001E0 "/> <BVBS:Explanation>Achse 2 B</BVBS:Explanation> </QDetermItem> </QtyDeterm> <MWM:OZ>001.002.00010</MWM:OZ> </Item> <Item ID="ID0AD94BB8" RNoPart="00020"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" *Berechnen der mittleren Grabentiefe als 0001E5 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Hilfswert 0001E7 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 91(4,55 + 4,65 + 4,48 + 4,52 + 4,51 + 0001E8 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 914,49 + 4,41 + 4,48 + 4,62 + 4,60 + 0001E9 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" Hmittlere 914,53 + 4,51) / 12= 0001F0 "/> <BVBS:Explanation>mittlere</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" Graben A 05 2120 2560 0001F0 23500 0001G0 "/> <BVBS:Explanation>Graben A</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" Graben B 05 2050 2700 0001F0 45300 0001H0 "/> <BVBS:Explanation>Graben B</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnet mit Formel 22 0005B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Massenermittlung aus Querprofilen 0005C0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Ermittlung der Fläche an Station 1 0005D8 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" Station 1 22 0000 106200 36200 106200 0005F6 "/> <BVBS:Explanation>Station 1</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" 22 31900 101900 30900 101900 0005F7 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 22 27400 98400 8800 98400 0005F8 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 22 5300 101900 4300 101900 0005F9 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" H 22 0000 106200= 0005G0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Ermittlung der Fläche an Station 2 0005G5 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" Station 2 22 0000 107300 36200 107300 0005H0 "/> <BVBS:Explanation>Station 2</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" 22 31900 101400 30900 101400 0005I0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 22 27400 98400 8800 98400 0005J0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 22 5300 101400 4300 101400 0005K0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" H 22 0000 107300= 0005L0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Ermittlung der Masse zwischen den Stationen 0005M0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 23 12000 0005G0 0005M9 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 23 37000 0005L0= 0005N0 "/> </QDetermItem> </QtyDeterm> <MWM:OZ>001.002.00020</MWM:OZ> </Item> <Item ID="ID0536F388" RNoPart="00030"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" *#Bild musterzeichnung.jpg 0001H5 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnung von Teil 1 0001I0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" Teil 1 04 19000 6500 0001J0 "/> <BVBS:Explanation>Teil 1</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" ZTeil 1 04 35000 46000 0001K0 "/> <BVBS:Explanation>Teil 1</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnung von Teil 2 0001M0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" Teil 2 04 19000 7500 0001N0 "/> <BVBS:Explanation>Teil 2</BVBS:Explanation> </QDetermItem> <QDetermItem> <QTakeoff Row=" ZTeil 2 04 36000 36000 0001P0 "/> <BVBS:Explanation>Teil 2</BVBS:Explanation> </QDetermItem> </QtyDeterm> <MWM:OZ>001.002.00030</MWM:OZ> </Item> <Item ID="ID0536C808" RNoPart="00040"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" *Übernahme der Zwischensumme aus der 0002B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Position 1.2.1 - Teil 1 0002C0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 910001K0= 0002D0 "/> </QDetermItem> </QtyDeterm> <MWM:OZ>001.002.00040</MWM:OZ> </Item> <Item ID="ID0536C628" RNoPart="00050"> <QtyDeterm> <QDetermItem> <QTakeoff Row=" *Übernahme der Zwischensumme aus der 0003B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Position 1.2.1 - Teil 2 0003N5 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 910001P0= 0003T7 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnet mit Formel 01 - Dreieck mit Grunds./Höhe 0004A5 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 01 12330 4560 0004B0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnet mit Formel 02 - Dreieck mit 2 Seiten 0004C0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 02 12340 17340 48500 0004D0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnet mit Formel 03 - Dreieck mit 3 Seiten 0004E0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 03 12500 6450 9450 0004F0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnet mit Formel 04 - Rechteck / Quader 0004G0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 04 3250 1250 0004H0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Berechnet mit Formel 05 - Trapez 0004I0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 05 2330 2850 1250 0004J0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" *Rechenansatz mit Formel 00 0004K0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 00 22700+ 24300- 31400+ 29900+ 24700+0004L0 "/> </QDetermItem> <QDetermItem> <QTakeoff Row=" 00 36200+ 25100- 38600= 0004M0 "/> </QDetermItem> </QtyDeterm> <MWM:OZ>001.002.00050</MWM:OZ> </Item> alt=Screenshot kostenloser MWM-Mengen-Viewer|mini|Screenshot kostenloser MWM-Mengen-Viewer