openTRANS 2.1 - ZUGFeRD - INVOICE

Spezifikation

Die Implementierung basiert auf dem openTRANS 2.1 Standard INVOICE erweitert um orderManager spezifische Felder. Im Folgenden werden die Felder in openTRANS beschreiben und mit welchen Daten diese zu befüllen sind.

Für alle Felder gelten die allgemeinen Datentypen und Muss/Kann Einstellungen nach Vorgabe von openTRANS 2.1.

Format

Belegkopf

Feld

Feld openTRANS 2.1

Feld OM Rechnung /
Gutschrift

Muss/Kann

Kommentar

Feld ZUGFeRD XMLFELD ZugferdSharp

Belegkopf - Bestellnr

INVOICE.INVOICE_HEADER. 
ORDER_HISTORY.ORDER_ID

Bestellung - Bestellnr

Muss


ApplicableSupplyChainTradeAgreement/BuyerOrderReferencedDocument/IDTradeLineItems[]/BuyerOrderReferencedDocument/ID
Bekegkopf - Bestellnr (Lieferant)INVOICE.INVOICE_HEADER.ORDER_HISTORY.
SUPPLIER_ORDER_ID
Bestellung - Lieferanten-AuftragsnnrKann?ApplicableSupplyChainTradeDelivery/DeliveryNoteReferencedDocument/IDDeliveryNoteReferencedDocument.ID
Belegkopf - Belegnummer INVOICE.INVOICE_HEADER.INVOICE_INFO.INVOICE_IDRechnung / GutschriftnummerMuss
HeaderExchangedDocument/IDInvoiceNo

Belegkopf - Datum

INVOICE.INVOICE_HEADER.INVOICE_INFO.
INVOICE_DATE

Rechungs- bzw.
Gutschriftsdatum

Muss

?

HeaderExchangedDocument/IssueDateTime/DateTimeStringInvoiceDate

Belegkopf- Belegtyp

INVOICE.INVOICE_HEADER.INVOICE_INFO.
INVOICE_TYPE

Beleg Rechnung oder
Gutschrift

Muss

was mit dem Gutschrift?

Werte: credit_memo = Gutschrift = ??
invoice = Rechnung = 380

https://www.unece.org/trade/untdid/d00a/tred/tred1001.htm

HeaderExchangedDocument/TypeCodeType
Belegkopf  - KommentarINVOICE.INVOICE_HEADER.INFOICE_INFO.REMARKSKommentareKann
NotesNotes

Unternehmen

Feld

Feld openTRANS 2.1

Feld orderManager

Muss/Kann

KommentarFeld ZUGFeRDFELD ZugferdSharp

Unternehmen - Lieferadresse

INVOICE.INVOICE_HEADER.INVOICE_INFO.PARTIES.
PARTY[PARTY_ROLE=delivery].ADDRESS

Bestellung - Lieferadresse

Kann

?
Nur LineTwo
ShipToTradeParty--

Unternehmen - Rechnungsempfänger

INVOICE.INVOICE_HEADER.INVOICE_INFO.PARTIES.
PARTY[PARTY_ROLE=invoice_recipient].ADDRESS

Rechnungsadresse

Muss

?ApplicableSupplyChainTradeAgreement/BuyerTradePartyBuyer

Unternehmen - Käufer

INVOICE.INVOICE_HEADER.INVOICE_INFO.PARTIES.
PARTY[PARTY_ROLE=buyer].ADDRESS

Kunde der Bestellung

Kann?wie oben?
Unternehmen - Käufer
Kundennr

INVOICE.INVOICE_HEADER.INVOICE_INFO.PARTIES.
PARTY[PARTY_ROLE=buyer].PARTY_ID[type=supplier_specific]

Kundennr beim LieferantenMuss
ApplicableSupplyChainTradeAgreement/BuyerTradeParty.IDByuer.ID

Unternehmen - Lieferant

INVOICE.INVOICE_HEADER.INVOICE_INFO.PARTIES.
PARTY[PARTY_ROLE=supplier].ADDRESS

Lieferant der Bestellung

Kann

Kein Supplier?

Position

Pro Rechnungsposition wird eine Position eingefügt. Zu einer Position kann es beliebig viele Unterpositionen geben, die Informationen zu Chargen und Seriennummern enthalten.

Feld

Feld openTRANS 2.1

Feld orderManager
Rechnungs- /Gutschriftsposition

Datentyp

Muss/Kann

KommentarFeld ZUGFeRDFELD ZugferdSharp

Position - Positionnr

INVOICE.INVOICE_ITEM_LIST[i].LINE_ITEM_ID

Zeilennummer


Muss

?IncludedSupplyChainTradeLineItem[]/AssociatedDocumentLineDocument/LineIDTradeLineItems[].AssociatedDocument.LineID

Position - Artikelnr Lieferant

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.SUPPLIER_PID

Lieferanten Artikelnr

alpha(30)

Kann


IncludedSupplyChainTradeLineItem[]/SpecifiedTradeProduct/SellerAssignedIDTradeLineItems[].SellerAssignedID

Position - Artikelnr Käufer

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.BUYER_PID

Kunden Artikelnr

alpha(30)

Kann


IncludedSupplyChainTradeLineItem[]/SpecifiedTradeProduct/BuyerAssignedIDTradeLineItems[].BuyerAssignedID

Position - EAN

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.
INTERNATIONAL_PID[type=ean]

EAN


Kann


IncludedSupplyChainTradeLineItem[]/SpecifiedTradeProduct/GlobalIDTradeLineItems[].GlobalID

Position - Artikelbezeichnung

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.DESCRIPTION_SHORT

Kurzbeschreibung

alpha(200)

Kann


----

Position - Text

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.DESCRIPTION_LONG

Text


Kann


IncludedSupplyChainTradeLineItem[]/SpecifiedTradeProduct/DescriptionTradeLineItems[].Description

Position - Einheit

INVOICE.INVOICE_ITEM_LIST[i].ORDER_UNIT

UneceUnit

alpha(3)

Muss

Popular:

http://www.robert-kuhlemann.de/iso_masseinheiten.htm

Full list:

https://www.unece.org/cefact/codesfortrade/codes_index.html

IncludedSupplyChainTradeLineItem[]/SpecifiedTradeProduct/BasisQuantity/@unitCodeTradeLineItems[].UnitCode

Position - Netto-Preis

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.
PRICE_AMOUNT

Einzelpreis

decimal

Muss
IncludedSupplyChainTradeLineItem[]/NetPriceProductTradePrice/ChargeAmountTradeLineItems[].NetUnitPrice

Position - Netto-Zeilensumme

INVOICE.INVOICE_ITEM_LIST[i].PRICE_LINE_AMOUNT

Zeilensumme

decimal

Muss


IncludedSupplyChainTradeLineItem[]/LineTotalAmountTradeLineItems[].LineTotalAmount

Position - Mwst-Satz

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.
TAX_DETAILS_FIX.TAX

Mehrwertsteuersatz

decimal

Muss

?

nicht in Prodinger

IncludedSupplyChainTradeLineItem[]/ApplicableTradeTax/ApplicablePercentTradeLineItems[].TaxPercent

Position - Mwst-Betrag

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.
TAX_DETAILS_FIX.TAX_AMOUNT

Mehrwertsteuerbetrag

decimal

Muss
IncludedSupplyChainTradeLineItem[]/ApplicableTradeTax/CalculatedAmount--

Position - Lieferdatum

INVOICE.INVOICE_ITEM_LIST[i].DELIVERY_DATE.
DELIVERY_START_DATE

Lieferdatum

DateTime

Kann
??

Position - bestätigte Menge

INVOICE.INVOICE_ITEM_LIST[i].QUANTITY

Menge(Summe über alle Unterpositionen)


Muss


IncludedSupplyChainTradeLineItem[]/BasisQuantityTradeLineItems[].UnitQuantity

Line_Item_ID der Position aus ursprünglicher Bestellung

INVOICE.INVOICE_ITEM_LIST[i].ORDER_REFERENCE.LINE_ITEM_ID

Bestellung - Positionsnummer

alpha(50)Muss
"0" wenn kein ID vorliegt.
immer leerIncludedSupplyChainTradeLineItem[]/IncludedSupplyChainTradeLineItem/SpecifiedSupplyChainTradeAgreement/BuyerOrderReferencedDocument/LineID
Position - Einheit (Beschreibung)INVOICE.INVOICE_ITEM_LIST[i].REMARKS[type = orderunittext]Mengeneinheit als Text
Standard: Stück
alpha(100)Kann
----

Unterposition

Die Unterposition enthält ergänzende Daten zur Rechnungsposition wie Seriennr und Chargennr. Wird nur angelegt wenn eines der unten genannten Felder in openTRANS INVOICE_ITEM_LIST gefüllt ist. (Außer QUANTITY)

Feld

Feld openTRANS 2.1

Feld orderManager
Rechnungs- /Gutschriftsposition

Muss/Kann

Feld ZUGFeRDFELD ZugferdSharp

Position - Positionnr

INVOICE.INVOICE_ITEM_LIST[i].LINE_ITEM_ID

Zeilennummer

Muss



Position -  Chargennummer

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.LOT_NUMBER

Unterposition - Chargennr

Kann



Position - bestätigte Menge

INVOICE.INVOICE_ITEM_LIST[i].QUANTITY

Menge in der Charge

Muss



Position - Seriennummer

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.SERIAL_NUMBER

Unterposition - Seriennr

Kann



Position - Lieferdatum

INVOICE.INVOICE_ITEM_LIST[i].DELIVERY_DATE.
DELIVERY_START_DATE

Lieferdatum

Kann

Position - Lieferdatum Ende

INVOICE.INVOICE_ITEM_LIST[i].DELIVERY_DATE.
DELIVERY_END_DATE

Lieferdatum Ende

Kann

Fusszeile

Feld

Feld openTRANS 2.1

Beschreibung

Muss/Kann

Kommentar

Werte

Feld ZUGFeRDFELD ZugferdSharp

Fusszeile - Beschreibung

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_ID.DESCRIPTION_SHORT

Fusszeile-Beschreibung

Muss





Fusszeile - Zeilesumme

INVOICE.INVOICE_ITEM_LIST[i].PRICE_LINE_AMOUNT

Fusszeile - Zeilensumme

Muss





Fusszeile - Prozent

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.ALLOW_OR_CHARGE.
ALLOW_OR_CHARGE_VALUE.AOC_PERCENTAGE_FACTOR

Fusszeile - Prozent

Kann





Fusszeile - Mwst Satz

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.TAX_DETAILS_FIX.TAX

Fusszeile - Mwst Satz

Muss





Fusszeile - Mwst Betrag

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.TAX_DETAILS_FIX.TAX_AMOUNT

Fusszeile - Mwst Betrag

Muss





Fusszeile - Netto-Betrag

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.PRICE_AMOUNT

Einzelpreis

Muss





Fusszeile - Typ

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.ALLOW_OR_CHARGE_FIX.
ALLOW_OR_CHARGE@type

Zuschlag/Abschlag

Muss


"surcharge" = Zuschlag,
"allowance" = Abschlag



Fusszeile - Typ

INVOICE.INVOICE_ITEM_LIST[i].PRODUCT_PRICE_FIX.
ALLOW_OR_CHARGE_FIX.ALLOW_OR_CHARGE.ALLOW_OR_CHARGE_TYPE

Fusszeilentyp

Muss


"small_order" = Mindermenge,
"rebate" = Rabatt,
"freight" = Fracht/Transport,
"packing" = Verpackung,
"material" = Gefahrgut,
"charge" = sonstiges



Belegfuss

Feld

Feld openTRANS 2.1

Feld OM Rechnung /
Gutschrift

Muss/Kann

Kommentar

Feld ZUGFeRDFELD ZugferdSharp

Beleg - Gesamtbetrag Netto

INVOICE.INVOICE_SUMMARY.NET_VALUE_GOODS

Gesamtbetrag Netto

Muss


SpecifiedTradeSettlementMonetarySummation/LineTotalAmountLineTotalAmount
Beleg - Gesamtbetrag MwStINVOIC.INVOICE_SUMMARY.TOTAL_TAX[i].TAX_AMOUNTGesamtbetrag MwstMuss
SpecifiedTradeSettlementMonetarySummation/TaxTotalAmountTaxTotalAmount