Format · Ausgabe
openTRANS 2.1 Bestellungen erzeugen
openTRANS ist ein offener XML-Standard für Geschäftsdokumente aus Deutschland und passt zu BMEcat-Katalogen. every-edi erzeugt Bestellungen im Format openTRANS 2.1, aus PDF, E-Mail, CSV, EDIFACT oder cXML, für ERP- und Warenwirtschaftssysteme, die openTRANS importieren.
Auf einen Blick
- Standard
- openTRANS
- Version
- 2.1
- Dokument
- ORDER (Bestellung)
- every-edi
- Nur Schreiben (Ausgabeformat)
- Verwandt mit
- BMEcat 2005 (Katalogdaten)
Wofür openTRANS da ist
openTRANS beschreibt Geschäftsdokumente wie Bestellung, Auftragsbestätigung, Lieferschein und Rechnung als XML. Version 2.1 ist die verbreitete Fassung.
Der wichtigste Grund für openTRANS ist die enge Verwandtschaft mit BMEcat, dem Standard für elektronische Produktkataloge: Artikelnummern, Beschreibungen, Einheiten und Preise verwenden dieselben Elemente wie im Katalog. Eine Bestellung bezieht sich so eins zu eins auf die Artikel, die der Lieferant per BMEcat bereitgestellt hat.
Wer openTRANS nutzt
openTRANS ist vor allem im deutschen Mittelstand verbreitet: bei ERP- und Warenwirtschaftssystemen mit openTRANS-Import, bei Einkaufs- und Shoplösungen aus dem deutschsprachigen Raum und bei Unternehmen, die ihre Katalogdaten ohnehin als BMEcat pflegen. Gegenüber EDIFACT ist es leichter zu lesen und per Schema zu prüfen.
Warum every-edi openTRANS nur schreibt
In der Praxis ist openTRANS oft das Format, in dem ein ERP Bestellungen übernimmt, und seltener das Format, in dem Kunden bestellen. every-edi nutzt openTRANS deshalb als Ausgabeformat: Bestellungen in jedem unterstützten Eingangsformat werden als openTRANS-2.1-ORDER an Ihr ERP übergeben.
Beispiel
Eine fiktive openTRANS-2.1-Bestellung über zwei Positionen.
<?xml version="1.0" encoding="UTF-8"?>
<ORDER xmlns="http://www.opentrans.org/XMLSchema/2.1"
xmlns:bmecat="http://www.bmecat.org/bmecat/2005"
version="2.1" type="standard">
<ORDER_HEADER>
<CONTROL_INFO>
<GENERATOR_INFO>every-edi</GENERATOR_INFO>
<GENERATION_DATE>2026-10-08T09:30:05</GENERATION_DATE>
</CONTROL_INFO>
<ORDER_INFO>
<ORDER_ID>B-26-0815</ORDER_ID>
<ORDER_DATE>2026-10-08</ORDER_DATE>
<DELIVERY_DATE type="optional">
<DELIVERY_START_DATE>2026-10-12</DELIVERY_START_DATE>
<DELIVERY_END_DATE>2026-10-16</DELIVERY_END_DATE>
</DELIVERY_DATE>
<PARTIES>
<PARTY>
<bmecat:PARTY_ID type="gln">4012345000009</bmecat:PARTY_ID>
<PARTY_ROLE>buyer</PARTY_ROLE>
</PARTY>
<PARTY>
<bmecat:PARTY_ID type="gln">4098765000003</bmecat:PARTY_ID>
<PARTY_ROLE>supplier</PARTY_ROLE>
</PARTY>
<PARTY>
<bmecat:PARTY_ID type="gln">4012345000016</bmecat:PARTY_ID>
<PARTY_ROLE>delivery</PARTY_ROLE>
<ADDRESS>
<bmecat:NAME>Beispiel Haustechnik GmbH</bmecat:NAME>
<bmecat:NAME2>Lager Nord, Tor 3</bmecat:NAME2>
<bmecat:STREET>Hafenstraße 40</bmecat:STREET>
<bmecat:ZIP>28217</bmecat:ZIP>
<bmecat:CITY>Bremen</bmecat:CITY>
<bmecat:COUNTRY_CODED>DE</bmecat:COUNTRY_CODED>
</ADDRESS>
</PARTY>
</PARTIES>
<ORDER_PARTIES_REFERENCE>
<bmecat:BUYER_IDREF type="gln">4012345000009</bmecat:BUYER_IDREF>
<bmecat:SUPPLIER_IDREF type="gln">4098765000003</bmecat:SUPPLIER_IDREF>
</ORDER_PARTIES_REFERENCE>
<SHIPMENT_PARTIES_REFERENCE>
<DELIVERY_IDREF type="gln">4012345000016</DELIVERY_IDREF>
</SHIPMENT_PARTIES_REFERENCE>
<bmecat:CURRENCY>EUR</bmecat:CURRENCY>
</ORDER_INFO>
</ORDER_HEADER>
<ORDER_ITEM_LIST>
<ORDER_ITEM>
<LINE_ITEM_ID>1</LINE_ITEM_ID>
<PRODUCT_ID>
<bmecat:SUPPLIER_PID type="supplier_specific">ART-7720</bmecat:SUPPLIER_PID>
<bmecat:INTERNATIONAL_PID type="gtin">4012345678901</bmecat:INTERNATIONAL_PID>
<bmecat:DESCRIPTION_SHORT>Hydraulikzylinder HZ-200/100</bmecat:DESCRIPTION_SHORT>
</PRODUCT_ID>
<QUANTITY>4</QUANTITY>
<bmecat:ORDER_UNIT>C62</bmecat:ORDER_UNIT>
<PRODUCT_PRICE_FIX>
<bmecat:PRICE_AMOUNT>285.00</bmecat:PRICE_AMOUNT>
</PRODUCT_PRICE_FIX>
<PRICE_LINE_AMOUNT>1140.00</PRICE_LINE_AMOUNT>
</ORDER_ITEM>
<ORDER_ITEM>
<LINE_ITEM_ID>2</LINE_ITEM_ID>
<PRODUCT_ID>
<bmecat:SUPPLIER_PID type="supplier_specific">ART-3381</bmecat:SUPPLIER_PID>
<bmecat:INTERNATIONAL_PID type="gtin">4012345678918</bmecat:INTERNATIONAL_PID>
<bmecat:DESCRIPTION_SHORT>Dichtungsset DS-200</bmecat:DESCRIPTION_SHORT>
</PRODUCT_ID>
<QUANTITY>4</QUANTITY>
<bmecat:ORDER_UNIT>SET</bmecat:ORDER_UNIT>
<PRODUCT_PRICE_FIX>
<bmecat:PRICE_AMOUNT>42.50</bmecat:PRICE_AMOUNT>
</PRODUCT_PRICE_FIX>
<PRICE_LINE_AMOUNT>170.00</PRICE_LINE_AMOUNT>
</ORDER_ITEM>
</ORDER_ITEM_LIST>
<ORDER_SUMMARY>
<TOTAL_ITEM_NUM>2</TOTAL_ITEM_NUM>
<TOTAL_AMOUNT>1310.00</TOTAL_AMOUNT>
</ORDER_SUMMARY>
</ORDER> Alle Namen, Nummern und GLNs im Beispiel sind fiktiv.
| Element | Bedeutung |
|---|---|
| <ORDER version="2.1" type="standard"> | Wurzelelement mit Version und Bestellart (standard, express, release oder consignment). |
| xmlns, xmlns:bmecat | Namensräume von openTRANS 2.1 und BMEcat 2005. Viele Elemente stammen direkt aus BMEcat und tragen das Präfix bmecat:. |
| <CONTROL_INFO> | Erzeugendes System und Erzeugungszeitpunkt. |
| <ORDER_ID>, <ORDER_DATE> | Bestellnummer und Bestelldatum. |
| <DELIVERY_DATE type="optional"> | Lieferzeitraum; optional = Wunschtermin, fixed = fester Termin. |
| <PARTIES> / <PARTY> | Alle beteiligten Parteien mit Rolle (buyer, supplier, delivery) und Kennung, hier als GLN. |
| <ORDER_PARTIES_REFERENCE> | Verweist über die IDs auf Besteller und Lieferant aus PARTIES. |
| <SHIPMENT_PARTIES_REFERENCE> | Verweist auf die Lieferadresse. |
| <bmecat:SUPPLIER_PID> | Ihre Artikelnummer, dieselbe wie im BMEcat-Katalog. |
| <bmecat:INTERNATIONAL_PID type="gtin"> | GTIN des Artikels. |
| <bmecat:ORDER_UNIT> | Bestelleinheit als Code nach UN/ECE Recommendation 20: C62 = Stück, SET = Satz. |
| <PRODUCT_PRICE_FIX>, <PRICE_LINE_AMOUNT> | Einzelpreis und Positionsbetrag. |
| <ORDER_SUMMARY> | Anzahl der Positionen und Gesamtbetrag als Kontrollwerte. |
Typische Stolperfallen
-
openTRANS 1.0 ist nicht 2.1
Die Versionen unterscheiden sich in Struktur und Elementnamen. Ein Import, der für 1.0 gebaut ist, versteht 2.1 nicht, und umgekehrt.
-
Namensräume
openTRANS 2.1 verwendet Elemente aus BMEcat 2005 in deren eigenem Namensraum. Stimmt der Namensraum nicht, scheitert die Schemaprüfung, obwohl die Daten richtig sind.
-
Parteien und Verweise
Jede ID in ORDER_PARTIES_REFERENCE und SHIPMENT_PARTIES_REFERENCE muss auf eine PARTY_ID in PARTIES zeigen, mit passendem type (gln, supplier_specific, buyer_specific).
-
Einheiten
ORDER_UNIT erwartet Codes nach UN/ECE Recommendation 20, etwa C62, MTR oder KGM. Hauseinheiten wie „Stk“ werden von strengen Importen abgelehnt.
-
Summen und Positionszahl
TOTAL_ITEM_NUM und TOTAL_AMOUNT in ORDER_SUMMARY müssen zu den Positionen passen. Rundungsdifferenzen zwischen Positions- und Gesamtbetrag sind ein Klassiker.
-
Erweiterungen der ERP-Hersteller
Viele Importe erwarten zusätzliche Felder in eigenen Erweiterungen (UDX). Welche das sind, steht in der Importdokumentation Ihres ERP; wir klären das vor dem ersten Testimport.
Was every-edi damit macht
- Erzeugt openTRANS-2.1-Bestellungen (ORDER) aus PDF, E-Mail, CSV, EDIFACT ORDERS D96A und cXML.
- Übergabe per Import-Ordner, SFTP, E-Mail oder REST, also dorthin, wo Ihr ERP die Datei abholt.
- Bekannte Eingangsformate (EDIFACT, cXML, bekannte XML- und CSV-Formate) werden nach Regeln gelesen. Unbekannte Formate analysiert bei der ersten Datei einmalig die KI; ein Mensch prüft, danach arbeitet das gelernte Profil für diesen Absender ohne KI.
- Unsichere Bestellungen gehen erst nach der Prüfung im Dashboard an Ihr ERP.
Was (noch) nicht dazugehört
openTRANS ist bei every-edi ein reines Ausgabeformat. Eingehende openTRANS-Dateien und andere openTRANS-Dokumente wie Auftragsbestätigung, Lieferschein oder Rechnung verarbeitet every-edi derzeit nicht.
Weitere Formate
Außerdem verarbeitet every-edi GEVIS-XML (GEVISEDI01), CSV mit Kopf- und Positionszeilen (HDR/POS), frei aufgebaute CSV-Tabellen über gelernte CSV-Profile sowie JSON über eine REST-Schnittstelle.
Schicken Sie uns eine echte Datei.
Ob every-edi zu Ihren Kunden passt, klären wir am schnellsten an echten Beispielen: drei Bestellungen und, falls vorhanden, die Spezifikation Ihres Partners. Sie bekommen das Ergebnis im Zielformat zurück.
Demo anfragen