diff --git a/Modules.Interfaces/Interfaces.vbproj b/Modules.Interfaces/Interfaces.vbproj
index 1a089cb1..9118bed5 100644
--- a/Modules.Interfaces/Interfaces.vbproj
+++ b/Modules.Interfaces/Interfaces.vbproj
@@ -88,6 +88,7 @@
Settings.settings
True
+
diff --git a/Modules.Interfaces/ZUGFeRD1p0.vb b/Modules.Interfaces/ZUGFeRD1p0.vb
new file mode 100644
index 00000000..b0389666
--- /dev/null
+++ b/Modules.Interfaces/ZUGFeRD1p0.vb
@@ -0,0 +1,3176 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict Off
+Option Explicit On
+
+Imports System.Xml.Serialization
+
+'
+'This source code was auto-generated by xsd, Version=4.6.1055.0.
+'
+
+'''
+
+Partial Public Class CrossIndustryDocumentType
+
+ Private specifiedExchangedDocumentContextField As ExchangedDocumentContextType
+
+ Private headerExchangedDocumentField As ExchangedDocumentType
+
+ Private specifiedSupplyChainTradeTransactionField As SupplyChainTradeTransactionType
+
+ '''
+ Public Property SpecifiedExchangedDocumentContext() As ExchangedDocumentContextType
+ Get
+ Return Me.specifiedExchangedDocumentContextField
+ End Get
+ Set
+ Me.specifiedExchangedDocumentContextField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property HeaderExchangedDocument() As ExchangedDocumentType
+ Get
+ Return Me.headerExchangedDocumentField
+ End Get
+ Set
+ Me.headerExchangedDocumentField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SpecifiedSupplyChainTradeTransaction() As SupplyChainTradeTransactionType
+ Get
+ Return Me.specifiedSupplyChainTradeTransactionField
+ End Get
+ Set
+ Me.specifiedSupplyChainTradeTransactionField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ExchangedDocumentContextType
+
+ Private testIndicatorField As IndicatorType
+
+ Private businessProcessSpecifiedDocumentContextParameterField() As DocumentContextParameterType
+
+ Private guidelineSpecifiedDocumentContextParameterField() As DocumentContextParameterType
+
+ '''
+ Public Property TestIndicator() As IndicatorType
+ Get
+ Return Me.testIndicatorField
+ End Get
+ Set
+ Me.testIndicatorField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BusinessProcessSpecifiedDocumentContextParameter() As DocumentContextParameterType()
+ Get
+ Return Me.businessProcessSpecifiedDocumentContextParameterField
+ End Get
+ Set
+ Me.businessProcessSpecifiedDocumentContextParameterField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property GuidelineSpecifiedDocumentContextParameter() As DocumentContextParameterType()
+ Get
+ Return Me.guidelineSpecifiedDocumentContextParameterField
+ End Get
+ Set
+ Me.guidelineSpecifiedDocumentContextParameterField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class IndicatorType
+
+ Private itemField As Boolean
+
+ '''
+
+ Public Property Item() As Boolean
+ Get
+ Return Me.itemField
+ End Get
+ Set
+ Me.itemField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ReferencedProductType
+
+ Private globalIDField() As IDType
+
+ Private sellerAssignedIDField As IDType
+
+ Private buyerAssignedIDField As IDType
+
+ Private nameField() As TextType
+
+ Private descriptionField() As TextType
+
+ Private unitQuantityField() As QuantityType
+
+ '''
+
+ Public Property GlobalID() As IDType()
+ Get
+ Return Me.globalIDField
+ End Get
+ Set
+ Me.globalIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SellerAssignedID() As IDType
+ Get
+ Return Me.sellerAssignedIDField
+ End Get
+ Set
+ Me.sellerAssignedIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BuyerAssignedID() As IDType
+ Get
+ Return Me.buyerAssignedIDField
+ End Get
+ Set
+ Me.buyerAssignedIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Name() As TextType()
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Description() As TextType()
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property UnitQuantity() As QuantityType()
+ Get
+ Return Me.unitQuantityField
+ End Get
+ Set
+ Me.unitQuantityField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class IDType
+
+ Private schemeIDField As String
+
+ Private schemeAgencyIDField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property schemeID() As String
+ Get
+ Return Me.schemeIDField
+ End Get
+ Set
+ Me.schemeIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property schemeAgencyID() As String
+ Get
+ Return Me.schemeAgencyIDField
+ End Get
+ Set
+ Me.schemeAgencyIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TextType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class QuantityType
+
+ Private unitCodeField As String
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property unitCode() As String
+ Get
+ Return Me.unitCodeField
+ End Get
+ Set
+ Me.unitCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As Decimal
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ProductClassificationType
+
+ Private classCodeField As CodeType
+
+ Private classNameField() As TextType
+
+ '''
+ Public Property ClassCode() As CodeType
+ Get
+ Return Me.classCodeField
+ End Get
+ Set
+ Me.classCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ClassName() As TextType()
+ Get
+ Return Me.classNameField
+ End Get
+ Set
+ Me.classNameField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class CodeType
+
+ Private listIDField As String
+
+ Private listVersionIDField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property listID() As String
+ Get
+ Return Me.listIDField
+ End Get
+ Set
+ Me.listIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property listVersionID() As String
+ Get
+ Return Me.listVersionIDField
+ End Get
+ Set
+ Me.listVersionIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ProductCharacteristicType
+
+ Private typeCodeField() As CodeType
+
+ Private descriptionField() As TextType
+
+ Private valueMeasureField() As MeasureType
+
+ Private valueField() As TextType
+
+ '''
+
+ Public Property TypeCode() As CodeType()
+ Get
+ Return Me.typeCodeField
+ End Get
+ Set
+ Me.typeCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Description() As TextType()
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ValueMeasure() As MeasureType()
+ Get
+ Return Me.valueMeasureField
+ End Get
+ Set
+ Me.valueMeasureField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As TextType()
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class MeasureType
+
+ Private unitCodeField As String
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property unitCode() As String
+ Get
+ Return Me.unitCodeField
+ End Get
+ Set
+ Me.unitCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As Decimal
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeProductType
+
+ Private globalIDField() As IDType
+
+ Private sellerAssignedIDField As IDType
+
+ Private buyerAssignedIDField As IDType
+
+ Private nameField() As TextType
+
+ Private descriptionField() As TextType
+
+ Private applicableProductCharacteristicField() As ProductCharacteristicType
+
+ Private designatedProductClassificationField() As ProductClassificationType
+
+ Private originTradeCountryField() As CountryIDType
+
+ Private includedReferencedProductField() As ReferencedProductType
+
+ '''
+
+ Public Property GlobalID() As IDType()
+ Get
+ Return Me.globalIDField
+ End Get
+ Set
+ Me.globalIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SellerAssignedID() As IDType
+ Get
+ Return Me.sellerAssignedIDField
+ End Get
+ Set
+ Me.sellerAssignedIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BuyerAssignedID() As IDType
+ Get
+ Return Me.buyerAssignedIDField
+ End Get
+ Set
+ Me.buyerAssignedIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Name() As TextType()
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Description() As TextType()
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ApplicableProductCharacteristic() As ProductCharacteristicType()
+ Get
+ Return Me.applicableProductCharacteristicField
+ End Get
+ Set
+ Me.applicableProductCharacteristicField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DesignatedProductClassification() As ProductClassificationType()
+ Get
+ Return Me.designatedProductClassificationField
+ End Get
+ Set
+ Me.designatedProductClassificationField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property OriginTradeCountry As CountryIDType()
+ Get
+ Return Me.originTradeCountryField
+ End Get
+ Set
+ Me.originTradeCountryField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property IncludedReferencedProduct() As ReferencedProductType()
+ Get
+ Return Me.includedReferencedProductField
+ End Get
+ Set
+ Me.includedReferencedProductField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class CountryIDType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DocumentLineDocumentType
+
+ Private lineIDField As IDType
+
+ Private includedNoteField() As NoteType
+
+ '''
+ Public Property LineID() As IDType
+ Get
+ Return Me.lineIDField
+ End Get
+ Set
+ Me.lineIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property IncludedNote() As NoteType()
+ Get
+ Return Me.includedNoteField
+ End Get
+ Set
+ Me.includedNoteField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class NoteType
+
+ Private contentCodeField() As CodeType
+
+ Private contentField() As TextType
+
+ Private subjectCodeField As CodeType
+
+ '''
+
+ Public Property ContentCode() As CodeType()
+ Get
+ Return Me.contentCodeField
+ End Get
+ Set
+ Me.contentCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Content() As TextType()
+ Get
+ Return Me.contentField
+ End Get
+ Set
+ Me.contentField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SubjectCode() As CodeType
+ Get
+ Return Me.subjectCodeField
+ End Get
+ Set
+ Me.subjectCodeField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class SupplyChainTradeLineItemType
+
+ Private associatedDocumentLineDocumentField As DocumentLineDocumentType
+
+ Private specifiedSupplyChainTradeAgreementField As SupplyChainTradeAgreementType
+
+ Private specifiedSupplyChainTradeDeliveryField As SupplyChainTradeDeliveryType
+
+ Private specifiedSupplyChainTradeSettlementField As SupplyChainTradeSettlementType
+
+ Private specifiedTradeProductField As TradeProductType
+
+ '''
+ Public Property AssociatedDocumentLineDocument() As DocumentLineDocumentType
+ Get
+ Return Me.associatedDocumentLineDocumentField
+ End Get
+ Set
+ Me.associatedDocumentLineDocumentField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SpecifiedSupplyChainTradeAgreement() As SupplyChainTradeAgreementType
+ Get
+ Return Me.specifiedSupplyChainTradeAgreementField
+ End Get
+ Set
+ Me.specifiedSupplyChainTradeAgreementField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SpecifiedSupplyChainTradeDelivery() As SupplyChainTradeDeliveryType
+ Get
+ Return Me.specifiedSupplyChainTradeDeliveryField
+ End Get
+ Set
+ Me.specifiedSupplyChainTradeDeliveryField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SpecifiedSupplyChainTradeSettlement() As SupplyChainTradeSettlementType
+ Get
+ Return Me.specifiedSupplyChainTradeSettlementField
+ End Get
+ Set
+ Me.specifiedSupplyChainTradeSettlementField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SpecifiedTradeProduct() As TradeProductType
+ Get
+ Return Me.specifiedTradeProductField
+ End Get
+ Set
+ Me.specifiedTradeProductField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class SupplyChainTradeAgreementType
+
+ Private buyerReferenceField() As TextType
+
+ Private sellerTradePartyField As TradePartyType
+
+ Private buyerTradePartyField As TradePartyType
+
+ Private productEndUserTradePartyField As TradePartyType
+
+ Private applicableTradeDeliveryTermsField As TradeDeliveryTermsType
+
+ Private buyerOrderReferencedDocumentField() As ReferencedDocumentType
+
+ Private contractReferencedDocumentField() As ReferencedDocumentType
+
+ Private additionalReferencedDocumentField() As ReferencedDocumentType
+
+ Private grossPriceProductTradePriceField() As TradePriceType
+
+ Private netPriceProductTradePriceField() As TradePriceType
+
+ Private customerOrderReferencedDocumentField() As ReferencedDocumentType
+
+ '''
+
+ Public Property BuyerReference() As TextType()
+ Get
+ Return Me.buyerReferenceField
+ End Get
+ Set
+ Me.buyerReferenceField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SellerTradeParty() As TradePartyType
+ Get
+ Return Me.sellerTradePartyField
+ End Get
+ Set
+ Me.sellerTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BuyerTradeParty() As TradePartyType
+ Get
+ Return Me.buyerTradePartyField
+ End Get
+ Set
+ Me.buyerTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ProductEndUserTradeParty() As TradePartyType
+ Get
+ Return Me.productEndUserTradePartyField
+ End Get
+ Set
+ Me.productEndUserTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ApplicableTradeDeliveryTerms() As TradeDeliveryTermsType
+ Get
+ Return Me.applicableTradeDeliveryTermsField
+ End Get
+ Set
+ Me.applicableTradeDeliveryTermsField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BuyerOrderReferencedDocument() As ReferencedDocumentType()
+ Get
+ Return Me.buyerOrderReferencedDocumentField
+ End Get
+ Set
+ Me.buyerOrderReferencedDocumentField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ContractReferencedDocument() As ReferencedDocumentType()
+ Get
+ Return Me.contractReferencedDocumentField
+ End Get
+ Set
+ Me.contractReferencedDocumentField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AdditionalReferencedDocument() As ReferencedDocumentType()
+ Get
+ Return Me.additionalReferencedDocumentField
+ End Get
+ Set
+ Me.additionalReferencedDocumentField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property GrossPriceProductTradePrice() As TradePriceType()
+ Get
+ Return Me.grossPriceProductTradePriceField
+ End Get
+ Set
+ Me.grossPriceProductTradePriceField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property NetPriceProductTradePrice() As TradePriceType()
+ Get
+ Return Me.netPriceProductTradePriceField
+ End Get
+ Set
+ Me.netPriceProductTradePriceField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property CustomerOrderReferencedDocument() As ReferencedDocumentType()
+ Get
+ Return Me.customerOrderReferencedDocumentField
+ End Get
+ Set
+ Me.customerOrderReferencedDocumentField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradePartyType
+
+ Private idField() As IDType
+
+ Private globalIDField() As IDType
+
+ Private nameField As TextType
+
+ Private definedTradeContactField() As TradeContactType
+
+ Private postalTradeAddressField As TradeAddressType
+
+ Private specifiedTaxRegistrationField() As TaxRegistrationType
+
+ '''
+
+ Public Property ID() As IDType()
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property GlobalID() As IDType()
+ Get
+ Return Me.globalIDField
+ End Get
+ Set
+ Me.globalIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property Name() As TextType
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DefinedTradeContact() As TradeContactType()
+ Get
+ Return Me.definedTradeContactField
+ End Get
+ Set
+ Me.definedTradeContactField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property PostalTradeAddress() As TradeAddressType
+ Get
+ Return Me.postalTradeAddressField
+ End Get
+ Set
+ Me.postalTradeAddressField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property SpecifiedTaxRegistration() As TaxRegistrationType()
+ Get
+ Return Me.specifiedTaxRegistrationField
+ End Get
+ Set
+ Me.specifiedTaxRegistrationField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeContactType
+
+ Private personNameField As TextType
+
+ Private departmentNameField As TextType
+
+ Private telephoneUniversalCommunicationField() As UniversalCommunicationType
+
+ Private faxUniversalCommunicationField() As UniversalCommunicationType
+
+ Private emailURIUniversalCommunicationField As UniversalCommunicationType
+
+ '''
+ Public Property PersonName() As TextType
+ Get
+ Return Me.personNameField
+ End Get
+ Set
+ Me.personNameField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property DepartmentName() As TextType
+ Get
+ Return Me.departmentNameField
+ End Get
+ Set
+ Me.departmentNameField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TelephoneUniversalCommunication() As UniversalCommunicationType()
+ Get
+ Return Me.telephoneUniversalCommunicationField
+ End Get
+ Set
+ Me.telephoneUniversalCommunicationField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property FaxUniversalCommunication() As UniversalCommunicationType()
+ Get
+ Return Me.faxUniversalCommunicationField
+ End Get
+ Set
+ Me.faxUniversalCommunicationField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property EmailURIUniversalCommunication() As UniversalCommunicationType
+ Get
+ Return Me.emailURIUniversalCommunicationField
+ End Get
+ Set
+ Me.emailURIUniversalCommunicationField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class UniversalCommunicationType
+
+ Private uRIIDField As IDType
+
+ Private completeNumberField As TextType
+
+ '''
+ Public Property URIID() As IDType
+ Get
+ Return Me.uRIIDField
+ End Get
+ Set
+ Me.uRIIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CompleteNumber() As TextType
+ Get
+ Return Me.completeNumberField
+ End Get
+ Set
+ Me.completeNumberField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeAddressType
+
+ Private postcodeCodeField() As CodeType
+
+ Private lineOneField As TextType
+
+ Private lineTwoField As TextType
+
+ Private cityNameField As TextType
+
+ Private countryIDField As CountryIDType
+
+ '''
+
+ Public Property PostcodeCode() As CodeType()
+ Get
+ Return Me.postcodeCodeField
+ End Get
+ Set
+ Me.postcodeCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property LineOne() As TextType
+ Get
+ Return Me.lineOneField
+ End Get
+ Set
+ Me.lineOneField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property LineTwo() As TextType
+ Get
+ Return Me.lineTwoField
+ End Get
+ Set
+ Me.lineTwoField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CityName() As TextType
+ Get
+ Return Me.cityNameField
+ End Get
+ Set
+ Me.cityNameField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CountryID() As CountryIDType
+ Get
+ Return Me.countryIDField
+ End Get
+ Set
+ Me.countryIDField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TaxRegistrationType
+
+ Private idField As IDType
+
+ '''
+ Public Property ID() As IDType
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeDeliveryTermsType
+
+ Private deliveryTypeCodeField As DeliveryTermsCodeType
+
+ '''
+ Public Property DeliveryTypeCode() As DeliveryTermsCodeType
+ Get
+ Return Me.deliveryTypeCodeField
+ End Get
+ Set
+ Me.deliveryTypeCodeField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DeliveryTermsCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ReferencedDocumentType
+
+ Private issueDateTimeField As String
+
+ Private lineIDField As IDType
+
+ Private typeCodeField As DocumentCodeType
+
+ Private idField() As IDType
+
+ Private referenceTypeCodeField As ReferenceCodeType
+
+ '''
+ Public Property IssueDateTime() As String
+ Get
+ Return Me.issueDateTimeField
+ End Get
+ Set
+ Me.issueDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property LineID() As IDType
+ Get
+ Return Me.lineIDField
+ End Get
+ Set
+ Me.lineIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property TypeCode() As DocumentCodeType
+ Get
+ Return Me.typeCodeField
+ End Get
+ Set
+ Me.typeCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ID() As IDType()
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ReferenceTypeCode() As ReferenceCodeType
+ Get
+ Return Me.referenceTypeCodeField
+ End Get
+ Set
+ Me.referenceTypeCodeField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DocumentCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ReferenceCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradePriceType
+
+ Private chargeAmountField() As AmountType
+
+ Private basisQuantityField As QuantityType
+
+ Private appliedTradeAllowanceChargeField() As TradeAllowanceChargeType
+
+ '''
+
+ Public Property ChargeAmount() As AmountType()
+ Get
+ Return Me.chargeAmountField
+ End Get
+ Set
+ Me.chargeAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BasisQuantity() As QuantityType
+ Get
+ Return Me.basisQuantityField
+ End Get
+ Set
+ Me.basisQuantityField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AppliedTradeAllowanceCharge() As TradeAllowanceChargeType()
+ Get
+ Return Me.appliedTradeAllowanceChargeField
+ End Get
+ Set
+ Me.appliedTradeAllowanceChargeField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class AmountType
+
+ Private currencyIDField As String
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property currencyID() As String
+ Get
+ Return Me.currencyIDField
+ End Get
+ Set
+ Me.currencyIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As Decimal
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeAllowanceChargeType
+
+ Private chargeIndicatorField As IndicatorType
+
+ Private sequenceNumericField As NumericType
+
+ Private calculationPercentField As PercentType
+
+ Private basisAmountField As AmountType
+
+ Private basisQuantityField As QuantityType
+
+ Private actualAmountField() As AmountType
+
+ Private reasonCodeField As AllowanceChargeReasonCodeType
+
+ Private reasonField As TextType
+
+ Private categoryTradeTaxField() As TradeTaxType
+
+ '''
+ Public Property ChargeIndicator() As IndicatorType
+ Get
+ Return Me.chargeIndicatorField
+ End Get
+ Set
+ Me.chargeIndicatorField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SequenceNumeric() As NumericType
+ Get
+ Return Me.sequenceNumericField
+ End Get
+ Set
+ Me.sequenceNumericField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CalculationPercent() As PercentType
+ Get
+ Return Me.calculationPercentField
+ End Get
+ Set
+ Me.calculationPercentField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BasisAmount() As AmountType
+ Get
+ Return Me.basisAmountField
+ End Get
+ Set
+ Me.basisAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BasisQuantity() As QuantityType
+ Get
+ Return Me.basisQuantityField
+ End Get
+ Set
+ Me.basisQuantityField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ActualAmount() As AmountType()
+ Get
+ Return Me.actualAmountField
+ End Get
+ Set
+ Me.actualAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ReasonCode() As AllowanceChargeReasonCodeType
+ Get
+ Return Me.reasonCodeField
+ End Get
+ Set
+ Me.reasonCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property Reason() As TextType
+ Get
+ Return Me.reasonField
+ End Get
+ Set
+ Me.reasonField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property CategoryTradeTax() As TradeTaxType()
+ Get
+ Return Me.categoryTradeTaxField
+ End Get
+ Set
+ Me.categoryTradeTaxField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class NumericType
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property Value() As Decimal
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class PercentType
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property Value() As Decimal
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class AllowanceChargeReasonCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeTaxType
+
+ Private calculatedAmountField() As AmountType
+
+ Private typeCodeField As TaxTypeCodeType
+
+ Private exemptionReasonField As TextType
+
+ Private basisAmountField() As AmountType
+
+ Private lineTotalBasisAmountField() As AmountType
+
+ Private allowanceChargeBasisAmountField() As AmountType
+
+ Private categoryCodeField As TaxCategoryCodeType
+
+ Private applicablePercentField As PercentType
+
+ '''
+
+ Public Property CalculatedAmount() As AmountType()
+ Get
+ Return Me.calculatedAmountField
+ End Get
+ Set
+ Me.calculatedAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property TypeCode() As TaxTypeCodeType
+ Get
+ Return Me.typeCodeField
+ End Get
+ Set
+ Me.typeCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ExemptionReason() As TextType
+ Get
+ Return Me.exemptionReasonField
+ End Get
+ Set
+ Me.exemptionReasonField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BasisAmount() As AmountType()
+ Get
+ Return Me.basisAmountField
+ End Get
+ Set
+ Me.basisAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property LineTotalBasisAmount() As AmountType()
+ Get
+ Return Me.lineTotalBasisAmountField
+ End Get
+ Set
+ Me.lineTotalBasisAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AllowanceChargeBasisAmount() As AmountType()
+ Get
+ Return Me.allowanceChargeBasisAmountField
+ End Get
+ Set
+ Me.allowanceChargeBasisAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CategoryCode() As TaxCategoryCodeType
+ Get
+ Return Me.categoryCodeField
+ End Get
+ Set
+ Me.categoryCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ApplicablePercent() As PercentType
+ Get
+ Return Me.applicablePercentField
+ End Get
+ Set
+ Me.applicablePercentField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TaxTypeCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TaxCategoryCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class SupplyChainTradeDeliveryType
+
+ Private billedQuantityField As QuantityType
+
+ Private chargeFreeQuantityField As QuantityType
+
+ Private packageQuantityField As QuantityType
+
+ Private relatedSupplyChainConsignmentField() As LogisticsTransportMovementType
+
+ Private shipToTradePartyField As TradePartyType
+
+ Private ultimateShipToTradePartyField As TradePartyType
+
+ Private shipFromTradePartyField As TradePartyType
+
+ Private actualDeliverySupplyChainEventField() As DateTimeType
+
+ Private despatchAdviceReferencedDocumentField As ReferencedDocumentType
+
+ Private receivingAdviceReferencedDocumentField() As ReferencedDocumentType
+
+ Private deliveryNoteReferencedDocumentField As ReferencedDocumentType
+
+ '''
+ Public Property BilledQuantity() As QuantityType
+ Get
+ Return Me.billedQuantityField
+ End Get
+ Set
+ Me.billedQuantityField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ChargeFreeQuantity() As QuantityType
+ Get
+ Return Me.chargeFreeQuantityField
+ End Get
+ Set
+ Me.chargeFreeQuantityField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property PackageQuantity() As QuantityType
+ Get
+ Return Me.packageQuantityField
+ End Get
+ Set
+ Me.packageQuantityField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property RelatedSupplyChainConsignment() As LogisticsTransportMovementType()
+ Get
+ Return Me.relatedSupplyChainConsignmentField
+ End Get
+ Set
+ Me.relatedSupplyChainConsignmentField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ShipToTradeParty() As TradePartyType
+ Get
+ Return Me.shipToTradePartyField
+ End Get
+ Set
+ Me.shipToTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property UltimateShipToTradeParty() As TradePartyType
+ Get
+ Return Me.ultimateShipToTradePartyField
+ End Get
+ Set
+ Me.ultimateShipToTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ShipFromTradeParty() As TradePartyType
+ Get
+ Return Me.shipFromTradePartyField
+ End Get
+ Set
+ Me.shipFromTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ActualDeliverySupplyChainEvent() As DateTimeType()
+ Get
+ Return Me.actualDeliverySupplyChainEventField
+ End Get
+ Set
+ Me.actualDeliverySupplyChainEventField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property DespatchAdviceReferencedDocument() As ReferencedDocumentType
+ Get
+ Return Me.despatchAdviceReferencedDocumentField
+ End Get
+ Set
+ Me.despatchAdviceReferencedDocumentField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ReceivingAdviceReferencedDocument() As ReferencedDocumentType()
+ Get
+ Return Me.receivingAdviceReferencedDocumentField
+ End Get
+ Set
+ Me.receivingAdviceReferencedDocumentField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property DeliveryNoteReferencedDocument() As ReferencedDocumentType
+ Get
+ Return Me.deliveryNoteReferencedDocumentField
+ End Get
+ Set
+ Me.deliveryNoteReferencedDocumentField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class LogisticsTransportMovementType
+
+ Private modeCodeField As CodeType
+
+ Private idField As IDType
+
+ '''
+ Public Property ModeCode() As CodeType
+ Get
+ Return Me.modeCodeField
+ End Get
+ Set
+ Me.modeCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ID() As IDType
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DateTimeType
+
+ Private itemField As DateTimeTypeDateTimeString
+
+ '''
+
+ Public Property Item() As DateTimeTypeDateTimeString
+ Get
+ Return Me.itemField
+ End Get
+ Set
+ Me.itemField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DateTimeTypeDateTimeString
+
+ Private formatField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property format() As String
+ Get
+ Return Me.formatField
+ End Get
+ Set
+ Me.formatField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class SupplyChainTradeSettlementType
+
+ Private paymentReferenceField() As TextType
+
+ Private invoiceCurrencyCodeField As CodeType
+
+ Private invoiceeTradePartyField As TradePartyType
+
+ Private payeeTradePartyField() As TradePartyType
+
+ Private specifiedTradeSettlementPaymentMeansField() As TradeSettlementPaymentMeansType
+
+ Private applicableTradeTaxField() As TradeTaxType
+
+ Private billingSpecifiedPeriodField() As SpecifiedPeriodType
+
+ Private specifiedTradeAllowanceChargeField() As TradeAllowanceChargeType
+
+ Private specifiedLogisticsServiceChargeField() As LogisticsServiceChargeType
+
+ Private specifiedTradePaymentTermsField() As TradePaymentTermsType
+
+ Private specifiedTradeAccountingAccountField() As TradeAccountingAccountType
+
+ Private specifiedTradeSettlementMonetarySummationField As TradeSettlementMonetarySummationType
+
+ Private receivableSpecifiedTradeAccountingAccountField() As TradeAccountingAccountType
+
+ '''
+
+ Public Property PaymentReference() As TextType()
+ Get
+ Return Me.paymentReferenceField
+ End Get
+ Set
+ Me.paymentReferenceField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property InvoiceCurrencyCode() As CodeType
+ Get
+ Return Me.invoiceCurrencyCodeField
+ End Get
+ Set
+ Me.invoiceCurrencyCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property InvoiceeTradeParty() As TradePartyType
+ Get
+ Return Me.invoiceeTradePartyField
+ End Get
+ Set
+ Me.invoiceeTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property PayeeTradeParty() As TradePartyType()
+ Get
+ Return Me.payeeTradePartyField
+ End Get
+ Set
+ Me.payeeTradePartyField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property SpecifiedTradeSettlementPaymentMeans() As TradeSettlementPaymentMeansType()
+ Get
+ Return Me.specifiedTradeSettlementPaymentMeansField
+ End Get
+ Set
+ Me.specifiedTradeSettlementPaymentMeansField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ApplicableTradeTax() As TradeTaxType()
+ Get
+ Return Me.applicableTradeTaxField
+ End Get
+ Set
+ Me.applicableTradeTaxField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BillingSpecifiedPeriod() As SpecifiedPeriodType()
+ Get
+ Return Me.billingSpecifiedPeriodField
+ End Get
+ Set
+ Me.billingSpecifiedPeriodField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property SpecifiedTradeAllowanceCharge() As TradeAllowanceChargeType()
+ Get
+ Return Me.specifiedTradeAllowanceChargeField
+ End Get
+ Set
+ Me.specifiedTradeAllowanceChargeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property SpecifiedLogisticsServiceCharge() As LogisticsServiceChargeType()
+ Get
+ Return Me.specifiedLogisticsServiceChargeField
+ End Get
+ Set
+ Me.specifiedLogisticsServiceChargeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property SpecifiedTradePaymentTerms() As TradePaymentTermsType()
+ Get
+ Return Me.specifiedTradePaymentTermsField
+ End Get
+ Set
+ Me.specifiedTradePaymentTermsField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property SpecifiedTradeAccountingAccount() As TradeAccountingAccountType()
+ Get
+ Return Me.specifiedTradeAccountingAccountField
+ End Get
+ Set
+ Me.specifiedTradeAccountingAccountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property SpecifiedTradeSettlementMonetarySummation() As TradeSettlementMonetarySummationType
+ Get
+ Return Me.specifiedTradeSettlementMonetarySummationField
+ End Get
+ Set
+ Me.specifiedTradeSettlementMonetarySummationField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ReceivableSpecifiedTradeAccountingAccount() As TradeAccountingAccountType()
+ Get
+ Return Me.receivableSpecifiedTradeAccountingAccountField
+ End Get
+ Set
+ Me.receivableSpecifiedTradeAccountingAccountField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeSettlementPaymentMeansType
+
+ Private typeCodeField As PaymentMeansCodeType
+
+ Private informationField() As TextType
+
+ Private idField() As IDType
+
+ Private payerPartyDebtorFinancialAccountField As DebtorFinancialAccountType
+
+ Private payeePartyCreditorFinancialAccountField As CreditorFinancialAccountType
+
+ Private payerSpecifiedDebtorFinancialInstitutionField As DebtorFinancialInstitutionType
+
+ Private payeeSpecifiedCreditorFinancialInstitutionField As CreditorFinancialInstitutionType
+
+ '''
+ Public Property TypeCode() As PaymentMeansCodeType
+ Get
+ Return Me.typeCodeField
+ End Get
+ Set
+ Me.typeCodeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Information() As TextType()
+ Get
+ Return Me.informationField
+ End Get
+ Set
+ Me.informationField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ID() As IDType()
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property PayerPartyDebtorFinancialAccount() As DebtorFinancialAccountType
+ Get
+ Return Me.payerPartyDebtorFinancialAccountField
+ End Get
+ Set
+ Me.payerPartyDebtorFinancialAccountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property PayeePartyCreditorFinancialAccount() As CreditorFinancialAccountType
+ Get
+ Return Me.payeePartyCreditorFinancialAccountField
+ End Get
+ Set
+ Me.payeePartyCreditorFinancialAccountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property PayerSpecifiedDebtorFinancialInstitution() As DebtorFinancialInstitutionType
+ Get
+ Return Me.payerSpecifiedDebtorFinancialInstitutionField
+ End Get
+ Set
+ Me.payerSpecifiedDebtorFinancialInstitutionField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property PayeeSpecifiedCreditorFinancialInstitution() As CreditorFinancialInstitutionType
+ Get
+ Return Me.payeeSpecifiedCreditorFinancialInstitutionField
+ End Get
+ Set
+ Me.payeeSpecifiedCreditorFinancialInstitutionField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class PaymentMeansCodeType
+
+ Private valueField As String
+
+ '''
+
+ Public Property Value() As String
+ Get
+ Return Me.valueField
+ End Get
+ Set
+ Me.valueField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DebtorFinancialAccountType
+
+ Private iBANIDField As IDType
+
+ Private proprietaryIDField As IDType
+
+ '''
+ Public Property IBANID() As IDType
+ Get
+ Return Me.iBANIDField
+ End Get
+ Set
+ Me.iBANIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ProprietaryID() As IDType
+ Get
+ Return Me.proprietaryIDField
+ End Get
+ Set
+ Me.proprietaryIDField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class CreditorFinancialAccountType
+
+ Private iBANIDField As IDType
+
+ Private accountNameField As TextType
+
+ Private proprietaryIDField As IDType
+
+ '''
+ Public Property IBANID() As IDType
+ Get
+ Return Me.iBANIDField
+ End Get
+ Set
+ Me.iBANIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property AccountName() As TextType
+ Get
+ Return Me.accountNameField
+ End Get
+ Set
+ Me.accountNameField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ProprietaryID() As IDType
+ Get
+ Return Me.proprietaryIDField
+ End Get
+ Set
+ Me.proprietaryIDField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DebtorFinancialInstitutionType
+
+ Private bICIDField As IDType
+
+ Private germanBankleitzahlIDField As IDType
+
+ Private nameField As TextType
+
+ '''
+ Public Property BICID() As IDType
+ Get
+ Return Me.bICIDField
+ End Get
+ Set
+ Me.bICIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property GermanBankleitzahlID() As IDType
+ Get
+ Return Me.germanBankleitzahlIDField
+ End Get
+ Set
+ Me.germanBankleitzahlIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property Name() As TextType
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class CreditorFinancialInstitutionType
+
+ Private bICIDField As IDType
+
+ Private germanBankleitzahlIDField As IDType
+
+ Private nameField As TextType
+
+ '''
+ Public Property BICID() As IDType
+ Get
+ Return Me.bICIDField
+ End Get
+ Set
+ Me.bICIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property GermanBankleitzahlID() As IDType
+ Get
+ Return Me.germanBankleitzahlIDField
+ End Get
+ Set
+ Me.germanBankleitzahlIDField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property Name() As TextType
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class SpecifiedPeriodType
+
+ Private startDateTimeField As DateTimeType
+
+ Private endDateTimeField As DateTimeType
+
+ Private completeDateTimeField As DateTimeType
+
+ '''
+ Public Property StartDateTime() As DateTimeType
+ Get
+ Return Me.startDateTimeField
+ End Get
+ Set
+ Me.startDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property EndDateTime() As DateTimeType
+ Get
+ Return Me.endDateTimeField
+ End Get
+ Set
+ Me.endDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CompleteDateTime() As DateTimeType
+ Get
+ Return Me.completeDateTimeField
+ End Get
+ Set
+ Me.completeDateTimeField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class LogisticsServiceChargeType
+
+ Private descriptionField() As TextType
+
+ Private appliedAmountField() As AmountType
+
+ Private appliedTradeTaxField() As TradeTaxType
+
+ '''
+
+ Public Property Description() As TextType()
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AppliedAmount() As AmountType()
+ Get
+ Return Me.appliedAmountField
+ End Get
+ Set
+ Me.appliedAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AppliedTradeTax() As TradeTaxType()
+ Get
+ Return Me.appliedTradeTaxField
+ End Get
+ Set
+ Me.appliedTradeTaxField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradePaymentTermsType
+
+ Private descriptionField() As TextType
+
+ Private dueDateDateTimeField As DateTimeType
+
+ Private partialPaymentAmountField() As AmountType
+
+ Private applicableTradePaymentPenaltyTermsField() As TradePaymentPenaltyTermsType
+
+ Private applicableTradePaymentDiscountTermsField() As TradePaymentDiscountTermsType
+
+ '''
+
+ Public Property Description() As TextType()
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property DueDateDateTime() As DateTimeType
+ Get
+ Return Me.dueDateDateTimeField
+ End Get
+ Set
+ Me.dueDateDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property PartialPaymentAmount() As AmountType()
+ Get
+ Return Me.partialPaymentAmountField
+ End Get
+ Set
+ Me.partialPaymentAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ApplicableTradePaymentPenaltyTerms() As TradePaymentPenaltyTermsType()
+ Get
+ Return Me.applicableTradePaymentPenaltyTermsField
+ End Get
+ Set
+ Me.applicableTradePaymentPenaltyTermsField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ApplicableTradePaymentDiscountTerms() As TradePaymentDiscountTermsType()
+ Get
+ Return Me.applicableTradePaymentDiscountTermsField
+ End Get
+ Set
+ Me.applicableTradePaymentDiscountTermsField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradePaymentPenaltyTermsType
+
+ Private basisDateTimeField As DateTimeType
+
+ Private basisPeriodMeasureField As MeasureType
+
+ Private basisAmountField() As AmountType
+
+ Private calculationPercentField As PercentType
+
+ Private actualPenaltyAmountField() As AmountType
+
+ '''
+ Public Property BasisDateTime() As DateTimeType
+ Get
+ Return Me.basisDateTimeField
+ End Get
+ Set
+ Me.basisDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BasisPeriodMeasure() As MeasureType
+ Get
+ Return Me.basisPeriodMeasureField
+ End Get
+ Set
+ Me.basisPeriodMeasureField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BasisAmount() As AmountType()
+ Get
+ Return Me.basisAmountField
+ End Get
+ Set
+ Me.basisAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CalculationPercent() As PercentType
+ Get
+ Return Me.calculationPercentField
+ End Get
+ Set
+ Me.calculationPercentField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ActualPenaltyAmount() As AmountType()
+ Get
+ Return Me.actualPenaltyAmountField
+ End Get
+ Set
+ Me.actualPenaltyAmountField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradePaymentDiscountTermsType
+
+ Private basisDateTimeField As DateTimeType
+
+ Private basisPeriodMeasureField As MeasureType
+
+ Private basisAmountField() As AmountType
+
+ Private calculationPercentField As PercentType
+
+ Private actualDiscountAmountField() As AmountType
+
+ '''
+ Public Property BasisDateTime() As DateTimeType
+ Get
+ Return Me.basisDateTimeField
+ End Get
+ Set
+ Me.basisDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property BasisPeriodMeasure() As MeasureType
+ Get
+ Return Me.basisPeriodMeasureField
+ End Get
+ Set
+ Me.basisPeriodMeasureField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BasisAmount() As AmountType()
+ Get
+ Return Me.basisAmountField
+ End Get
+ Set
+ Me.basisAmountField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CalculationPercent() As PercentType
+ Get
+ Return Me.calculationPercentField
+ End Get
+ Set
+ Me.calculationPercentField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ActualDiscountAmount() As AmountType()
+ Get
+ Return Me.actualDiscountAmountField
+ End Get
+ Set
+ Me.actualDiscountAmountField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeAccountingAccountType
+
+ Private idField As IDType
+
+ '''
+ Public Property ID() As IDType
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class TradeSettlementMonetarySummationType
+
+ Private lineTotalAmountField() As AmountType
+
+ Private chargeTotalAmountField() As AmountType
+
+ Private allowanceTotalAmountField() As AmountType
+
+ Private taxBasisTotalAmountField() As AmountType
+
+ Private taxTotalAmountField() As AmountType
+
+ Private grandTotalAmountField() As AmountType
+
+ Private totalPrepaidAmountField() As AmountType
+
+ Private totalAllowanceChargeAmountField() As AmountType
+
+ Private duePayableAmountField() As AmountType
+
+ '''
+
+ Public Property LineTotalAmount() As AmountType()
+ Get
+ Return Me.lineTotalAmountField
+ End Get
+ Set
+ Me.lineTotalAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ChargeTotalAmount() As AmountType()
+ Get
+ Return Me.chargeTotalAmountField
+ End Get
+ Set
+ Me.chargeTotalAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AllowanceTotalAmount() As AmountType()
+ Get
+ Return Me.allowanceTotalAmountField
+ End Get
+ Set
+ Me.allowanceTotalAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TaxBasisTotalAmount() As AmountType()
+ Get
+ Return Me.taxBasisTotalAmountField
+ End Get
+ Set
+ Me.taxBasisTotalAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TaxTotalAmount() As AmountType()
+ Get
+ Return Me.taxTotalAmountField
+ End Get
+ Set
+ Me.taxTotalAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property GrandTotalAmount() As AmountType()
+ Get
+ Return Me.grandTotalAmountField
+ End Get
+ Set
+ Me.grandTotalAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TotalPrepaidAmount() As AmountType()
+ Get
+ Return Me.totalPrepaidAmountField
+ End Get
+ Set
+ Me.totalPrepaidAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TotalAllowanceChargeAmount() As AmountType()
+ Get
+ Return Me.totalAllowanceChargeAmountField
+ End Get
+ Set
+ Me.totalAllowanceChargeAmountField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DuePayableAmount() As AmountType()
+ Get
+ Return Me.duePayableAmountField
+ End Get
+ Set
+ Me.duePayableAmountField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class SupplyChainTradeTransactionType
+
+ Private applicableSupplyChainTradeAgreementField() As SupplyChainTradeAgreementType
+
+ Private applicableSupplyChainTradeDeliveryField As SupplyChainTradeDeliveryType
+
+ Private applicableSupplyChainTradeSettlementField As SupplyChainTradeSettlementType
+
+ Private includedSupplyChainTradeLineItemField() As SupplyChainTradeLineItemType
+
+ '''
+
+ Public Property ApplicableSupplyChainTradeAgreement() As SupplyChainTradeAgreementType()
+ Get
+ Return Me.applicableSupplyChainTradeAgreementField
+ End Get
+ Set
+ Me.applicableSupplyChainTradeAgreementField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ApplicableSupplyChainTradeDelivery() As SupplyChainTradeDeliveryType
+ Get
+ Return Me.applicableSupplyChainTradeDeliveryField
+ End Get
+ Set
+ Me.applicableSupplyChainTradeDeliveryField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property ApplicableSupplyChainTradeSettlement() As SupplyChainTradeSettlementType
+ Get
+ Return Me.applicableSupplyChainTradeSettlementField
+ End Get
+ Set
+ Me.applicableSupplyChainTradeSettlementField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property IncludedSupplyChainTradeLineItem() As SupplyChainTradeLineItemType()
+ Get
+ Return Me.includedSupplyChainTradeLineItemField
+ End Get
+ Set
+ Me.includedSupplyChainTradeLineItemField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class ExchangedDocumentType
+
+ Private idField As IDType
+
+ Private nameField() As TextType
+
+ Private typeCodeField As DocumentCodeType
+
+ Private issueDateTimeField As DateTimeType
+
+ Private copyIndicatorField As IndicatorType
+
+ Private languageIDField() As IDType
+
+ Private includedNoteField() As NoteType
+
+ Private effectiveSpecifiedPeriodField As SpecifiedPeriodType
+
+ '''
+ Public Property ID() As IDType
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Name() As TextType()
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property TypeCode() As DocumentCodeType
+ Get
+ Return Me.typeCodeField
+ End Get
+ Set
+ Me.typeCodeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property IssueDateTime() As DateTimeType
+ Get
+ Return Me.issueDateTimeField
+ End Get
+ Set
+ Me.issueDateTimeField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property CopyIndicator() As IndicatorType
+ Get
+ Return Me.copyIndicatorField
+ End Get
+ Set
+ Me.copyIndicatorField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property LanguageID() As IDType()
+ Get
+ Return Me.languageIDField
+ End Get
+ Set
+ Me.languageIDField = Value
+ End Set
+ End Property
+
+ '''
+
+ Public Property IncludedNote() As NoteType()
+ Get
+ Return Me.includedNoteField
+ End Get
+ Set
+ Me.includedNoteField = Value
+ End Set
+ End Property
+
+ '''
+ Public Property EffectiveSpecifiedPeriod() As SpecifiedPeriodType
+ Get
+ Return Me.effectiveSpecifiedPeriodField
+ End Get
+ Set
+ Me.effectiveSpecifiedPeriodField = Value
+ End Set
+ End Property
+End Class
+
+'''
+
+Partial Public Class DocumentContextParameterType
+
+ Private idField As IDType
+
+ '''
+ Public Property ID() As IDType
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = Value
+ End Set
+ End Property
+End Class
diff --git a/Modules.Interfaces/ZUGFeRDInterface.vb b/Modules.Interfaces/ZUGFeRDInterface.vb
index ee282ad0..8dd60e8c 100644
--- a/Modules.Interfaces/ZUGFeRDInterface.vb
+++ b/Modules.Interfaces/ZUGFeRDInterface.vb
@@ -1,4 +1,7 @@
Imports System.Xml
+Imports System.Xml.Serialization
+Imports System.Xml.XPath
+Imports System.Xml.Xsl
Imports DigitalData.Modules.Interfaces.Exceptions
Imports DigitalData.Modules.Logging
@@ -25,7 +28,7 @@ Public Class ZUGFeRDInterface
'''
'''
'''
- Public Function ExtractXMLFile(Path As String) As XmlDocument
+ Public Function ExtractXMLFile(Path As String) As XPathDocument
Dim oException As New Exception
Dim oXmlDocument = ExtractZugferd(Path)
@@ -36,10 +39,10 @@ Public Class ZUGFeRDInterface
Return oXmlDocument
End Function
- Public Function ExtractZugferd(Path As String) As XmlDocument
+ Public Function ExtractZugferd(Path As String) As XPathDocument
Dim oProcessOutput, oProcessError, oFileContent As String
- Dim oXmlDocument As New XmlDocument()
- Dim oTempFile = IO.Path.GetTempFileName()
+ Dim oXmlDocument As XPathDocument
+ Dim oTempFile = System.IO.Path.GetTempFileName()
Dim oProcessStartInfo As New ProcessStartInfo() With {
.FileName = ZUGFERD_CONVERTER_EXE,
@@ -68,14 +71,8 @@ Public Class ZUGFeRDInterface
End If
Try
- oFileContent = IO.File.ReadAllText(oTempFile)
- Catch ex As Exception
- _logger.Error(ex)
- Return Nothing
- End Try
+ oXmlDocument = New XPath.XPathDocument(oTempFile)
- Try
- oXmlDocument.LoadXml(oFileContent)
Catch ex As Exception
_logger.Error(ex)
Return Nothing
@@ -84,31 +81,11 @@ Public Class ZUGFeRDInterface
Return oXmlDocument
End Function
- Private Function CheckZugferd(Path As String) As Boolean
- Dim oProcessOutput, oProcessError As String
- Dim oProcessStartInfo As New ProcessStartInfo() With {
- .FileName = ZUGFERD_CONVERTER_EXE,
- .RedirectStandardError = True,
- .RedirectStandardOutput = True,
- .UseShellExecute = False,
- .Arguments = $"-i {Path}"
- }
- Dim oProcess As New Process() With {
- .StartInfo = oProcessStartInfo
- }
+ Public Function ParseXMLDocument(doc As XPathDocument)
+ Dim nav As XPathNavigator = doc.CreateNavigator()
+ Dim reader = nav.ReadSubtree()
- Try
- oProcess.Start()
- oProcessOutput = oProcess.StandardOutput.ReadToEnd()
- oProcessError = oProcess.StandardError.ReadToEnd()
- oProcess.WaitForExit()
- Catch ex As Exception
- _logger.Error(ex)
- Return False
- End Try
-
-
-
- Return True
+ Dim serializer As New XmlSerializer(GetType(CrossIndustryDocumentType))
+ Dim cross As CrossIndustryDocumentType = serializer.Deserialize(reader)
End Function
End Class
diff --git a/Modules.Interfaces/packages.config b/Modules.Interfaces/packages.config
index f89fa324..dba90a58 100644
--- a/Modules.Interfaces/packages.config
+++ b/Modules.Interfaces/packages.config
@@ -1,4 +1,5 @@
+
\ No newline at end of file
diff --git a/ZUGFeRDTest/Form1.vb b/ZUGFeRDTest/Form1.vb
index effe1aff..bb004c6a 100644
--- a/ZUGFeRDTest/Form1.vb
+++ b/ZUGFeRDTest/Form1.vb
@@ -14,7 +14,9 @@ Public Class Form1
Dim zugferd As ZUGFeRDInterface = New ZUGFeRDInterface(logConfig)
If oFDialogResult = DialogResult.OK Then
- Dim xml As XmlDocument = zugferd.ExtractXMLFile(OpenFileDialog1.FileName)
+ Dim xml As XPath.XPathDocument = zugferd.ExtractXMLFile(OpenFileDialog1.FileName)
+
+ zugferd.ParseXMLDocument(xml)
MsgBox("YAY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
End If