Zum Inhalt

Mapping

Diese Seite beschreibt in Geschäftsbegriffen, wie ein SAP-INVOIC02-IDoc interpretiert und in eine UBL-Rechnung überführt wird (z. B. Peppol BIS Billing 3.0).

Die Tabellen sind als „Geschäftsfeld → Herkunft im IDoc → Ziel in UBL“ aufgebaut:

  • Der linke Aufzählungspunkt in jeder Zeile ist der Ziel-UBL-XPath (Inhalt des fachlichen Enddokuments).
  • Der rechte Aufzählungspunkt ist die Quelle IDoc-XPath (Auslesepfad im INVOIC02-XML).
  • Der Text nach der Liste beschreibt die Zuordnungslogik (Qualifier, Parsing, Grenzen).

IDoc lesen (warum Qualifier wichtig sind)

INVOIC02 verwendet kurze Segmentnamen; die Bedeutung steht meist in einem Qualifier:

  • E1EDK02/QUALF: Art des Verweises (Rechnungsnummer, Bestellung, Lieferschein, Vorläuferrechnung, …).
  • E1EDK03/IDDAT: Art des Datums (Fälligkeit, Lieferdatum, …).
  • E1EDKA1/PARVW: Partnerrolle (Lieferant, Kunde, Warenempfänger, Kontakt, …).
  • E1EDS01/SUMID: Art der Summe (Steuer, Netto, Brutto/zahlbar, …).

Die Konvertierung ist daher kein simples 1:1-„Tag umbenennen“: Die Zuordnung muss zuerst die richtige Segmentinstanz (per Qualifier) wählen und danach Parsing/Normalisierung anwenden, damit es zum UBL-Fachmodell passt.

Beträge, Steuern, Zu- und Abschläge (Standard-Zuordnung)

Dieser Abschnitt beschreibt, wie INVOIC02-Segmentgruppen in der Standard-Integration zu UBL-Beträgen und -Steuern stehen. Werte werden so übernommen, wie SAP sie liefert; die Zuordnung berechnet die Steuer nicht neu aus Satz × Basis und gleicht Positions- und Kopfsummen nicht ab.

Positionsbeträge (E1EDP01E1EDP26)

Pro Zeile werden E1EDP26-Zeilen per QUALF gelesen:

  • QUALF='001'Stückpreis. Der Betrag in BETRG wird ohne Minuszeichen auf den Preis normalisiert (Stückpreis ist im Ausgabemodell immer positiv).
  • QUALF='002'Netto / Zeilensumme (Subtotal). BETRG wird für negative Beträge normalisiert: enthält die Zeichenkette -, wird auf höchstens ein führendes Minus reduziert und überzählige Minuszeichen im Zahlenanteil entfernt (SAP kodiert Negative manchmal mit mehreren -).

Damit: Preis nach der Zuordnung nie negativ; Subtotal kann nach Normalisierung negativ sein.

Positionssteuer (E1EDP04)

Aus dem Positionssteuersegment:

  • MSATZSteuersatz (Prozent) als Zeichenkette.
  • MWSBTSteuerbetrag der Zeile mit derselben Normalisierung negativer Beträge wie beim Zeilensubtotal.
  • MWSKZ → SAP-Steuercode, Abbildung auf eine UBL-/Peppol-Steuerkategorie (E, S, Z, AE, …) per fester Tabelle; unbekannte Codes → Standard Z.

Ist der Positionssteuerbetrag negativ, wird die Zeile gutschriftähnlich behandelt: Menge (MENGE) erhält ein führendes -, der Stückpreis bleibt positiv (nur Subtotal/Steuerseite tragen die Gutschrift).

Zu- und Abschläge auf Positionsebene (E1EDP05)

Jede E1EDP05-Zeile ist eine Kondition (Rabatt, Zuschlag, …):

  1. Textfilter: Zeilen mit KOTXT exakt Brutto oder mit Teilstring Gross werden übersprungen (Brutto-/Hilfszeilen, keine separaten Zu-/Abschläge in diesem Mapping).
  2. Pro verbleibender Zeile legt ALCKZ die Richtung fest: - → Rabatt, + → Zuschlag.
  3. BETRG ist der absolute Betrag der Kondition. Jede Kondition wird vollständig erfasst; zusammenfassende Rabatt- und Zuschlagsbeträge für einige Summen werden bei jedem Treffer überschrieben, sodass nur der letzte nicht gefilterte Rabatt und der letzte nicht gefilterte Zuschlag in diesen Summen erscheinen. Die vollständige Liste der Konditionen bleibt auf Positionsebene erhalten.

Es gibt keinen separaten Schritt „Netto vor Rabatt“ aus Brutto: Subtotal und Steuer kommen aus E1EDP26 / E1EDP04, Rabatt/Zuschlag sind parallele Beträge aus E1EDP05.

Dokumentsummen (E1EDS01)

Summensegmente nutzen SUMID für die Bedeutung von SUMME:

SUMID Rolle in UBL-Summen
005 Steuersumme (an Positionssteuersummen angeglichen)
010 Netto-Zwischensumme (an Positions-Nettosummen angeglichen)
012 Zahlbar / Brutto und Saldo

Beträge kommen als Zeichenketten aus SUMME ohne weitere Rechnung.

Steuerzwischensummen nach Satz (Dokumentebene)

Für die kopfweite Steueraufschlüsselung aggregiert die Standard-Zuordnung pro Steuerkategorie und -satz aus den Positionen: Ausgangspunkt ist jeweils der Netto-Zeilensubtotal, die Bemessungsgrundlage wird um den Positions-Rabatt verringert und um den Positions-Zuschlag erhöht (falls zutreffend), und Steuerbeträge werden in die Buckets akkumuliert. So entsteht die UBL-Steueraufschlüsselung am Kopf—keine alleinige Neuberechnung aus dem SAP-Kopf-Steuersegment.

Parteien und Endpoint-IDs (E1EDKA1/PARVW)

Partner werden aus E1EDKA1 per PARVW gelesen:

  • PARVW='RS'Lieferant / Rechnungsausstellercac:AccountingSupplierParty
  • PARVW='RE'Käufercac:AccountingCustomerParty
  • PARVW='WE'Warenempfänger / Lieferungcac:Delivery/*
  • PARVW='ZX'Lieferantenkontakt → Kontaktfelder Lieferant und Lieferanten-Endpoint-ID

Aus jeder gewählten E1EDKA1-Instanz wird eine feste Menge IDoc-Felder gemappt. Einige UBL-Adress- oder Kontaktelemente (z. B. Region, dritte Adresszeile, Kontakt-E-Mail) können leer bleiben, wenn Ihr IDoc die Segmentfelder nicht füllt oder die Zuordnung sie nicht abdeckt.

Endpoint-IDs stammen nicht aus einem separaten SAP-Segment; sie werden aus STRS2 mit einfachen String-Regeln abgeleitet:

  • Lieferanten-Endpoint-ID: Kontaktpartner (PARVW='ZX'), Feld STRS2.
  • Enthält STRS2 : → Aufteilung schemeID:Wert (links @schemeID, rechts Wert).
  • Ohne : → keine Endpoint-ID nach dieser Regel.
  • Käufer-Endpoint-ID: Kunde (PARVW='RE'), Feld STRS2.
  • Mit :schemeID:Wert wie beim Lieferantenkontakt.
  • Sonst, wenn STRS2 @ enthält → gesamte Zeichenkette als Wert (ohne Schema).

Kopf

Rechnungsnummer
  • /ubl:Invoice/cbc:ID
  • /IDOC/E1EDK02[QUALF='009']/BELNR
Die Rechnungsnummer steht in IDoc-Referenzen unter QUALF='009'.
Rechnungsdatum (Erstellung)
  • /ubl:Invoice/cbc:IssueDate
  • /IDOC/E1EDK02[QUALF='009']/DATUM
Datumswandlung: IDoc YYYYMMDD → UBL YYYY-MM-DD.
Fälligkeitsdatum
  • /ubl:Invoice/cbc:DueDate
  • /IDOC/E1EDK03[IDDAT='028']/DATUM
Datumswandlung: IDoc YYYYMMDD → UBL YYYY-MM-DD. Nur bei IDDAT='028' gemappt.
Rechnungsart (Code)
  • /ubl:Invoice/cbc:InvoiceTypeCode (oder /ubl:CreditNote/cbc:CreditNoteTypeCode)
  • /IDOC/E1EDK01/BSART + optional /IDOC/E1EDK14[QUALF='015']/ORGID
Logik: bei BSART='CRME' → UBL 384 (Gutschrift). Bei BSART='INVO' und E1EDK14[QUALF='015']/ORGID ∈ {ZMA,ZMV} → 326, sonst 380.
Währung
  • /ubl:Invoice/cbc:DocumentCurrencyCode
  • /IDOC/E1EDK01/CURCY
Währung aus CURCY.
Käuferreferenz
  • /ubl:Invoice/cbc:BuyerReference
  • /IDOC/E1EDKA1[PARVW='RE']/STRS2
Enthält STRS2 : → Teil nach :. Fehlt/leer → Käuferreferenz wird nicht gemappt.
Bedingungen / Hinweis
  • /ubl:Invoice/cbc:Note
  • /IDOC/E1EDKT2/TDLINE
Nur das erste E1EDKT2 aus dem IDoc. Der Hinweistext kann ein übliches Verarbeitungspräfix vor dem Freitext tragen.
Zahlungsreferenz / Zahlungsbeschreibung (PaymentID)
  • /ubl:Invoice/cbc:PaymentID
In der Standard-Integration nicht aus dem IDoc gemappt.
Buchungskosten (Kopfebene)
  • /ubl:Invoice/cbc:AccountingCost
In der Standard-Integration nicht aus dem IDoc gemappt.
Rechnungszeitraum Beginn
  • /ubl:Invoice/cac:InvoicePeriod/cbc:StartDate
Rechnungskopf-Zeitraum in der Standard-Integration nicht aus dem IDoc gemappt.
Rechnungszeitraum Ende
  • /ubl:Invoice/cac:InvoicePeriod/cbc:EndDate
Rechnungskopf-Zeitraum in der Standard-Integration nicht aus dem IDoc gemappt.
Rechnungszeitraum: Beschreibungscode (Steuerzeitpunkt-Code)
  • /ubl:Invoice/cac:InvoicePeriod/cbc:DescriptionCode
In der Standard-Integration nicht aus dem IDoc gemappt.
Steuerwährung
  • /ubl:Invoice/cbc:TaxCurrencyCode
In der Standard-Integration nicht aus dem IDoc gemappt.
Steuerzeitpunkt (Datum)
  • /ubl:Invoice/cbc:TaxPointDate
In der Standard-Integration nicht aus dem IDoc gemappt.
Zahlungsbedingungen (Text)
  • /ubl:Invoice/cac:PaymentTerms/cbc:Note
  • /IDOC/E1EDK18[QUALF='005']/ZTERM_TXT
Nur bei QUALF='005' gemappt.
Bestellreferenz (Einkaufsbeleg)
  • /ubl:Invoice/cac:OrderReference/cbc:ID
  • /IDOC/E1EDK02[QUALF='001']/BELNR
IDoc-Referenzen: QUALF='001'.
Vertriebsauftragsreferenz
  • /ubl:Invoice/cac:OrderReference/cbc:SalesOrderID
  • /IDOC/E1EDK02[QUALF='002']/BELNR
IDoc-Referenzen: QUALF='002'.
Vertragsreferenz
  • /ubl:Invoice/cac:ContractDocumentReference/cbc:ID
In der Standard-Integration nicht aus dem IDoc gemappt.
Projektreferenz
  • /ubl:Invoice/cac:ProjectReference/cbc:ID
In der Standard-Integration nicht aus dem IDoc gemappt.
Referenz Auftraggeber (OriginatorDocumentReference)
  • /ubl:Invoice/cac:OriginatorDocumentReference/cbc:ID
In der Standard-Integration nicht aus dem IDoc gemappt.
Referenz Warenausgang (DespatchAdvice)
  • /ubl:Invoice/cac:DespatchDocumentReference/cbc:ID
In der Standard-Integration nicht aus dem IDoc gemappt.
Referenz Wareneingang (ReceiptAdvice)
  • /ubl:Invoice/cac:ReceiptDocumentReference/cbc:ID
In der Standard-Integration nicht aus dem IDoc gemappt.
Zusatzbelegreferenz: Objekt (DocumentTypeCode=130)
  • /ubl:Invoice/cac:AdditionalDocumentReference/cbc:ID (+ cbc:DocumentTypeCode=130)
  • /IDOC/E1EDK02[QUALF='012']/BELNR
QUALF='012' liefert die Referenz auf den Beleg. In UBL erscheint das als cac:AdditionalDocumentReference mit cbc:DocumentTypeCode=130 und Schema DQ auf cbc:ID.
Zusatzbelegreferenz: ID-Schema
  • /ubl:Invoice/cac:AdditionalDocumentReference/cbc:ID/@schemeID
Bei QUALF='012' ist das Kennungsschema in UBL DQ (kein separates Schema-Feld im IDoc für diese Referenz).
Zusatzbelegreferenz: Beschreibung
  • /ubl:Invoice/cac:AdditionalDocumentReference/cbc:DocumentDescription
In der Standard-Integration nicht aus dem IDoc gemappt.
Zusatzbelegreferenz: externe URI
  • /ubl:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI
In der Standard-Integration nicht aus dem IDoc gemappt.
Zusatzbelegreferenz: eingebetteter Inhalt (base64)
  • /ubl:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject
In der Standard-Integration nicht aus dem IDoc gemappt.
Vorgängerrechnung (BillingReference)
  • /ubl:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID
  • /IDOC/E1EDK02[QUALF='031']/BELNR
Die Nummer der Vorgängerrechnung stammt aus QUALF='031' / BELNR. Das Datum der Vorgängerrechnung ist in der Standard-Integration nicht aus dem IDoc gemappt.

Parteien (Mapping)

Lieferant: Name (RegistrationName)
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName
  • /IDOC/E1EDKA1[PARVW='RS']/NAME1
Lieferant (Partnerrolle PARVW='RS').
Lieferant: Rechtsform / Beschreibung
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm
  • /IDOC/E1EDKA1[PARVW='RS']/NAME4
UBL Rechtsform/Beschreibung; gemappt aus NAME4 des Lieferantenpartners.
Lieferant: Handelsname
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name
  • /IDOC/E1EDKA1[PARVW='RS']/NAME4
Ebenfalls aus NAME4, wenn als Handels- oder zweiter Name genutzt; Semantik hängt von Ihren SAP-Daten ab.
Lieferant: Straße
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName
  • /IDOC/E1EDKA1[PARVW='RS']/STRAS
Lieferant. Straße.
Lieferant: Adresszusatz
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName
  • /IDOC/E1EDKA1[PARVW='RS']/STRS2
Im IDoc ist STRS2 überladen und kann Codes mit : tragen; nur als Adresse nutzen, wenn kein : / explizite Vereinbarung.
Lieferant: Adresszeile 3
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line
In der Standard-Integration nicht aus einem dedizierten IDoc-Tag befüllt.
Lieferant: Ort
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName
  • /IDOC/E1EDKA1[PARVW='RS']/ORT01
Lieferant. Ort.
Lieferant: PLZ
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone
  • /IDOC/E1EDKA1[PARVW='RS']/PSTLZ
Lieferant. Postleitzahl.
Lieferant: Region (Subentity)
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity
In der Standard-Integration nicht aus dem IDoc befüllt.
Lieferant: Ländercode
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode
  • /IDOC/E1EDKA1[PARVW='RS']/LAND1
Lieferant. Ländercode.
Lieferant: Partei-ID (CompanyID)
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID
  • /IDOC/E1EDKA1[PARVW='RS']/PARTN
In UBL typischerweise Firmen-/Registernummer.
Lieferant: Endpoint-ID (Peppol)
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID (Wert + @schemeID)
  • /IDOC/E1EDKA1[PARVW='ZX']/STRS2
Vom Kontaktpartner PARVW='ZX': bei : in STRS2 → links @schemeID, rechts Wert.
Lieferant: USt-IdNr.
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (TaxScheme=VAT)
  • /IDOC/E1EDK01/EIGENUINR
Im IDoc liegt die Lieferanten-USt-ID in E1EDK01/EIGENUINR.
Kunde: Name (RegistrationName)
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName
  • /IDOC/E1EDKA1[PARVW='RE']/NAME1
Käufer (Partnerrolle PARVW='RE').
Kunde: Handelsname
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name
  • /IDOC/E1EDKA1[PARVW='RE']/NAME4
Käufer. Handelsname / alternativer Name.
Kunde: Straße
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName
  • /IDOC/E1EDKA1[PARVW='RE']/STRAS
Käufer. Straße.
Kunde: Ort
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName
  • /IDOC/E1EDKA1[PARVW='RE']/ORT01
Käufer. Ort.
Kunde: PLZ
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PostalZone
  • /IDOC/E1EDKA1[PARVW='RE']/PSTLZ
Käufer. Postleitzahl.
Kunde: Ländercode
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode
  • /IDOC/E1EDKA1[PARVW='RE']/LAND1
Käufer. Ländercode.
Kunde: Partei-ID (CompanyID)
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID
  • /IDOC/E1EDKA1[PARVW='RE']/PARTN
In UBL typischerweise Firmen-/Registernummer.
Kunde: Endpoint-ID
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID (Wert + @schemeID)
  • /IDOC/E1EDKA1[PARVW='RE']/STRS2
Käufer-STRS2: mit : → Aufteilung in Schema und Wert; mit @ → gesamte Zeichenkette als Wert (ohne Schema).
Kunde: USt-IdNr.
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (TaxScheme=VAT)
  • /IDOC/E1EDK01/KUNDEUINR
Im IDoc liegt die Käufer-USt-ID in E1EDK01/KUNDEUINR.
Kunde: Kontaktname
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Name
  • /IDOC/E1EDKA1[PARVW='RE']/TELF1
Gemappt aus TELF1 am Käuferpartner; mit SAP-Partnerstammdaten prüfen, ob Kontaktname oder Telefon.
Kunde: Kontakt-E-Mail
  • /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:ElectronicMail
In der Standard-Integration nicht aus einem dedizierten IDoc-Tag befüllt.
Lieferant: Kontakt Name / Telefon / E-Mail
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Name
  • /IDOC/E1EDKA1[PARVW='ZX']/NAME2
Nur wenn Partner PARVW='ZX' existiert.
Lieferant: Kontakt Telefon
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone
  • /IDOC/E1EDKA1[PARVW='ZX']/TELF1
Telefon Lieferantenkontakt.
Lieferant: Kontakt E-Mail
  • /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail
  • /IDOC/E1EDKA1[PARVW='ZX']/NAME3
E-Mail aus NAME3 am Kontaktpartner PARVW='ZX' (übliche Projektkonvention).

Lieferung (Mapping)

Lieferort-ID
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cbc:ID (+ @schemeID)
  • /IDOC/E1EDKA1[PARVW='WE']/PARTN
Lieferpartner (PARVW='WE'): PARTN liefert den Wert der Lieferort-ID. @schemeID kommt in der Standard-Integration nicht aus dem IDoc.
Lieferung: Straße
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:StreetName
  • /IDOC/E1EDKA1[PARVW='WE']/STRAS
Lieferadresse. Straße.
Lieferung: Adresszusatz
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName
  • /IDOC/E1EDKA1[PARVW='WE']/NAME2
Gemappt aus NAME2 des Lieferpartners.
Lieferung: Adresszeile 3
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line
  • /IDOC/E1EDKA1[PARVW='WE']/NAME3
Gemappt aus NAME3 des Lieferpartners.
Lieferung: Ort
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CityName
  • /IDOC/E1EDKA1[PARVW='WE']/ORT01
Lieferadresse. Ort.
Lieferung: PLZ
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:PostalZone
  • /IDOC/E1EDKA1[PARVW='WE']/PSTLZ
Lieferadresse. Postleitzahl.
Lieferung: Region (Subentity)
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CountrySubentity
In der Standard-Integration nicht aus dem IDoc befüllt.
Lieferung: Ländercode
  • /ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode
  • /IDOC/E1EDKA1[PARVW='WE']/LAND1
Lieferadresse. Ländercode.
Lieferung: Parteiname
  • /ubl:Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName/cbc:Name
  • /IDOC/E1EDKA1[PARVW='WE']/NAME1
Name der Lieferpartei / des Lieferorts.

Zahlungsmittel (Mapping)

Zahlungsempfänger-Konto IBAN
  • /ubl:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID
  • /IDOC/E1EDK28/ACNUM
Ein E1EDK28 → ein PaymentMeans.
Bank BIC (Zahlungsempfänger)
  • /ubl:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID
  • /IDOC/E1EDK28/BRNUM
BIC der Bank des Zahlungsempfängers.

Rechnungspositionen (Mapping)

Rechnungspositions-ID / Position
  • /ubl:Invoice/cac:InvoiceLine/cbc:ID
  • /IDOC/E1EDP01/POSEX
Positionsnummer.
Hinweis zur Rechnungsposition
  • /ubl:Invoice/cac:InvoiceLine/cbc:Note
In der Standard-Integration nicht aus dem IDoc gemappt.
In Rechnung gestellte Menge
  • /ubl:Invoice/cac:InvoiceLine/cbc:InvoicedQuantity (+ @unitCode)
  • /IDOC/E1EDP01/MENGE (+ /IDOC/E1EDP01/MENEE)
Einheitencode aus MENEE; optional kann eine Einheitencode-Zuordnung für Zielvalidierungsregeln angewendet werden.
Basismenge
  • /ubl:Invoice/cac:InvoiceLine/cac:Price/cbc:BaseQuantity (+ @unitCode)
In der Standard-Integration nicht aus dem IDoc gemappt.
Verkäufer-Artikel-ID
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:SellersItemIdentification/cbc:ID
  • /IDOC/E1EDP01/E1EDP19[QUALF='002']/IDTNR
Nur bei QUALF='002'.
Käufer-Artikel-ID
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:BuyersItemIdentification/cbc:ID
In der Standard-Integration nicht aus dem IDoc gemappt.
Artikelbezeichnung
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cbc:Name
  • /IDOC/E1EDP01/E1EDP19[QUALF='002']/KTEXT
Nur bei QUALF='002'.
Standard-Artikel-ID
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID
  • /IDOC/E1EDP01/E1EDP19[QUALF='003']/IDTNR
Nur bei QUALF='003'.
Schema der Standard-Artikel-ID
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID
In der Standard-Integration nicht aus dem IDoc gemappt (im IDoc kein Schema für diesen Identifikator).
Steuersatz (Position)
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent
  • /IDOC/E1EDP01/E1EDP04/MSATZ
Im IDoc in MSATZ.
Steuerbetrag (Position)
  • /ubl:Invoice/cac:InvoiceLine/cac:TaxTotal/cbc:TaxAmount (konzeptionell)
  • /IDOC/E1EDP01/E1EDP04/MWSBT
Positionssteuerbetrag; negative Beträge werden normalisiert (führendes Minus, SAP-typische mehrfache --Zeichen).
Steuerkategorie-Code (Position)
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
  • /IDOC/E1EDP01/E1EDP04/MWSKZ
Festes Mapping vom SAP-Code: A0,A2→E, A3,19→S, A6,B2→Z, A9,B3→AE, sonst Z.
Preis (Betrag)
  • /ubl:Invoice/cac:InvoiceLine/cac:Price/cbc:PriceAmount
  • /IDOC/E1EDP01/E1EDP26[QUALF='001']/BETRG
Stückpreis: Minuszeichen werden entfernt, der Preis ist damit immer positiv.
Bruttopreis / Zu-/Abschlag auf Preis
  • /ubl:Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/*
In der Standard-Integration nicht aus dem IDoc gemappt.
Positionsbetrag (Zwischensumme Position)
  • /ubl:Invoice/cac:InvoiceLine/cbc:LineExtensionAmount
  • /IDOC/E1EDP01/E1EDP26[QUALF='002']/BETRG
Positions-Nettobetrag; dieselbe Normalisierung negativer Beträge wie bei Steuerbeträgen.
Positions-Zu-/Abschlag (Rabatt/Zuschlag)
  • /ubl:Invoice/cac:InvoiceLine/cac:AllowanceCharge (Betrag/Vorzeichen/Grund)
  • /IDOC/E1EDP01/E1EDP05
Im IDoc: ALCKZ='-' → Rabatt, ALCKZ='+' → Zuschlag. Nur wenn KOTXT != 'Brutto' und kein Gross enthält.
Artikelbeschreibung (Textzeilen)
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cbc:Description
  • /IDOC/E1EDP01/E1EDPT1[TDID='0001']/E1EDPT2/TDLINE
Zu einem String mit \n zwischen den TDLINE-Werten verkettet.
Bestellpositionsreferenz (LineID)
  • /ubl:Invoice/cac:InvoiceLine/cac:OrderLineReference/cbc:LineID
In der Standard-Integration nicht aus dem IDoc gemappt.
Belegreferenz (Position)
  • /ubl:Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:ID (+ @schemeID)
In der Standard-Integration nicht aus dem IDoc gemappt.
Belegreferenz: Dokumenttyp-Code
  • /ubl:Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:DocumentTypeCode
In der Standard-Integration nicht aus dem IDoc gemappt.
Kostenstelle / Buchungskosten (Position)
  • /ubl:Invoice/cac:InvoiceLine/cbc:AccountingCost
In der Standard-Integration nicht aus dem IDoc gemappt.
Leistungszeitraum: Startdatum
  • /ubl:Invoice/cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate
  • /IDOC/E1EDP01/E1EDPT1[TDID='Z007']/E1EDPT2/TDLINE
Nur wenn eine Zeile wie Leistungsdatum: dd.mm.yyyy vorkommt (Umrechnung dd.mm.yyyyYYYY-MM-DD).
Leistungszeitraum: Enddatum
  • /ubl:Invoice/cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate
  • /IDOC/E1EDP01/E1EDPT1[TDID='Z007']/E1EDPT2/TDLINE
Nur wenn eine Zeile wie Leistungsdatum: dd.mm.yyyy vorkommt (Umrechnung dd.mm.yyyyYYYY-MM-DD).
Herkunftsland (Artikel)
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:OriginCountry/cbc:IdentificationCode
In der Standard-Integration nicht aus dem IDoc gemappt.
Warenklassifikation
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode (+ @listID, @listVersionID)
In der Standard-Integration nicht aus dem IDoc gemappt.
Zusatzattribute (frei)
  • /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty (Name/Wert)
  • /IDOC/E1EDP01/E1EDPT1[TDID='Z007']/E1EDPT2/TDLINE
Aus Textzeilen per Mustern: Position: X → Unterzeilen gruppieren; Lieferschein: X → Eigenschaft (Name=Lieferschein); Reparaturvorgang: X → Eigenschaft; Gerätebezeichnung: X → Eigenschaft; Leistungsdatum: dd.mm.yyyy → Zeitraum Start/Ende (dd.mm.yyyyYYYY-MM-DD).
Unterposition (aggregiert)
  • /ubl:Invoice/cac:InvoiceLine/cac:SubInvoiceLine/*
UBL-Unterpositionen entstehen aus der Eigenschaftszeile Position: X (TDID Z007); es gibt kein direktes IDoc-Segment für Unterpositionen.

Summen (Mapping)

Gesamtsteuer
  • /ubl:Invoice/cac:TaxTotal/cbc:TaxAmount
  • /IDOC/E1EDS01[SUMID='005']/SUMME
Aus SUMME mit SUMID='005' (Gesamtsteuer; in Einklang mit der Summe der Positionssteuern).
Zwischensumme (netto)
  • /ubl:Invoice/cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount
  • /IDOC/E1EDS01[SUMID='010']/SUMME
Aus SUMME mit SUMID='010' (Netto-Zwischensumme).
Gesamtbetrag (brutto) / Saldo
  • /ubl:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount und /ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount
  • /IDOC/E1EDS01[SUMID='012']/SUMME
Aus SUMME mit SUMID='012' (Brutto / zahlbar).
Summe Zu-/Abschläge
  • /ubl:Invoice/cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount
In der Standard-Integration nicht aus dem IDoc gemappt. Beleg-Summen nutzen nur die SUMID-Werte 005, 010 und 012.
Summe Zuschläge
  • /ubl:Invoice/cac:LegalMonetaryTotal/cbc:ChargeTotalAmount
In der Standard-Integration nicht aus dem IDoc gemappt.
Vorauszahlungsbetrag
  • /ubl:Invoice/cac:LegalMonetaryTotal/cbc:PrepaidAmount
In der Standard-Integration nicht aus dem IDoc gemappt.
Rundungsbetrag (zahlbar)
  • /ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableRoundingAmount
In der Standard-Integration nicht aus dem IDoc gemappt.