IDoc
Was ist ein IDoc
Ein IDoc (Intermediate Document) ist das strukturierte Nachrichtenformat von SAP zum Austausch von Geschäftsbelegen (z. B. Rechnungen) mit externen Systemen.
- So erhalten Sie es aus SAP: SAP erzeugt das IDoc in internen Tabellen und kann es als XML (in modernen Integrationen üblich) oder als Textdatei exportieren.
- So wird es genutzt: Eine externe Plattform (wie xTool oder ein EDI-Anbieter) parst die Segmente, prüft die Struktur und wandelt den Inhalt in das Zielformat (z. B. UBL/Peppol) um.
Segmentgruppen
Nachfolgend eine praktische „Leseliste“ der häufigsten INVOIC02-Segmentgruppen.
- Steuerung (technischer Umschlag)
EDI_DC40: Steuerdatensatz (Sender/Empfänger, IDoc-Typ, Zeitstempel). Überwiegend technische Routing-Metadaten.
- Kopf („K-Segmente“)
E1EDK01: allgemeine Rechnungskopfdaten (Währung, Rechnungsart, USt-IDs, Belegnummern je nach Customizing).E1EDKA1: Kopfpartner (wiederholbar;PARVWlegt die Rolle fest: Lieferant, Käufer, Warenempfänger usw.).E1EDK02: Kopfreferenzen (wiederholbar;QUALFlegt den referenzierten Beleg fest: Rechnungsnr., Bestellung, Lieferschein, …).E1EDK03: Kopfdaten (wiederholbar;IDDATlegt die Datumsart fest: Fälligkeit, Lieferdatum, …).E1EDK05: Kopfkonditionen (Zuschläge/Rabatte auf Kopfebene, falls vorhanden).E1EDK04: Kopfsteuern (Steuersummen nach Steuercode/-satz, falls vorhanden).E1EDK17: Lieferbedingungen / Incoterms (optional).E1EDK18: Zahlungsbedingungen (optional).E1EDK23: Währungsinformationen (optional).E1EDK28: Bankdaten (IBAN/BIC, Kontoinhaber, optional).E1EDKT1/E1EDKT2: Kopftexte (optional; freie Textblöcke/-zeilen).E1EDK14: Organisationsdaten (Vertrieb, Vertriebsweg usw., optional).
- Positionen („P-Segmente“, pro Zeile wiederholt)
E1EDP01: Positionsstammdaten (Positionsnr., Menge, Einheit und weiterer Positionskontext).E1EDP02: Positionsreferenzen (optional).E1EDP03: Positionsdaten (optional).E1EDP19: Positionsidentifikation (Materialnummer, GTIN-ähnliche IDs, Kurztexte, optional/wiederholbar).E1EDP26: Positionsbeträge (Preis, Netto-/Bruttobeträge, Zwischensummen; Bedeutung überQUALF; optional/wiederholbar).E1EDP05: Positionskonditionen (Rabatte/Zuschläge auf Positionsebene, optional/wiederholbar).E1EDP04: Positionssteuern (Steuercode/-satz/-betrag auf Positionsebene, optional/wiederholbar).E1EDPT1/E1EDPT2: Positionstexte (optional).
- Summen („S-Segmente“)
E1EDS01: Summen (wiederholbar;SUMIDlegt die Summenart fest: Netto, Steuer, Brutto/zahlbar, …).
Typischer Aufbau
So sieht ein als XML exportiertes INVOIC02 typischerweise aus:
Vollständiges Rechnungsbeispiel
Das folgende Beispiel beschreibt eine einfache B2B-Rechnung aus fachlicher Sicht:
- Lieferant: „xTool Demo Supplier GmbH“ (USt-IdNr.
DE987654321) - Käufer: „Demo Buyer AG“ (USt-IdNr.
DE123456789) - Lieferort: „Demo Buyer Warehouse“
- Rechnungsreferenzen: Rechnungsnummer, Bestellung, Vertriebsauftrag, Lieferschein
- Zahlung: „30 days net“, Fälligkeitsdatum ist angegeben
- Positionen: eine Zeile (Menge 10, Einheit
C62, Nettopreis 100,00, Positionsnetto 1000,00) - Summen: Netto 1000,00, USt 190,00, Brutto 1190,00 (EUR)
Vollständiges Beispiel (komplette Datei)
Im folgenden Beispiel gibt es zwei Register:
- IDOC: das originale
INVOIC02-IDoc (XML-Export aus SAP) - XML: die zugehörige Peppol BIS Billing 3.0 (UBL)-Rechnung mit derselben fachlichen Bedeutung
Viele Zeilen in den Beispielen haben ein kleines „+“-Symbol daneben. Klicken Sie darauf, um die Feldbeschreibung auszuklappen.
Integrationshinweise (xTool + Peppol)
PARVW='ZX'/STRS2undPARVW='RE'/STRS2werden im xTool-Mapping für die Endpoint-Extraktion von Lieferant und Käufer verwendet.MENEEsollte bei Peppol-BIS-Ziel ein UN/ECE-kompatibler Code sein (z. B.C62).E1EDP19/QUALF='003'enthält einen Standard-Artikel-ID-Wert; das IDoc selbst trägt keinschemeID—für striktes UBL/Peppol kann zusätzliches Mapping nötig sein.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | |
TABNAM: technischer Tabellenname des Steuerdatensatzes (EDI_DC40).MANDT: SAP-Mandant (Mandantennummer).DOCNUM: eindeutige SAP-IDoc-Nummer.DOCREL: SAP-Release-/Versionskennzeichen.STATUS: IDoc-Statuscode in der SAP-Verarbeitung.DIRECT: Nachrichtenrichtung (1ausgehend,2eingehend).OUTMOD: Ausgabemodus aus Partnerprofil.IDOCTYP: IDoc-Basistyp (INVOIC02).MESTYP: fachlicher Nachrichtentyp (INVOIC).SNDPOR: Senderport (ALE/EDI).SNDPRT: Senderpartnertyp.SNDPRN: Senderpartnerkennung.RCVPOR: Empfängerport.RCVPRT: Empfängerpartnertyp.RCVPFC: Empfängerpartnerfunktion.RCVPRN: Empfängerpartnerkennung.CREDAT: IDoc-Erstellungsdatum (YYYYMMDD).CRETIM: IDoc-Erstellungszeit (HHMMSS).SERIAL: Serialisierungsschlüssel für Reihenfolge/Gruppierung.CURCY: Belegwährung.HWAER: Hauswährung.WKURS: Wechselkurs.ZTERM: SAP-Schlüssel Zahlungsbedingungen.KUNDEUINR: USt-/Steuer-ID des Kunden.EIGENUINR: USt-/Steuer-ID des Lieferanten.BSART: Fakturabelegart (INVO,CRMEusw.).BELNR: SAP-Rechnungs-/Belegnummer.GEWEI: Einheit für Gewichtsfelder.RECIPNT_NO: Empfängernummer im SAP-Kontext.PARVW(RS): Partnerrolle = Lieferant/Rechnungsaussteller.PARTN(RS): Lieferantenpartnernummer.NAME1(RS): Lieferantenname (Anzeige/Recht).NAME2(RS): zusätzliche Lieferantenzeile/Abteilung.NAME4(RS): weitere Lieferantenbezeichnung/Handelsname/Rechtsformtext.STRAS(RS): Lieferantenstraße.ORT01(RS): Lieferantenort.PSTLZ(RS): Lieferanten-PLZ.LAND1(RS): Lieferanten-Ländercode (SAP-ähnlich ISO).PARVW(RE): Partnerrolle = Rechnungsempfänger / Käufer.PARTN(RE): Käuferpartnernummer.NAME1(RE): Käufername (Anzeige/Recht).NAME2(RE): zweite Namenszeile Käufer.NAME3(RE): dritte Namenszeile Käufer.STRAS(RE): Käuferstraße.STRS2(RE): zweite Straße/Sonderfeld (häufig Endpoint-Formatschema:Wertin dieser Integration).ORT01(RE): Käuferort.PSTLZ(RE): Käufer-PLZ.LAND1(RE): Käufer-Ländercode.TELF1(RE): Käufer-Kontakttelefon.PARVW(WE): Partnerrolle = Warenempfänger / Lieferung.PARTN(WE): Lieferpartnernummer.NAME1(WE): Lieferort-/Firmenname.NAME2(WE): Lieferadresse Zeile 2 / Qualifiertext.NAME3(WE): Lieferadresse Zeile 3 / Qualifiertext.STRAS(WE): Lieferstraße.ORT01(WE): Lieferort.PSTLZ(WE): Liefer-PLZ.LAND1(WE): Liefer-Ländercode.PARVW(ZX): Kontakt-/Endpoint-Partnerrolle (integrationsspezifisch).PARTN(ZX): Kontaktpartnernummer.NAME1(ZX): Kontaktorganisationsname.NAME2(ZX): Kontaktperson/Teamname.NAME3(ZX): Kontakt-E-Mail (Projektkonvention).STRS2(ZX): Lieferanten-Endpoint (schema:Wert) für das Mapping.TELF1(ZX): Kontakttelefon.LAND1(ZX): Kontakt-Ländercode.QUALF=009: Referenzqualifier für Rechnungsnummer/-datum.BELNR(009): Rechnungsreferenznummer.DATUM(009): Rechnungsreferenzdatum.QUALF=001: Qualifier für Kundenbestellreferenz.BELNR(001): Bestellnummer.DATUM(001): Bestelldatum.QUALF=002: Qualifier für Vertriebsauftragsreferenz.BELNR(002): Vertriebsauftragsnummer.DATUM(002): Vertriebsauftragsdatum.QUALF=012: Qualifier für zusätzlich referenzierten Beleg.BELNR(012): Nummer des zusätzlichen Belegs (z. B. Lieferschein).DATUM(012): Datum des zusätzlichen Belegs.IDDAT=028: Datumsqualifier für Fälligkeit.DATUM(028): Zahlungsfälligkeitsdatum.QUALF=005(E1EDK18): Qualifier für Zahlungsbedingungstext.ZTERM_TXT: lesbarer Text zu Zahlungsbedingungen.BCOUN: Bank-Ländercode.BRNUM: Bankkennung/BIC.BNAME: Bankname.ACNUM: Kontonummer / IBAN.ACNAM: Kontoinhaber.POSEX: Positionsnummer.MENGE: in Rechnung gestellte Menge.MENEE: Mengeneinheitencode.E1EDP19: Segment Positionsidentifikation.QUALF=002(E1EDP19): Qualifier Lieferanten-Artikelidentifikation.IDTNR(002): Lieferanten-Artikel-ID / Materialnummer.KTEXT(002): Artikelbezeichnung / Kurztext.QUALF=003(E1EDP19): Qualifier Standard-/globale Artikelkennung.IDTNR(003): Wert der Standard-Artikel-ID (z. B. GTIN-ähnlich).QUALF=001(E1EDP26): Qualifier Stück-/Nettopreis.BETRG(001): Stück-/Nettopreis.QUALF=002(E1EDP26): Qualifier Positionsnettobetrag.BETRG(002): Positionsbetrag / Netto-Zwischensumme.MWSKZ: Steuercode auf Positionsebene.MSATZ: Steuersatz in Prozent auf Positionsebene.MWSBT: Steuerbetrag auf Positionsebene.SUMID=005: Summenqualifier für Steuersumme.SUMME(005): Steuersumme.WAERQ(005): Währung der Summe.SUMID=010: Summenqualifier für Netto-Zwischensumme.SUMME(010): Netto-Zwischensumme.WAERQ(010): Währung der Zwischensumme.SUMID=012: Summenqualifier für Brutto-/Zahlbetrag.SUMME(012): Brutto-/Zahlbetrag.WAERQ(012): Währung der Gesamtsumme.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |