bmw einvoicing edi implementation guideline zugferd v.1 · page 2 cardinality - occurrence of...

41
Message Implementation Guideline ZUGFeRD v1.0 Outgoing invoice Version: V1.0 Issue date: 09.01.2019 Author: BMW

Upload: doquynh

Post on 17-Jul-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Message Implementation Guideline

ZUGFeRD v1.0

Outgoing invoice

Version: V1.0

Issue date: 09.01.2019

Author: BMW

Page 2: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Document Information

Changed for Release

Go Live Date Version Segment Change Author

WP1 Go Live 09.01.2019 V1.0 N/A MIG created / GoLive BMW / OT

Page 3: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 3 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Important notices

FORMAT

An XSD file provided with ZUGFeRD Standard defines structure of the ZUGFeRD CII XML

and data type attribute for each element. The XSD file does not define length limitation of

the element value. For informational purposes Format defines type and length or date

mask of each element sent by BMW. Some of elements are listed in provided code lists.

The complete lists of ZUGFeRD allowed codes with explanations can be found in chapter

2, while references to the corresponding ISO Code Lists are added in CodeList properties.

GENERAL INFORMATION:

Self-Billing Zugferd files (TypeCode = “389”) with negative amounts are self billing debit

notes.

Page 4: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 4 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Contents

1. The ZUGFeRD schema ........................................................................................................................................... 5

2. Code Lists ................................................................................................................................................................ 39

2.1. BUSINESS PROCESS CODE LIST ........................................................................................................... 39

2.2. DOCUMENT TYPE CODE LIST ................................................................................................................. 39

2.3. TYPE OF REFERENCED DOCUMENT CODE LIST .............................................................................. 39

2.4. TAX CATEGORY CODE LIST ..................................................................................................................... 40

2.5. MEASUREMENT UNIT CODE LIST .......................................................................................................... 40

2.6. ALLOWANCE/CHARGE REASON CODE LIST ....................................................................................... 41

2.7. QUALIFYING THE TYPE OF TEXT CODE LIST ..................................................................................... 41

2.8. PRODUCT CLASSIFICATION CODE LIST .............................................................................................. 41

Page 5: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 5 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

1. The ZUGFeRD schema

Cardinality Element/Attribute Business term / Properties

CrossIndustryDocument 1 .. 1 xsd:sequence

1 .. 1

SpecifiedExchangedDocumentCont Grouping of message based properties

ext

. Status: R 1 .. 1 xsd:sequence

0 .. 1

TestIndicator Test indicator

Remark: The test indicator can be used when implementing

a newly developed system. It is to mark the invoice as a "test" and thus not leading to vat issues.

. Status: O

1 .. 1 xsd:choice

1 .. 1 Indicator Test indicator, value

xs:boolean Path to element: CrossIndustryDocument +SpecifiedExchangedDocumentContext ++TestIndicator +++Indicator

Remark: false = productive invoice message, true = test invoice message

Example: false Status: R CodeList: false, true Profile: BASIC and upwards

0 .. 1

BusinessProcessSpecifiedDocum Grouping of business context information

entContextParameter Remark: This element will always be sent. . Status: O

1 .. 1 xsd:sequence

0 .. 1 ID Business process, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedExchangedDocumentContext ++BusinessProcessSpecifiedDocumentContextParameter +++ID

Remark: This element will always be sent. The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.1.

Example: SBI

Status: O CodeList: CAN, SBI, GUA, FCS, REV, CDN, VHS, BPO, BTS, FCN, MMS, LTS, CNS, GUF, INF

Profile: EXTENDED only

1 .. 1

GuidelineSpecifiedDocumentCont Grouping of guideline information

extParameter .

Status: R 1 .. 1 xsd:sequence

1 .. 1 ID Guideline

udt:IDType Path to element: CrossIndustryDocument +SpecifiedExchangedDocumentContext ++GuidelineSpecifiedDocumentContextParameter +++ID Synonym: Profile Remark: case sensitive and version dependent Example: urn:ferd:CrossIndustryDocument:invoice:1p0:extended Status: R CodeList: ZUGFeRD extended:

urn:ferd:CrossIndustryDocument:invoice:1p0:extended

Page 6: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 6 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

1 .. 1

HeaderExchangedDocument Grouping of properties regarding the whole

document . Status: R 1 .. 1 xsd:sequence

1 .. 1

ID Invoice identifier, value

udt:IDType Path to element: CrossIndustryDocument +HeaderExchangedDocument ++ID Example: 7412B563579935 Status: R Format: X(16) Profile: BASIC and upwards

1 .. 1

Name Document name (free text), value

udt:TextType Path to element: CrossIndustryDocument +HeaderExchangedDocument ++Name Example: Self-billed invoice Status: R Format: X(1280) Profile: BASIC and upwards

1 .. 1

TypeCode Document type (Code), value

qdt:DocumentCodeType Path to element: CrossIndustryDocument +HeaderExchangedDocument ++TypeCode

Remark: The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.2.

Example: 389 Status: R CodeList: 389

Profile: BASIC and upwards

1 .. 1

IssueDateTime Invoice date

. Status: R 1 .. 1 xsd:choice

1 .. 1 DateTimeString Invoice date, value

extension (xsd:string) Path to element: CrossIndustryDocument +HeaderExchangedDocument ++IssueDateTime +++DateTimeString Synonym: Document date

Example: 20160420 Status: R Format: CCYYMMDD

Profile: BASIC and upwards

required format Date, format

.. . CodeList: 102 (CCYYMMDD) . Status: R . Profile: BASIC and upwards

0 .. 1

CopyIndicator Copy indicator

Remark: Will, for instance, be set to 'true' if the recipient explicitly asks for resending. Apart from that, this information is required only if it is not an identical copy.

. Status: D 1 .. 1 xsd:choice

1 .. 1 Indicator Copy indicator, value

xs:boolean Path to element: CrossIndustryDocument +HeaderExchangedDocument ++CopyIndicator +++Indicator Remark: false = original,

Page 7: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 7 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

true = copy

Example: false Status: R

Cardinality Element/Attribute Business term / Properties

0 .. unbounded

CodeList: false, true

Profile: EXTENDED only

IncludedNote Free text on header level

.

Status: O Remark: tax deputy will be send in Include Note

1 .. 1 xsd:sequence

1 .. unbounded

Content

Free text on header level (content)

udt:TextType Path to element: CrossIndustryDocument +HeaderExchangedDocument ++IncludedNote +++Content

Example: Vorsitzender des Aufsichtsrates : Norbert Reithofer Vorstand : Harald Krüger, Vorsitzender : Milagros Caiña Carreiro-Andree;Klaus Fröhlich;Pieter Nota;Nicolas Peter;Peter Schwarzenbauer;Andreas Wendt;Oliver Zipse Steuernummer : 143/301/01130 Sitz und Registergericht : München HRB 42243 VATID : DE129273398 Tel. : +49 89 382-0 Fax. : +49 89 382-70-25858 www.bmwgroup.com Example tax deputy: Tax deputy name: DIETRICH LUETTGENS GMBH & CO. KG, HASSELBECKER STRASSE 16, 42579 HEILIGENHAUS, DEUTSCHLAND, Tax deputy VAT number: DE121545539, Tax deputy tax Id number: 139/5722/0014

Status: R Format: X(1280) Profile: BASIC and upwards

0 .. 1 SubjectCode Free text on header level (qualifying the type of

udt:CodeType text), value Path to element: CrossIndustryDocument +HeaderExchangedDocument ++IncludedNote +++SubjectCode

Remark: The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.7.

Example: (empty) Status: A

CodeList: (empty), REG; AAK Profile: COMFORT and upwards

1 .. 1

SpecifiedSupplyChainTradeTransac Grouping information of trade transaction

tion . Status: R 1 .. 1 xsd:sequence

1 .. 1

ApplicableSupplyChainTradeAgre Grouping on trade agreement

ement

. Status: R 1 .. 1 xsd:sequence

0 .. 1 BuyerReference Buyer reference, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerReference

Remark: This element will always be sent. Information helping the receiver to assign the invoice correctly.

Example: HRB 42243 München Status: O Format: X(35)

Profile: COMFORT and upwards

Page 8: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 8 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties 1 .. 1

SellerTradeParty Seller (=service provider)

. Synonym: The seller (=taxable person) is, by default,

also the invoice issuer, the originator of the invoice, the supplier and the payee. If some of

these roles have been transferred to other people, these must be defined separately. . Status: R

1 .. 1

xsd:sequence

0 .. 1 ID Seller ID, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++ID Synonym: Supplier identification assigned by the customer

Remark: This element will always be sent. The seller’s ID is a unique identifier assigned to the

seller and agreed on a bilateral basis.

Example: 31084916 Status: O Format: X(35) Profile: COMFORT and upwards

0 .. unbounded GlobalID Global identifier of the seller, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++GlobalID Remark: The seller’s global ID is a unique identifier assigned to a seller by a global registration body. Example: 12-345-6789

Status: A

Format: X(70) Profile: COMFORT and upwards

required schemeID Type of global identifier

.. . CodeList: 0060 (D-U-N-S Number) . Status: R . Profile: COMFORT and upwards

Page 9: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 9 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

1 .. 1 Name (Company) name of the seller, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++Name Example: Lieferant GmbH

Status: R Format: X(140)

Profile: BASIC and upwards

0 .. 1

DefinedTradeContact Details on the seller's contact person

.

Status: O 1 .. 1 xsd:sequence

0 .. 1 PersonName Contact person name, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++DefinedTradeContact +++++PersonName Remark: If the contact is defined, either the Name or Department must occur.

Example: Name Kontaktperson oder Abteilung Status: D

Format: X(35) Profile: EXTENDED only 0 .. 1

DepartmentName Department name, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++DefinedTradeContact +++++DepartmentName Remark: If the contact is defined, either the Name or Department must occur. Example: Abt-/Personal ID Status: D

Format: X(17) Profile: EXTENDED only

0 .. 1

TelephoneUniversalCommun Details of the phone number

ication

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 CompleteNumber Phone number, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++DefinedTradeContact +++++TelephoneUniversalCommunication ++++++CompleteNumber

Remark: Usage of an international format is adviced. Example: +49 (123) 2323232323

Status: R Format: X(100)

Profile: EXTENDED only

Page 10: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 10 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

FaxUniversalCommunication Details of the fax number

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 CompleteNumber Fax number, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++DefinedTradeContact +++++FaxUniversalCommunication ++++++CompleteNumber Example: +888999888 Status: R

Format: X(100) Profile: EXTENDED only 0 .. 1

EmailURIUniversalCommuni Details on email

cation

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 URIID Email, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++DefinedTradeContact +++++EmailURIUniversalCommunication ++++++URIID Example: [email protected] Status: R

Format: X(100) Profile: EXTENDED only

0 .. 1

PostalTradeAddress Details on address

Remark: This element will always be sent.

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 PostcodeCode Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++PostalTradeAddress

+++++PostcodeCode

Remark: This element will always be sent. Example: 13629

Status: A

Format: X(17) Profile: BASIC and upwards

Page 11: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 11 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

LineOne

Line one, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++PostalTradeAddress +++++LineOne Remark: Indication of street or postal box. For addresses indicating the postcode and locality, "-" must be entered. Example: Nonnendammallee 101

Status: A Format: X(70)

Profile: BASIC and upwards

0 .. 1

CityName

City, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++PostalTradeAddress +++++CityName Example: Berlin

Status: A Format: X(35)

Profile: BASIC and upwards

0 .. 1 CountryID Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++PostalTradeAddress

+++++CountryID

Remark: This element will always be sent. Example: DE

Status: A CodeList: Codelist ISO 3166-1 alpha-2 is used.

Profile: BASIC and upwards

0 .. unbounded

SpecifiedTaxRegistration Tax registration details

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 ID (Local) tax Id, value

udt:IDType VAT Id, value Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++SellerTradeParty ++++SpecifiedTaxRegistration +++++ID Remark: A Core Invoice that contains VAT category code with code value "AE" MUST contain Sellers VAT identification and Buyer VAT identification. Example: DE129000202 121212121 Status: D D

Format: X(35) X(35)

Profile: BASIC and upwards

required

schemeID

Type of tax identifier

.. . Synonym: VAT Id, tax Id . CodeList: VA, FC . Status: R . Profile: BASIC and upwards

Page 12: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 12 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

1 .. 1

BuyerTradeParty Buyer (=service recipient)

. Synonym: The buyer (=customer) is, by default, also the ship-to-party, the invoicee and the payee. If some of these roles have been transferred to other people, these must be defined separately.

. Status: R 1 .. 1 xsd:sequence

0 .. 1 ID Buyer ID, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty

++++ID Remark: This element will always be sent. Full list of BMW Company Codes is in chapter 11.1 of BMW eInvoicing EDI Implementation Guideline ZUGFeRD

Example: A1 Status: O CodeList: A1, B7, MU

Profile: COMFORT and upwards

0 .. unbounded GlobalID Global identifier of the seller, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++GlobalID Remark: The buyer’s global ID is a unique identifier assigned to a buyer by a global registration body. Example: 01-234-5678

Status: A

Format: X(70) Profile: COMFORT and upwards

required schemeID Type of global identifier

.. . CodeList: 0060 (D-U-N-S Number) . Status: R . Profile: COMFORT and upwards

1 .. 1 Name (Company) name of the buyer, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++Name

Example: Bayerische Motoren Werke AG Status: R Format: X(140) Profile: BASIC and upwards

0 .. 1

DefinedTradeContact Details on the buyer's contact person

.

Status: O

1 .. 1 xsd:sequence

0 .. 1 PersonName Contact person name, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++DefinedTradeContact +++++PersonName Remark: If the contact is defined, either the Name or Department must occur. Example: Klaus Meier

Status: D

Page 13: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 13 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Format: X(35) Profile: EXTENDED only

0 .. 1

DepartmentName Department name, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++DefinedTradeContact +++++DepartmentName Remark: If the contact is defined, either the Name or Department must occur. Example: ABC123

Status: D Format: X(17)

Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

0 .. 1

TelephoneUniversalCommun Details of the phone number

ication

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 CompleteNumber Phone number, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++DefinedTradeContact +++++TelephoneUniversalCommunication ++++++CompleteNumber

Remark: Usage of an international format is adviced. Example: +49 (123) 456789-0

Status: R Format: X(100)

Profile: EXTENDED only 0 .. 1

FaxUniversalCommunication Details of the fax number

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 CompleteNumber Fax number, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++DefinedTradeContact +++++FaxUniversalCommunication ++++++CompleteNumber

Example: 123123123 Status: R

Format: X(100) Profile: EXTENDED only

0 .. 1

EmailURIUniversalCommuni Details on email

cation

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 URIID Email, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++DefinedTradeContact +++++EmailURIUniversalCommunication ++++++URIID Example: [email protected]

Status: R

Format: X(100) Profile: EXTENDED only

Page 14: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 14 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

PostalTradeAddress Details on address

Remark: This element will always be sent.

Status: A .

1 .. 1 xsd:sequence

0 .. 1

PostcodeCode

Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++PostalTradeAddress

+++++PostcodeCode Remark: This element will always be sent.

Example: 13599 Status: A Format: X(17) Profile: BASIC and upwards

0 .. 1 LineOne Line one, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++PostalTradeAddress +++++LineOne Remark: Indication of street or postal box. For addresses indicating the postcode and locality, "-" must be entered.

Example: Am Juliusturm 14-38

Status: A Format: X(70) Profile: BASIC and upwards

0 .. 1 CityName City

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++PostalTradeAddress

+++++CityName Remark: This element will always be sent.

Example: Berlin Status: A Format: X(35) Profile: BASIC and upwards

0 .. 1 CountryID Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++PostalTradeAddress

+++++CountryID Remark: This element will always be sent.

Example: DE

Status: A CodeList: Codelist ISO 3166-1 alpha-2 is used.

Profile: BASIC and upwards

Page 15: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 15 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. unbounded

SpecifiedTaxRegistration Tax registration details

Status: A

1 .. 1 xsd:sequence

0 .. 1

ID

(Local) tax Id, value

udt:IDType VAT Id, value Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++BuyerTradeParty ++++SpecifiedTaxRegistration

+++++ID Remark: In case of Buyer’s country code is DE, Buyer’s VAT Registration Number or Buyer’s Fiscal Number is mandatory. In case of Buyer’s country code belongs to European Union (EU), Buyer’s VAT Registration Number is mandatory and Buyer’s Fiscal Number is optional. In case of Buyer’s country code does not belong to European Union (EU), both Buyer’s VAT Registration Number and Buyer’s Fiscal Number are optional.

Example: DE129273398 129273000

Status: D D

Format: X(35) X(35)

Profile: BASIC and upwards

required schemeID Type of tax identifier

.. . Synonym: VAT Id, tax Id . CodeList: VA, FC . Status: R

. Profile: BASIC and upwards

0 .. unbounded

AdditionalReferencedDocumen Details on additional referenced document

t

. Status: O 1 .. 1 xsd:sequence

1 .. 1 TypeCode Type of referenced document, value

qdt:DocumentCodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++AdditionalReferencedDocument ++++TypeCode

Remark: The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.3.

Example: OI

Status: R

CodeList: AJS, OI, BC Profile: EXTENDED only

1 .. 1

ID

Document number, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeAgreement +++AdditionalReferencedDocument ++++ID

Example: F336N66 Status: R Format: X(70)

Profile: EXTENDED only

Page 16: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 16 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

1 .. 1

ApplicableSupplyChainTradeDeli Grouping on delivery information

very

. Status: R

1 .. 1 xsd:sequence

0 .. 1

ShipToTradeParty Details on alternative ship to

. Status: O 1 .. 1 xsd:sequence

0 .. 1 ID Identification of ship to, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty

Remark: ++++ID List of Business Areas is in chapter 11.2

of BMW eInvoicing EDI Implementation Guideline ZUGFeRD Example: A1

Status: R CodeList: A1, BX, DG, DX, FX, HH, HX, LX, MX, NG, NX, RX, SX, XA

Profile: EXTENDED only

1 .. 1 Name (Company) name of ship to, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++Name

Example: Zentrale, Werke und Sparten

Status: R Format: X(140) Profile: EXTENDED only

0 .. 1

DefinedTradeContact Details of the contact person

.

Status: O 1 .. 1 xsd:sequence

0 .. 1 PersonName Contact person name, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++DefinedTradeContact +++++PersonName Remark: If the contact is defined, either the Name or Department must occur. Example: Materials department Status: D

Format: X(35) Profile: EXTENDED only 0 .. 1

DepartmentName Department name, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++DefinedTradeContact +++++DepartmentName Remark: If the contact is defined, either the Name or Department must occur. Example: Number Status: D

Format: X(17) Profile: EXTENDED only

Page 17: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 17 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

EmailURIUniversalCommuni Details on email

cation

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 URIID Email, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++DefinedTradeContact +++++EmailURIUniversalCommunication ++++++URIID Example: [email protected]

Status: R Format: X(100)

Profile: EXTENDED only

0 .. 1

PostalTradeAddress Details on address

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 PostcodeCode Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++PostalTradeAddress +++++PostcodeCode Example: 13629 Status: A Format: X(17) Profile: EXTENDED only

0 .. 1

LineOne

Line one, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++PostalTradeAddress +++++LineOne

Remark: Indication of street or postal box. For addresses

indicating the postcode and locality, "-" must be entered.

Example: Nonnendammallee 101

Status: A Format: X(70)

Profile: EXTENDED only

0 .. 1

CityName

City, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty ++++PostalTradeAddress +++++CityName Example: Berlin

Status: A

Format: X(35) Profile: EXTENDED only

0 .. 1

CountryID Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeDelivery +++ShipToTradeParty

Page 18: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 18 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

++++PostalTradeAddress +++++CountryID Example: DE Status: A

CodeList: Codelist ISO 3166-1 alpha-2 is used.

Cardinality Element/Attribute Business term / Properties Profile: EXTENDED only 0 .. 1

ShipFromTradeParty Identification of the alternative ship from

. Status: O 1 .. 1 xsd:sequence

1 .. 1

Name (Company) name of the ship from, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipFromTradeParty ++++Name

Example: ShipFrom Name Status: R Format: X(140)

Profile: EXTENDED only

0 .. 1

PostalTradeAddress Details on address

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 PostcodeCode Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipFromTradeParty ++++PostalTradeAddress +++++PostcodeCode Example:

Status: Format: Profile:

13629 A X(17) EXTENDED only

0 .. 1

LineOne

Line one, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipFromTradeParty ++++PostalTradeAddress +++++LineOne Remark: Indication of street or postal box. For addresses indicating the postcode and locality, "-" must be entered. Example: Nonnendammallee 101

Status: A Format: X(70)

Profile: EXTENDED only

0 .. 1 CityName City, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipFromTradeParty ++++PostalTradeAddress +++++CityName Example: Berlin

Status: A

Format: X(35) Profile: EXTENDED only

0 .. 1

CountryID

Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ShipFromTradeParty

Page 19: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 19 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

++++PostalTradeAddress +++++CountryID Example: DE

Status: A

CodeList: Codelist ISO 3166-1 alpha-2 is used. Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

0 .. 1

ActualDeliverySupplyChainEve Details on actual delivery

nt Remark: The delivery date on header level contains the last delivery date and is relevant for the

allocation of the taxes to a tax period. . Status: D 1 .. 1 xsd:sequence

0 .. 1

OccurrenceDateTime Actual date of delivery of goods/provision of

services Remark: Indicating either here for the entire invoice, or alternatively for each line item

. Status: D

1 .. 1 xsd:choice

1 .. 1 DateTimeString Actual date of delivery of goods/provision of

extension (xsd:string) services, value Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeDelivery +++ActualDeliverySupplyChainEvent ++++OccurrenceDateTime +++++DateTimeString Synonym: Actual date of delivery of goods/provision of services for VAT purposes

Example: 20160420 Status: R

Format: CCYYMMDD Profile: BASIC and upwards

required format Date, format

.. . CodeList: 102 (CCYYMMDD) . Status: R . Profile: BASIC and upwards

1 .. 1 ApplicableSupplyChainTradeSett Grouping on settlement information

lement

. Status: R 1 .. 1 xsd:sequence

1 .. 1

InvoiceCurrencyCode Currency (code), value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceCurrencyCode

Example: EUR Status: R

CodeList: Codelist ISO 4217 3A is used. Profile: BASIC and upwards

0 .. 1

InvoiceeTradeParty Details on the alternative invoicee

. Status: O 1 .. 1 xsd:sequence

0 .. 1 ID Identification of the alternative invoicee, value

udt:IDType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++ID

Example: A1 Status: O

Format: X(35) Profile: COMFORT and upwards

Page 20: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 20 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

0 .. unbounded GlobalID Global identifier of the seller, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++GlobalID Remark: The invoiee’s global ID is a unique identifier assigned to A invoicee by a global registration body. Example: 01-234-5678

Status: A

Format: X(70) Profile: COMFORT and upwards

required schemeID Type of global identifier

.. . CodeList: 0060 (D-U-N-S Number) . Status: R . Profile: COMFORT and upwards

1 .. 1 Name (Company) name of the alternative invoicee,

udt:TextType value Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++Name

Example: InvoiceeTradeParty Status: R

Format: X(140) Profile: COMFORT and upwards

Cardinality Element/Attribute Business term / Properties

1 .. 1

PostalTradeAddress Details on address

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 PostcodeCode Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++PostalTradeAddress +++++PostcodeCode Example: 13599

Status: A

Format: X(17) Profile: COMFORT and upwards

0 .. 1

LineOne

Line one, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++PostalTradeAddress +++++LineOne Remark: Indication of street or postal box. For addresses indicating the postcode and locality, "-" must be entered. Example: Am Juliusturm 14-38

Status: A Format: X(70)

Profile: COMFORT and upwards

0 .. 1

CityName

City, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++PostalTradeAddress +++++CityName Example: Berlin Status: A

Page 21: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 21 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Format: X(35) Profile: COMFORT and upwards

0 .. 1 CountryID Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++InvoiceeTradeParty ++++PostalTradeAddress +++++CountryID Example: DE

Status: A CodeList: Codelist ISO 3166-1 alpha-2 is used.

Profile: COMFORT and upwards

Cardinality Element/Attribute Business term / Properties

0 .. 1

PayeeTradeParty Details on alternative payee

. Status: O 1 .. 1 xsd:sequence

0 .. 1 ID Identification of the alternative payee, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++PayeeTradeParty ++++ID

Example: 31084916 Status: O

Format: X(35) Profile: EXTENDED only

1 .. 1 Name (Company) name of the alternative payee,

udt:TextType value Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++PayeeTradeParty ++++Name

Example: PayeeTradeParty Status: R Format: X(140) Profile: EXTENDED only

0 .. 1

PostalTradeAddress Details on address

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 PostcodeCode Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++PayeeTradeParty ++++PostalTradeAddress +++++PostcodeCode Example: 13629

Status: A

Format: X(17) Profile: EXTENDED only

0 .. 1

LineOne

Line one, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++PayeeTradeParty ++++PostalTradeAddress +++++LineOne Remark: Indication of street or postal box. For addresses indicating the postcode and locality, "-" must be entered. Example: Nonnendammallee 101

Page 22: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 22 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Status: A Format: X(70)

Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

0 .. 1 CityName City, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++PayeeTradeParty ++++PostalTradeAddress +++++CityName Example: Berlin

Status: A Format: X(35)

Profile: EXTENDED only

0 .. 1 CountryID Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++PayeeTradeParty ++++PostalTradeAddress +++++CountryID Example: DE

Status: A CodeList: Codelist ISO 3166-1 alpha-2 is used.

Profile: EXTENDED only

0 .. unbounded

SpecifiedTradeSettlementPaym Details on payment means

entMeans

. Status: O 1 .. 1 xsd:sequence

0 .. 1

PayerPartyDebtorFinancialAc Buyer's financial account

count

.

Remark: Must be stated with direct debit. Status: D

1 .. 1 xsd:sequence

0 .. 1 IBANID IBAN, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementPaymentMeans ++++PayerPartyDebtorFinancialAccount +++++IBANID

Remark: Must be stated with direct debit

Example: 4433221100

Status: D

Format: X(35) Profile: COMFORT and upwards

Page 23: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 23 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

PayerSpecifiedCreditorFinan Buyer's financial institution

cialInstitution

. Remark: Must be stated with direct debit. Status: D

1 .. 1 xsd:sequence

0 .. 1 BICID BIC, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementPaymentMeans ++++PayerSpecifiedDebtorFinancialInstitution +++++BICID

Remark: Only for direct debit. Example: 76020070

Status: D Format: X(11)

Profile: COMFORT and upwards

0 .. 1

GermanBankleitzahlID German bank code, value

udt:IDType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementPaymentMeans ++++PayerSpecifiedDebtorFinancialInstitution +++++GermanBankleitzahlID Remark: Obsolete since SEPA Example: 10090000

Status: D Format: X(17)

Profile: COMFORT and upwards 0 .. 1

Name Bank name, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementPaymentMeans ++++PayerSpecifiedDebtorFinancialInstitution +++++Name Remark: Must be stated with direct debit. Example: Volksbank

Status: D

Format: X(70)

Cardinality Element/Attribute Business term / Properties

0 .. unbounded

ApplicableTradeTax Details on trade tax

Remark: This section must be used if the invoice needs to show more than one tax type.

. Status: D 1 .. 1 xsd:sequence

1 .. 1

CalculatedAmount Tax calculated amount, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++CalculatedAmount

Example: 451.03 Status: R

Format: N(15) Profile: BASIC and upwards required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R . Profile: BASIC and upwards

1 .. 1 TypeCode Tax type (code), value

qdt:TaxTypeCodeType

Page 24: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 24 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++TypeCode

Example: VAT Status: R

Format: X(3) Profile: BASIC and upwards

0 .. 1 ExemptionReason Exemption reason (free text), value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++ExemptionReason

Remark: This element must be used if the invoice needs to show more than one tax type. Example: Reason for exemption

Status: D Format: X(1280) Profile: COMFORT and upwards

ardinality Element/Attribute Business term / Properties

1 .. 1 BasisAmount Tax base amount, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++BasisAmount Example: 2373.86

Status: R Format: N(15)

Profile: BASIC and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: BASIC and upwards

0 ... 1 LineTotalBasisAmount Goods amount for tax rate, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++LineTotalBasisAmount Example: 2373.86

Status: D Format: N(15)

Profile: extended

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: extended 0 .. 1

CategoryCode Tax category, value

qdt:TaxCategoryCodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++CategoryCode

Remark: This element must be used if the invoice needs to show more than one tax type. The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.4.

Example: S Status: D CodeList: AE, E, Z, O, S

Profile: COMFORT and upwards

1 .. 1 ApplicablePercent Tax rate percentage, value

udt:PercentType

Page 25: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 25 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++ApplicableTradeTax ++++ApplicablePercent

Example: 19.00 Status: R Format: N(7)

Profile: BASIC and upwards

0 .. unbounded

SpecifiedTradeAllowanceCharg Details on allowances and charges

e

Remark: This segment is used for additional charge on invoice level (e.g. freight, packaging), i.e. in addition to charges that might be stated at individual line items. Status: D

1 .. 1 xsd:sequence

1 .. 1

ChargeIndicator Charge indicator

.

Status: R 1 .. 1 xsd:choice

1 .. 1 Indicator Charge indicator, value

xs:boolean Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeAllowanceCharge ++++ChargeIndicator +++++Indicator Remark: true= charge

Example: true CodeList: true Status: R Profile: COMFORT and upwards

Cardinality Element/Attribute Business term / Properties

1 .. 1

ActualAmount Allowance or charge base amount, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeAllowanceCharge

++++ActualAmount

Example: 0.0000

Status: R

Format: N(15) Profile: COMFORT and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: COMFORT and upwards

0 .. 1 ReasonCode Reason for allowance or charge (Code), value

qdt:AllowanceChargeReasonCodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeAllowanceCharge ++++ReasonCode

Remark: The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.6. Example: ADR

Status: O

CodeList: ADR, FC, IN, PC, SH Profile: EXTENDED only

0 .. 1 Reason Reason for allowance or charge (free text),

udt:TextType value Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction

Page 26: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 26 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

++ApplicableSupplyChainTradeSettlement

+++SpecifiedTradeAllowanceCharge ++++Reason

Remark: If ReasonCode is specified, Reason must be also provided.

Example: Reason Status: D

Format: X(1280) Profile: COMFORT and upwards

0 .. unbounded

SpecifiedTradePaymentTerms Details on payment terms

Remark: If invoice was paid in advance, this section can be omitted. Otherwise, it should be indicated. . Status: D

1 .. 1 xsd:sequence

1 .. unbounded

Description Free text on payment terms, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradePaymentTerms ++++Description

0 .. 1

Example: Payable within 30 days from date of invoice Status: R Format: X(1280) Profile: COMFORT and upwards

DueDateDateTime Due date . Status: O

xsd:choice

1 .. 1

DueDateDateString Due date, value

extension (xsd:string) Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradePaymentTerms

++++DueDateDateTime +++++DateTimeString

Example: 20181030 Status: R Format: X(1280) Profile: COMFORT and upwards

requried format

Date, format Example: 102 Status: R

Format: X(1280) Profile: COMFORT and upwards

Cardinality Element/Attribute Business term / Properties

1 .. 1

SpecifiedTradeSettlementMone Details of document totals

tarySummation

. Status: R 1 .. 1 xsd:sequence

1 .. 1 LineTotalAmount Line total amount, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++LineTotalAmount

Remark: Sum of net amount from lines

Example: 2373.86

Status: R

Format: N(15) Profile: BASIC and upwards

required currencyID Currency

.. CodeList: EUR Euro Codelist ISO 4217 3A is used.

Status: R .

Page 27: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 27 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

. Profile: BASIC and upwards

1 .. 1 ChargeTotalAmount Charge total amount, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++ChargeTotalAmount

Example: 0.00 Status: R

Format: N(15) Profile: BASIC and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R . Profile: BASIC and upwards 1 .. 1

AllowanceTotalAmount Allowance total amount, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++AllowanceTotalAmount

Remark: Sum of allowances defined on document level however in case of Billg@te data model there is no possibility to define allowances on document level, thus value of this element must always be “0.00” because the element is required.

Example: 0.00 Status: R Format: N(15)

Profile: BASIC and upwards required currencyID Currency

.. . CodeList: EUR Euro

Codelist ISO 4217 3A is used.

. Status: R

. Profile: BASIC and upwards 1 .. 1

TaxBasisTotalAmount Tax basis total amount, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++TaxBasisTotalAmount

Remark: Sum of line total amount + charge totals - allowance totals

Example: 2373.86 Status: R Format: N(15)

Profile: BASIC and upwards

Cardinality Element/Attribute Business term / Properties

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R . Profile: BASIC and upwards

1 .. 1

TaxTotalAmount Tax total amount, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++TaxTotalAmount

Example: 451.03 Status: R

Format: N(15) Profile: BASIC and upwards required currencyID Currency

Page 28: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 28 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R . Profile: BASIC and upwards

1 .. 1 GrandTotalAmount Grand total, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++GrandTotalAmount

Example: 2824.89 Status: R

Format: N(15) Profile: BASIC and upwards required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R . Profile: BASIC and upwards

0 .. 1 TotalPrepaidAmount Total prepaid amount, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++TotalPrepaidAmount

Remark: This element can be used for indication of received prepayments.

Example: 0.00 Status: D Format: N(15)

Profile: COMFORT and upwards required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R . Profile: COMFORT and upwards

0 .. 1 DuePayableAmount Due payable amount, value

udt:AmountType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction ++ApplicableSupplyChainTradeSettlement +++SpecifiedTradeSettlementMonetarySummation ++++DuePayableAmount

Remark: This element will always be sent. If prepayments are made, this value will be different than invoice amount. Total gross amount – total prepaid amount

Example: 2824.89 Status: D Format: N(15)

Profile: COMFORT and upwards required ..

currencyID Currency

. CodeList: EUR Euro Codelist ISO 4217 3A is used.

. Status: R

Cardinality Element/Attribute Business term / Properties

1 .. unbounded

Profile: COMFORT and upwards

IncludedSupplyChainTradeLineIte Grouping of item information

m . Status: R

1 .. 1 xsd:sequence

1 .. 1

AssociatedDocumentLineDocu Grouping of general information

ment .

Status: R 1 .. 1 xsd:sequence

0 .. 1 LineID Line number, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem

Page 29: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 29 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

+++AssociatedDocumentLineDocument ++++LineID Remark: This element will always be sent. Example: 000010

Status: A

Format: N(6)

Profile: COMFORT and upwards

0 .. 1

SpecifiedSupplyChainTradeAg Grouping of agreement information

reement

. Status: A 1 .. 1 xsd:sequence

0 .. 1

BuyerOrderReferencedDocu Details on referenced order

ment

.

Status: O

1 .. 1 xsd:sequence

0 .. 1

IssueDateTime Order date, value qdt:DateMandatoryDateTimeType

Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++BuyerOrderReferencedDocument +++++IssueDateTime

Example: 2016-04-19 Status: O

Format: CCYY-MM-DD Profile: EXTENDED only 0 .. 1

LineID Item number, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++BuyerOrderReferencedDocument +++++LineID

Example: 000010 Status: O

Format: N(6) Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

1 .. 1 ID Order Id, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++BuyerOrderReferencedDocument +++++ID

Example: SIPS800 Status: R

Format: X(70)

0 .. unbounded

Profile: EXTENDED only AdditionalReferencedDocum Details on additional document references

ent

.

Status: O 1 .. 1 xsd:sequence

1 .. 1

ID Document Id, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++AdditionalReferencedDocument +++++ID

Example: 6130065483 Status: R Format: X(70) Profile: EXTENDED only

Page 30: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 30 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

1 .. 1

ReferenceTypeCode Document type, value

qdt:ReferenceCodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++AdditionalReferencedDocument +++++ReferenceTypeCode

Example: OI Status: R

CodeList: OI Previous invoice number Profile: EXTENDED only

0 .. 1

GrossPriceProductTradePric Details on gross price excluding taxes

e

Remark: This element will always be sent.

. Status: A 1 .. 1 xsd:sequence

1 .. 1 ChargeAmount Gross price, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++GrossPriceProductTradePrice +++++ChargeAmount Remark: Sum of net price, allowance and charge per line.

Example: 2580.2800 Status: R

Format: N(15) Profile: COMFORT and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: COMFORT and upwards

Page 31: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 31 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. unbounded

AppliedTradeAllowanceChar Details on allowances and charges

ge

. Status: O 1 .. 1 xsd:sequence

1 .. 1

ChargeIndicator Charge indicator

.

Status: R 1 .. 1 xsd:choice

1 .. 1 Indicator Charge indicator, value

xs:boolean Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++GrossPriceProductTradePrice +++++AppliedTradeAllowanceCharge ++++++ChargeIndicator +++++++Indicator Remark: true= charge, false = allowance

Example: false Status: R

CodeList: false, true Profile: COMFORT and upwards

0 .. 1 CalculationPercent Allowance charge percent, value

udt:PercentType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++GrossPriceProductTradePrice +++++AppliedTradeAllowanceCharge ++++++CalculationPercent Example: 5.00 Status: O Format: N(10) Profile: EXTENDED only

1 .. 1 ActualAmount Allowance or charge base amount, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++GrossPriceProductTradePrice +++++AppliedTradeAllowanceCharge ++++++ActualAmount

Example: 206.4200 Status: R Format: N(15) Profile: COMFORT and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: COMFORT and upwards

0 .. 1 ReasonCode Reason for allowance or charge (Code),

value qdt:AllowanceChargeReasonCodeType

Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++GrossPriceProductTradePrice +++++AppliedTradeAllowanceCharge ++++++ReasonCode Remark: The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.6. Example: FC Status: O CodeList: ADR, FC, IN, PC, SH Profile: EXTENDED only

Page 32: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 32 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

Reason

Reason for allowance or charge (free text),

udt:TextType value Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++GrossPriceProductTradePrice +++++AppliedTradeAllowanceCharge

++++++Reason Remark: If ReasonCode is specified, Reason must be also provided.

Example: Rabatt 1 Status: D Format: X(1280) Profile: COMFORT and upwards

0 .. 1

NetPriceProductTradePrice Details on net price without tax

. Status: A 1 .. 1 xsd:sequence

1 .. 1 ChargeAmount Net price, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeAgreement ++++NetPriceProductTradePrice +++++ChargeAmount

Example: 2373.8600 Status: R

Format: N(15) Profile: COMFORT and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: COMFORT and upwards

Cardinality Element/Attribute Business term / Properties 0 .. 1

SpecifiedSupplyChainTradeDeli Grouping on delivery information

very

Remark: This element will always be sent.

. Status: A 1 .. 1 xsd:sequence

1 .. 1 BilledQuantity Billed quantity, value

udt:QuantityType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++BilledQuantity

Example: 1.0000 Status: R

Format: N(10) Profile: BASIC and upwards

required unitCode Measurement unit

.. . CodeList: C62 one (piece) The complete list of ZUGFeRD allowed

codes with explanations can be found in chapter 2.5.

. Status: R . Profile: BASIC and upwards 0 .. 1

ShipToTradeParty Details on the alternative ship to

.

Status: O

1 .. 1 xsd:sequence

0 .. 1

ID Identification of ship to, value

udt:IDType

Page 33: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 33 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty

+++++ID Remark: List of Business Areas is in chapter 11.2 of BMW eInvoicing EDI Implementation Guideline ZUGFeRD

Example: A1

Status: R CodeList: A1, BX, DG, DX, FX, HH, HX, LX, MX, NG, NX, RX, SX, XA VIN

Profile: EXTENDED only

1 .. 1 Name (Company) name of ship to, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty

+++++Name Example: Zentrale, Werke und Sparten Status: R Format: X(140) Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

0 .. 1

DefinedTradeContact Details of the contact person

. Status: O 1 .. 1 xsd:sequence

0 .. 1 PersonName Contact person name, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++DefinedTradeContact

++++++PersonName Remark: If the contact is defined, either the Name or Department must occur.

Example: Herr Schulze Status: D Format: X(256) Profile: EXTENDED only

0 .. 1 DepartmentName Department name, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++DefinedTradeContact

++++++DepartmentName Remark: If the contact is defined, either the Name or Department must occur.

Example: Abt. WE

Status: D

Format: X(17) Profile: EXTENDED only

0 .. 1

TelephoneUniversalCommun Details of the phone number

ication

.

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 CompleteNumber Phone number, value

udt:TextType

Page 34: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 34 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++DefinedTradeContact ++++++TelephoneUniversalCommunication +++++++CompleteNumber

Example: +49 (123) 12034034 Status: R

Format: X(512) Profile: EXTENDED only

0 .. 1

FaxUniversalCommunication Details of the fax number

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 CompleteNumber Fax number, value

udt:TextType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++DefinedTradeContact ++++++FaxUniversalCommunication +++++++CompleteNumber

Example: 5555544444 Status: R

Format: X(512) Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

0 .. 1

EmailURIUniversalCommuni Details on email

cation

.

Status: O 1 .. 1 xsd:sequence

1 .. 1 URIID Email, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++DefinedTradeContact ++++++EmailURIUniversalCommunication +++++++URIID

Example: [email protected] Status: R

Format: X(512) Profile: EXTENDED only

0 .. 1

PostalTradeAddress Details on address

.

Status: A 1 .. 1 xsd:sequence

0 .. 1 PostcodeCode Postcode, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++PostalTradeAddress ++++++PostcodeCode Example: 13629

Status: A

Format: X(17) Profile: EXTENDED only

0 .. 1

LineOne Line one, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem

Page 35: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 35 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

+++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++PostalTradeAddress ++++++LineOne Remark: Indication of street or postal box. For addresses indicating the postcode and locality, "-" must be entered. Example: Nonnendammallee 101

Status: A Format: X(70)

Profile: EXTENDED only

0 .. 1

CityName

City, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++PostalTradeAddress ++++++CityName Example: Berlin

Status: A Format: X(35)

Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

0 .. 1

CountryID

Country (Code), value

qdt:CountryIDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ShipToTradeParty +++++PostalTradeAddress ++++++CountryID Example: DE

Status: A CodeList: Codelist ISO 3166-1 alpha-2 is used.

Profile: EXTENDED only

0 .. 1

ActualDeliverySupplyChainE Details on actual delivery

vent Remark: If the line items of an invoice have different delivery or service completion dates, then this date has to be given for each line item.

.

Status: D 1 .. 1 xsd:sequence

0 .. 1

OccurrenceDateTime Actual date of delivery or date of service

provision

.

Remark: The actual date of delivery in respect of VAT must be provided on header level

Status: D 1 .. 1 xsd:choice

1 .. 1 DateTimeString Actual date of delivery, value

extension (xsd:string) Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++ActualDeliverySupplyChainEvent +++++OccurrenceDateTime ++++++DateTimeString Example: 20160420 Status: R

Format: CCYYMMDD

Profile: EXTENDED only

required format Date, format

.. . CodeList: 102 (CCYYMMDD) . Status: R . Profile: EXTENDED only

0 .. 1

DeliveryNoteReferencedDocu Details on referenced delivery note ment

.

Status: O

Page 36: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 36 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

1 .. 1 xsd:sequence

0 .. 1 IssueDateTime Document date, value

qdt:DateMandatoryDateTimeType Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++DeliveryNoteReferencedDocument +++++IssueDateTime

Example: 2016-04-19 Status: O

Format: CCYY-MM-DD Profile: EXTENDED only

1 .. 1 ID Document number, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeDelivery ++++DeliveryNoteReferencedDocument +++++ID

Example: SIPS80081334790 Status: R Format: X(70) Profile: EXTENDED only

Cardinality Element/Attribute Business term / Properties

1 ..1

SpecifiedSupplyChainTradeSett Grouping on settlement information

lement . Status: R 1 .. 1 xsd:sequence

0 .. unbounded

ApplicableTradeTax Details on taxes

Remark: This section must be used even if the invoice needs to show more than one tax type.

Status: D . 1 .. 1 xsd:sequence

0 .. 1

TypeCode Tax type (Code), value qdt:TaxTypeCodeType

Path to element: CrossIndustryDocument

+SpecifiedSupplyChainTradeTransaction

++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeSettlement

++++ApplicableTradeTax +++++TypeCode

Remark: This element must be used if the invoice needs to show more than one tax type.

Example: VAT Status: D

Format: X(3) Profile: COMFORT and upwards

0 .. 1 CategoryCode Tax category, value

qdt:TaxCategoryCodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeSettlement ++++ApplicableTradeTax +++++CategoryCode

Remark: This element must be used if the invoice needs to show more than one tax type. The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.4.

Example: S

Status: D

CodeList: AE, E, Z, O, S Profile: COMFORT and upwards

1 .. 1 ApplicablePercent Tax percentage, value

Page 37: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 37 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

udt:PercentType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeSettlement ++++ApplicableTradeTax +++++ApplicablePercent

Example: 19.00 Status: R

Format: N(7) Profile: COMFORT and upwards

Cardinality Element/Attribute Business term / Properties

0 .. 1

SpecifiedTradeSettlementMo Details on summation

netarySummation

Remark: If only a text block without pricing is specified, this block can be omitted. Otherwise, it must be indicated. . Status: D 1 .. 1 xsd:sequence

1 .. 1 LineTotalAmount Line total amount, value

udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeSettlement ++++SpecifiedTradeSettlementMonetarySummation +++++LineTotalAmount Remark: The line total amount is the net amount, including any additions and deductions without specifying the value-added tax.

Example: 2373.86 Status: R

Format: N(15) Profile: COMFORT and upwards

required currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: COMFORT and upwards

0 .. 1 TotalAllowanceChargeAmo Allowance and charge total, value

unt udt:AmountType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedSupplyChainTradeSettlement ++++SpecifiedTradeSettlementMonetarySummation +++++TotalAllowanceChargeAmount

Remark: This element will always be sent. Sum of allowance and charge from line if AppliedTradeAllowanceCharge segment is provided.

Example: 206.4200 Status: D Format: N(15)

Profile: EXTENDED only

required

currencyID Currency

.. . CodeList: EUR Euro Codelist ISO 4217 3A is used. . Status: R . Profile: EXTENDED only

Page 38: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 38 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

Cardinality Element/Attribute Business term / Properties

0 .. 1

SpecifiedTradeProduct Grouping of product or service information

Remark: This element will always be sent. . Status: A

1 .. 1 xsd:sequence

0 .. 1

BuyerAssignedID Buyer's article number, value

udt:IDType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedTradeProduct ++++BuyerAssignedID Remark: The identifier of the product is a unique, bilaterally agreed number of the product. It can, for example, be a

customer item number or reference to the manufacturers part number.

Example: 6081271 Status: O

Format: X(35) Profile: COMFORT and upwards

1 .. 1

Name Article name, value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedTradeProduct ++++Name

Example: SIMOTICS SD 1LE15 IEC-LV Status: R

Format: X(512) Profile: BASIC and upwards

0 .. unbounded

DesignatedProductClassifica Details on product classification

tion

. Status: O 1 .. 1 xsd:sequence

1 .. 1 ClassCode Class code, value

udt:CodeType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedTradeProduct ++++DesignatedProductClassification +++++ClassCode

Example: SN1234567890 Status: R Format: X(35) Profile: EXTENDED only

required listID Product classification name

.. . CodeList: SELLER_ASSIGNED

The complete list of ZUGFeRD allowed codes with explanations can be found in chapter 2.8.

. Status: R . Profile: EXTENDED only

1 .. unbounded ClassName Product classification (free text), value

udt:TextType Path to element: CrossIndustryDocument +SpecifiedSupplyChainTradeTransaction ++IncludedSupplyChainTradeLineItem +++SpecifiedTradeProduct ++++DesignatedProductClassification +++++ClassName Synonym: Commodity group

Example: VINCode Status: R Format: X(35) Profile: EXTENDED only

Page 39: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 39 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

2. Code Lists

2.1. BUSINESS PROCESS CODE LIST

Business Process Code

Code Description

CAN Cancellation

SBI Self-billing invoice

GUA Guarantee

FCS Fix cost settlement

REV Revaluation

CDN Credit or Debit note

VHS Vehicle settlement

BPO Bank posting

BTS Business trip settlement

FCN Freight credit notes

MMS Maintenence material settlement

LTS Literatur settlement

CNS Cantine settlement

GUF Guarantee freight

INF Information letter

2.2. DOCUMENT TYPE CODE LIST

Document Type Code

Code Description

389 Self-billed invoice

2.3. TYPE OF REFERENCED DOCUMENT CODE LIST

Type of Referenced Document

Code Description

AJS Agreement number

BC Buyer's contract number

OI Previous invoice number

Page 40: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 40 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

2.4. TAX CATEGORY CODE LIST

Tax Category Code

Code Description

AE VAT Reverse Charge Code

E Exempt from tax

Z Zero rated goods

O Services outside scope of tax

S Standard rate

2.5. MEASUREMENT UNIT CODE LIST

Measurement Unit Code

Code Description

C62 one (piece)

PCE piece

DAY day

HAR hectare

HUR hour

KGM kilogram

KTM kilometre

KWH kilowatt hour

LS lump sum

LTR litre

MIN minute

MMK square millimetre

MMT millimetre

MTK square metre

MTQ cubic metre

MTR metre

NAR number of articles

NPR number of pairs

P1 percent

SET set

TNE tonne (metric ton)

WEE week

Page 41: BMW eInvoicing EDI Implementation Guideline ZUGFeRD v.1 · Page 2 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1)

Page 41 Cardinality - occurrence of elements (e.g. 0 .. 1 - minimum occurrence equals 0 and maximum occurrence equals 1) Status - M=Mandatory, C=Conditional, R=Required, O=Optional, D=Dependent, A=Advised, N=Not used Format: X(n) - string with exception of XML forbidden characters, maximum number of characters: n N(n) - decimal number, maximum length including digits and decimal point: n CCYYMMDD or CCYY-MM-DD - date field-format ("CCYY" – four-digit year, "MM" – two-digit month, "DD" – two-digit day)

2.6. ALLOWANCE/CHARGE REASON CODE LIST

Allowance/ Charge Reason Code

Code Description

ADR Other services

FC Freight service

IN Insurance

PC Packing

SH Special handling

2.7. QUALIFYING THE TYPE OF TEXT CODE LIST

Qualifying the Type of Code

Code Description

(empty) General free text

REG Regulatory information

AAK Price condition

Remark for Code AAK:

In France the information about early payment discount is mandatory.

BMW has no early payment and indicate “Escompte Néant ” or “No Early Payment discount”

(legal data - L 441-3 of the Commercial Code) in IncludedNote – SubjectCode = AAK

2.8. PRODUCT CLASSIFICATION CODE LIST

Product Classification Code

Code Description

HS Harmonized System (WCO)

SELLER_ASSIGNED assigned by seller