diff --git a/Interfaces/Interfaces.vbproj b/Interfaces/Interfaces.vbproj
index c53a17bb..7a8dac7e 100644
--- a/Interfaces/Interfaces.vbproj
+++ b/Interfaces/Interfaces.vbproj
@@ -265,6 +265,7 @@
+
diff --git a/Interfaces/ZUGFeRDInterface.vb b/Interfaces/ZUGFeRDInterface.vb
index f88bdf26..9af7367f 100644
--- a/Interfaces/ZUGFeRDInterface.vb
+++ b/Interfaces/ZUGFeRDInterface.vb
@@ -3,6 +3,7 @@ Imports System.Xml
Imports System.Xml.Serialization
Imports DigitalData.Modules.Interfaces.Exceptions
Imports DigitalData.Modules.Interfaces.PDFEmbeds
+Imports DigitalData.Modules.Interfaces.PropertyValues
Imports DigitalData.Modules.Interfaces.ZUGFeRD
Imports DigitalData.Modules.Logging
Imports GdPicture14
@@ -21,8 +22,6 @@ Public Class ZUGFeRDInterface
Public Const ZUGFERD_SPEC_2x = "ZUGFERD_2x"
Public Const ZUGFERD_SPEC_2_3x = "ZUGFERD_2_3x"
- Public Const UBL_SPEC_21 = "UBL_21"
-
Public Const XMLSCHEMA_ZUGFERD_10 = "Version1_0"
Public Const XMLSCHEMA_ZUGFERD_20 = "Version2_0"
Public Const XMLSCHEMA_ZUGFERD_211 = "Version2_1_1"
@@ -31,9 +30,14 @@ Public Class ZUGFeRDInterface
Public Const XMLSCHEMA_ZUGFERD_233 = "Version2_3_3_FacturX"
Public Const XMLSCHEMA_ZUGFERD_24 = "Version2_4_FacturX"
Public Const XMLSCHEMA_ZUGFERD_25 = "Version2_5_FacturX"
+
+ Public Const UBL_SPEC_21 = "UBL_21"
Public Const XMLSCHEMA_UBL_21_INVOICE = "UBL2_1_INVOICE"
Public Const XMLSCHEMA_UBL_21_CREDITNOTE = "UBL2_1_CREDITNOTE"
+ Public Const EBINTERFACE_SPEC_61 = "EBINTERFACE_61"
+ Public Const XMLSCHEMA_EBINTERFACE_61 = "Version6_1"
+
Public Const RECEIPT_TYPE_XML = "XML"
Public Const RECEIPT_TYPE_PDF = "PDF"
@@ -67,6 +71,7 @@ Public Class ZUGFeRDInterface
Public Property AllowZugferd_2_x_Schema As Boolean = True
Public Property AllowZugferd_2_3_x_Schema As Boolean = True
Public Property AllowPeppol_3_x_Schema As Boolean = False
+ Public Property AllowEBInterface_Schema As Boolean = False
End Class
Public Class ZugferdResult
@@ -152,6 +157,20 @@ Public Class ZUGFeRDInterface
Where(Function(kv) kv.Specification = pSpecification Or kv.Specification = ZUGFERD_SPEC_DEFAULT).
ToDictionary(Function(kv) kv.XMLPath, Function(kv) kv)
+ Catch ex As Exception
+ _logger.Error(ex)
+ End Try
+ ElseIf pSpecification = EBINTERFACE_SPEC_61 Then
+
+ Try
+ ' root-Elemente werden hier herausgefiltert
+ Dim countElements As Integer = pPropertyMapList.Where(Function(x) x.Specification = pSpecification And Not x.XMLPath.StartsWith("root.")).Count
+ _logger.Debug("Property map list contains [{0}] elements for specification [{1}]", countElements, pSpecification)
+
+ Return pPropertyMapList.
+ Where(Function(kv) kv.Specification = pSpecification And Not kv.XMLPath.StartsWith("root.")).
+ ToDictionary(Function(kv) kv.XMLPath, Function(kv) kv)
+
Catch ex As Exception
_logger.Error(ex)
End Try
@@ -174,6 +193,28 @@ Public Class ZUGFeRDInterface
Return Nothing
End Function
+ Public Function FilterRootPropertyMap(pPropertyMapList As List(Of XmlItemProperty), pSpecification As String) As Dictionary(Of String, XmlItemProperty)
+
+ ' Aktuell verwendet nur ebeInterafce attribute im root-Knoten
+ If pSpecification = EBINTERFACE_SPEC_61 Then
+ Try
+ ' root-Elemente werden hier herausgefiltert
+ Dim countElements As Integer = pPropertyMapList.Where(Function(x) x.Specification = pSpecification And x.XMLPath.StartsWith("root.")).Count
+ _logger.Debug("Property map list contains [{0}] root attribute elements for specification [{1}]", countElements, pSpecification)
+
+ Return pPropertyMapList.
+ Where(Function(kv) kv.Specification = pSpecification And kv.XMLPath.StartsWith("root.")).
+ ToDictionary(Function(kv) kv.XMLPath, Function(kv) kv)
+
+ Catch ex As Exception
+ _logger.Error(ex)
+ End Try
+ Else
+ Return Nothing
+ End If
+
+ End Function
+
Public Function GetSerializedXMLContentFromFile(oFileInfo As FileInfo) As ZugferdResult
Dim oResult = New ZugferdResult()
Dim oMessage As String = String.Empty
@@ -455,6 +496,16 @@ Public Class ZUGFeRDInterface
})
End If
+ If _Options.AllowEBInterface_Schema Then
+ oAllowedTypes.AddRange(New List(Of AllowedType) From {
+ New AllowedType With {
+ .SchemaType = GetType(EBINTERFACE_61.InvoiceType),
+ .Specification = EBINTERFACE_SPEC_61,
+ .XMLSchema = XMLSCHEMA_EBINTERFACE_61
+ }
+ })
+ End If
+
For Each oType In oAllowedTypes
Dim oTypeName As String = oType.SchemaType.FullName
Dim oSerializer As New XmlSerializer(oType.SchemaType)
@@ -497,4 +548,5 @@ Public Class ZUGFeRDInterface
Throw New ZUGFeRDExecption(ErrorCodes.UnsupportedFerdException, oMessage)
End Try
End Function
+
End Class
diff --git a/Interfaces/ZUGFeRDInterface/PropertyValues.vb b/Interfaces/ZUGFeRDInterface/PropertyValues.vb
index 129b2069..5c968b6f 100644
--- a/Interfaces/ZUGFeRDInterface/PropertyValues.vb
+++ b/Interfaces/ZUGFeRDInterface/PropertyValues.vb
@@ -275,6 +275,121 @@ Public Class PropertyValues
Return oResult
End Function
+ Public Function CheckRootAttributeValues(pDocument As Object, pPropertyMap As Dictionary(Of String, XmlItemProperty), pMessageId As String, pCheckResult As CheckPropertyValuesResult) As CheckPropertyValuesResult
+
+ If pPropertyMap Is Nothing Then
+ Return pCheckResult
+ End If
+
+ ' PropertyMap items with `IsGrouped = False` are handled normally
+ Dim oRootAttributeProperties As Dictionary(Of String, XmlItemProperty) = pPropertyMap.
+ ToDictionary(Function(Item) Item.Key,
+ Function(Item) Item.Value)
+
+ For Each oItem As KeyValuePair(Of String, XmlItemProperty) In oRootAttributeProperties
+ Dim oTableColumn As String = oItem.Value.TableColumn
+ Dim oPropertyDescription As String = oItem.Value.Description
+ Dim oPropertyPath As String = oItem.Value.XMLPath
+ Dim oPropertyValue As Object = Nothing
+ Dim oTableName = oItem.Value.TableName
+ Dim oIsRequired = oItem.Value.IsRequired
+ Dim oDescription = oItem.Value.Description
+ Dim oItemType = oItem.Value.ItemType
+ Dim oEN16931_ID = oItem.Value.EN16931_ID
+
+ Try
+ oPropertyValue = GetRootAttributeValue(pDocument, oItem.Key)
+ Catch ex As Exception
+ _logger.Error(ex)
+ oPropertyValue = Nothing
+ End Try
+
+ If IsNothing(oPropertyValue) OrElse String.IsNullOrEmpty(oPropertyValue) Then
+ If oItem.Value.IsRequired Then
+ _logger.Warn("Column [{0}] is empty, but marked as required! Adding MissingProperty.", oTableColumn)
+ Dim oMissingProperty = New MissingProperty With
+ {
+ .EN16931_ID = oEN16931_ID,
+ .Description = oPropertyDescription,
+ .XMLPath = oPropertyPath
+ }
+ pCheckResult.MissingProperties.Add(oMissingProperty)
+ Continue For
+ Else
+ _logger.Debug("oPropertyValue for Column [{0}] is empty or not found. Skipping.", oTableColumn)
+ Continue For
+ End If
+ End If
+
+ If pDocument.Specification = "EBINTERFACE_61" Then
+
+ ' ebInterface DocumentType in UNTDID 1001 — Document type
+ If oTableColumn = "INVOICE_TYPE" Then
+ oPropertyValue = GetUNTDID1001_DocumentType(oPropertyValue)
+ End If
+
+ End If
+
+ pCheckResult.ValidProperties.Add(New ValidProperty() With {
+ .MessageId = pMessageId,
+ .Description = oPropertyDescription,
+ .Value = oPropertyValue,
+ .GroupCounter = 0,
+ .TableName = oTableName,
+ .TableColumn = oTableColumn,
+ .IsRequired = oIsRequired,
+ .XMLPath = oPropertyPath,
+ .ItemType = oItemType,
+ .EN16931_ID = oEN16931_ID
+ })
+
+ Next
+
+ Return pCheckResult
+ End Function
+
+ Private Function GetUNTDID1001_DocumentType(oPropertyValue As String) As String
+
+ Select Case oPropertyValue
+ Case "CreditMemo"
+ Return 1
+ Case "FinalSettlement"
+ Return 1
+ Case "Invoice"
+ Return 380
+ Case "InvoiceForAdvancePayment"
+ Return 1
+ Case "InvoiceForPartialDelivery"
+ Return 1
+ Case "SelfBilling"
+ Return 1
+ Case "SubsequentCredit"
+ Return 1
+ Case "SubsequentDebit"
+ Return 1
+ Case Else
+ Return 380
+ End Select
+
+ End Function
+
+ Private Function GetRootAttributeValue(pDocument As Object, pXmlPath As String) As String
+ If pDocument.XElementObject Is Nothing Then
+ Return Nothing
+ End If
+
+ Try
+ Dim attributeName As String = pXmlPath.Replace("root.", "")
+ Dim attributeValue As String = pDocument.XElementObject.Attribute(attributeName).Value
+ Return attributeValue
+
+ Catch ex As Exception
+ _logger.Error(ex)
+ Return Nothing
+ End Try
+
+ End Function
+
Public Function GetPropValue(Obj As Object, PropertyName As String) As List(Of Object)
Dim oNameParts As String() = PropertyName.Split("."c)
diff --git a/Interfaces/ZUGFeRDInterface/ebInterface6.1/InvoiceType.vb b/Interfaces/ZUGFeRDInterface/ebInterface6.1/InvoiceType.vb
new file mode 100644
index 00000000..80500bff
--- /dev/null
+++ b/Interfaces/ZUGFeRDInterface/ebInterface6.1/InvoiceType.vb
@@ -0,0 +1,3373 @@
+'------------------------------------------------------------------------------
+'
+' 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
+
+'
+'Dieser Quellcode wurde automatisch generiert von xsd, Version=4.8.3928.0.
+'
+
+Namespace EBINTERFACE_61
+
+ '''
+
+ Partial Public Class InvoiceType
+
+ Private invoiceNumberField As String
+
+ Private invoiceDateField As Date
+
+ Private cancelledOriginalDocumentField As CancelledOriginalDocumentType
+
+ Private relatedDocumentField() As RelatedDocumentType
+
+ Private additionalInformationField() As AdditionalInformationType
+
+ Private currencyExchangeInformationField As CurrencyExchangeInformationType
+
+ Private deliveryField As DeliveryType
+
+ Private billerField As BillerType
+
+ Private invoiceRecipientField As InvoiceRecipientType
+
+ Private orderingPartyField As OrderingPartyType
+
+ Private detailsField As DetailsType
+
+ Private reductionAndSurchargeDetailsField As ReductionAndSurchargeDetailsType
+
+ Private taxField As TaxType
+
+ Private totalGrossAmountField As Decimal
+
+ Private prepaidAmountField As Decimal
+
+ Private prepaidAmountFieldSpecified As Boolean
+
+ Private roundingAmountField As Decimal
+
+ Private roundingAmountFieldSpecified As Boolean
+
+ Private payableAmountField As Decimal
+
+ Private paymentMethodField As PaymentMethodType
+
+ Private paymentConditionsField As PaymentConditionsType
+
+ Private commentField As String
+
+ Private extensionField() As CustomType
+
+ Private generatingSystemField As String
+
+ Private documentTypeField As DocumentTypeType
+
+ Private invoiceCurrencyField As String
+
+ Private manualProcessingField As Boolean
+
+ Private manualProcessingFieldSpecified As Boolean
+
+ Private documentTitleField As String
+
+ Private languageField As String
+
+ Private isDuplicateField As Boolean
+
+ Private isDuplicateFieldSpecified As Boolean
+
+ '''
+ Public Property InvoiceNumber() As String
+ Get
+ Return Me.invoiceNumberField
+ End Get
+ Set
+ Me.invoiceNumberField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property InvoiceDate() As Date
+ Get
+ Return Me.invoiceDateField
+ End Get
+ Set
+ Me.invoiceDateField = value
+ End Set
+ End Property
+
+ '''
+ Public Property CancelledOriginalDocument() As CancelledOriginalDocumentType
+ Get
+ Return Me.cancelledOriginalDocumentField
+ End Get
+ Set
+ Me.cancelledOriginalDocumentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property RelatedDocument() As RelatedDocumentType()
+ Get
+ Return Me.relatedDocumentField
+ End Get
+ Set
+ Me.relatedDocumentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AdditionalInformation() As AdditionalInformationType()
+ Get
+ Return Me.additionalInformationField
+ End Get
+ Set
+ Me.additionalInformationField = value
+ End Set
+ End Property
+
+ '''
+ Public Property CurrencyExchangeInformation() As CurrencyExchangeInformationType
+ Get
+ Return Me.currencyExchangeInformationField
+ End Get
+ Set
+ Me.currencyExchangeInformationField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Delivery() As DeliveryType
+ Get
+ Return Me.deliveryField
+ End Get
+ Set
+ Me.deliveryField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Biller() As BillerType
+ Get
+ Return Me.billerField
+ End Get
+ Set
+ Me.billerField = value
+ End Set
+ End Property
+
+ '''
+ Public Property InvoiceRecipient() As InvoiceRecipientType
+ Get
+ Return Me.invoiceRecipientField
+ End Get
+ Set
+ Me.invoiceRecipientField = value
+ End Set
+ End Property
+
+ '''
+ Public Property OrderingParty() As OrderingPartyType
+ Get
+ Return Me.orderingPartyField
+ End Get
+ Set
+ Me.orderingPartyField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Details() As DetailsType
+ Get
+ Return Me.detailsField
+ End Get
+ Set
+ Me.detailsField = value
+ End Set
+ End Property
+
+ '''
+ Public Property ReductionAndSurchargeDetails() As ReductionAndSurchargeDetailsType
+ Get
+ Return Me.reductionAndSurchargeDetailsField
+ End Get
+ Set
+ Me.reductionAndSurchargeDetailsField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Tax() As TaxType
+ Get
+ Return Me.taxField
+ End Get
+ Set
+ Me.taxField = value
+ End Set
+ End Property
+
+ '''
+ Public Property TotalGrossAmount() As Decimal
+ Get
+ Return Me.totalGrossAmountField
+ End Get
+ Set
+ Me.totalGrossAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property PrepaidAmount() As Decimal
+ Get
+ Return Me.prepaidAmountField
+ End Get
+ Set
+ Me.prepaidAmountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property PrepaidAmountSpecified() As Boolean
+ Get
+ Return Me.prepaidAmountFieldSpecified
+ End Get
+ Set
+ Me.prepaidAmountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property RoundingAmount() As Decimal
+ Get
+ Return Me.roundingAmountField
+ End Get
+ Set
+ Me.roundingAmountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property RoundingAmountSpecified() As Boolean
+ Get
+ Return Me.roundingAmountFieldSpecified
+ End Get
+ Set
+ Me.roundingAmountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property PayableAmount() As Decimal
+ Get
+ Return Me.payableAmountField
+ End Get
+ Set
+ Me.payableAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property PaymentMethod() As PaymentMethodType
+ Get
+ Return Me.paymentMethodField
+ End Get
+ Set
+ Me.paymentMethodField = value
+ End Set
+ End Property
+
+ '''
+ Public Property PaymentConditions() As PaymentConditionsType
+ Get
+ Return Me.paymentConditionsField
+ End Get
+ Set
+ Me.paymentConditionsField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property GeneratingSystem() As String
+ Get
+ Return Me.generatingSystemField
+ End Get
+ Set
+ Me.generatingSystemField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DocumentType() As DocumentTypeType
+ Get
+ Return Me.documentTypeField
+ End Get
+ Set
+ Me.documentTypeField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property InvoiceCurrency() As String
+ Get
+ Return Me.invoiceCurrencyField
+ End Get
+ Set
+ Me.invoiceCurrencyField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ManualProcessing() As Boolean
+ Get
+ Return Me.manualProcessingField
+ End Get
+ Set
+ Me.manualProcessingField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ManualProcessingSpecified() As Boolean
+ Get
+ Return Me.manualProcessingFieldSpecified
+ End Get
+ Set
+ Me.manualProcessingFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DocumentTitle() As String
+ Get
+ Return Me.documentTitleField
+ End Get
+ Set
+ Me.documentTitleField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Language() As String
+ Get
+ Return Me.languageField
+ End Get
+ Set
+ Me.languageField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property IsDuplicate() As Boolean
+ Get
+ Return Me.isDuplicateField
+ End Get
+ Set
+ Me.isDuplicateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property IsDuplicateSpecified() As Boolean
+ Get
+ Return Me.isDuplicateFieldSpecified
+ End Get
+ Set
+ Me.isDuplicateFieldSpecified = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class CancelledOriginalDocumentType
+
+ Private invoiceNumberField As String
+
+ Private invoiceDateField As Date
+
+ Private documentTypeField As DocumentTypeType
+
+ Private documentTypeFieldSpecified As Boolean
+
+ Private commentField As String
+
+ '''
+ Public Property InvoiceNumber() As String
+ Get
+ Return Me.invoiceNumberField
+ End Get
+ Set
+ Me.invoiceNumberField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property InvoiceDate() As Date
+ Get
+ Return Me.invoiceDateField
+ End Get
+ Set
+ Me.invoiceDateField = value
+ End Set
+ End Property
+
+ '''
+ Public Property DocumentType() As DocumentTypeType
+ Get
+ Return Me.documentTypeField
+ End Get
+ Set
+ Me.documentTypeField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DocumentTypeSpecified() As Boolean
+ Get
+ Return Me.documentTypeFieldSpecified
+ End Get
+ Set
+ Me.documentTypeFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Public Enum DocumentTypeType
+
+ '''
+ CreditMemo
+
+ '''
+ FinalSettlement
+
+ '''
+ Invoice
+
+ '''
+ InvoiceForAdvancePayment
+
+ '''
+ InvoiceForPartialDelivery
+
+ '''
+ SelfBilling
+
+ '''
+ SubsequentCredit
+
+ '''
+ SubsequentDebit
+ End Enum
+
+ '''
+
+ Partial Public Class AbstractPartyType
+
+ Private vATIdentificationNumberField As String
+
+ Private furtherIdentificationField() As FurtherIdentificationType
+
+ Private orderReferenceField As OrderReferenceType
+
+ Private addressField As AddressType
+
+ Private contactField As ContactType
+
+ '''
+ Public Property VATIdentificationNumber() As String
+ Get
+ Return Me.vATIdentificationNumberField
+ End Get
+ Set
+ Me.vATIdentificationNumberField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property FurtherIdentification() As FurtherIdentificationType()
+ Get
+ Return Me.furtherIdentificationField
+ End Get
+ Set
+ Me.furtherIdentificationField = value
+ End Set
+ End Property
+
+ '''
+ Public Property OrderReference() As OrderReferenceType
+ Get
+ Return Me.orderReferenceField
+ End Get
+ Set
+ Me.orderReferenceField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Address() As AddressType
+ Get
+ Return Me.addressField
+ End Get
+ Set
+ Me.addressField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Contact() As ContactType
+ Get
+ Return Me.contactField
+ End Get
+ Set
+ Me.contactField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class FurtherIdentificationType
+
+ Private identificationTypeField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property IdentificationType() As String
+ Get
+ Return Me.identificationTypeField
+ End Get
+ Set
+ Me.identificationTypeField = 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 OrderReferenceType
+
+ Private orderIDField As String
+
+ Private referenceDateField As Date
+
+ Private referenceDateFieldSpecified As Boolean
+
+ Private descriptionField As String
+
+ '''
+ Public Property OrderID() As String
+ Get
+ Return Me.orderIDField
+ End Get
+ Set
+ Me.orderIDField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ReferenceDate() As Date
+ Get
+ Return Me.referenceDateField
+ End Get
+ Set
+ Me.referenceDateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ReferenceDateSpecified() As Boolean
+ Get
+ Return Me.referenceDateFieldSpecified
+ End Get
+ Set
+ Me.referenceDateFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Description() As String
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class AddressType
+
+ Private addressIdentifierField() As AddressIdentifierType
+
+ Private nameField As String
+
+ Private tradingNameField As String
+
+ Private streetField As String
+
+ Private pOBoxField As String
+
+ Private townField As String
+
+ Private zIPField As String
+
+ Private countryField As CountryType
+
+ Private phoneField() As String
+
+ Private emailField() As String
+
+ Private additionalInformationField() As AdditionalInformationType
+
+ '''
+
+ Public Property AddressIdentifier() As AddressIdentifierType()
+ Get
+ Return Me.addressIdentifierField
+ End Get
+ Set
+ Me.addressIdentifierField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Name() As String
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = value
+ End Set
+ End Property
+
+ '''
+ Public Property TradingName() As String
+ Get
+ Return Me.tradingNameField
+ End Get
+ Set
+ Me.tradingNameField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Street() As String
+ Get
+ Return Me.streetField
+ End Get
+ Set
+ Me.streetField = value
+ End Set
+ End Property
+
+ '''
+ Public Property POBox() As String
+ Get
+ Return Me.pOBoxField
+ End Get
+ Set
+ Me.pOBoxField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Town() As String
+ Get
+ Return Me.townField
+ End Get
+ Set
+ Me.townField = value
+ End Set
+ End Property
+
+ '''
+ Public Property ZIP() As String
+ Get
+ Return Me.zIPField
+ End Get
+ Set
+ Me.zIPField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Country() As CountryType
+ Get
+ Return Me.countryField
+ End Get
+ Set
+ Me.countryField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Phone() As String()
+ Get
+ Return Me.phoneField
+ End Get
+ Set
+ Me.phoneField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Email() As String()
+ Get
+ Return Me.emailField
+ End Get
+ Set
+ Me.emailField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AdditionalInformation() As AdditionalInformationType()
+ Get
+ Return Me.additionalInformationField
+ End Get
+ Set
+ Me.additionalInformationField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class AddressIdentifierType
+
+ Private addressIdentifierType1Field As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property AddressIdentifierType1() As String
+ Get
+ Return Me.addressIdentifierType1Field
+ End Get
+ Set
+ Me.addressIdentifierType1Field = 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 CountryType
+
+ Private countryCodeField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property CountryCode() As String
+ Get
+ Return Me.countryCodeField
+ End Get
+ Set
+ Me.countryCodeField = 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 AdditionalInformationType
+
+ Private keyField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property Key() As String
+ Get
+ Return Me.keyField
+ End Get
+ Set
+ Me.keyField = 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 ContactType
+
+ Private salutationField As String
+
+ Private nameField As String
+
+ Private phoneField() As String
+
+ Private emailField() As String
+
+ Private additionalInformationField() As AdditionalInformationType
+
+ '''
+ Public Property Salutation() As String
+ Get
+ Return Me.salutationField
+ End Get
+ Set
+ Me.salutationField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Name() As String
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Phone() As String()
+ Get
+ Return Me.phoneField
+ End Get
+ Set
+ Me.phoneField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Email() As String()
+ Get
+ Return Me.emailField
+ End Get
+ Set
+ Me.emailField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AdditionalInformation() As AdditionalInformationType()
+ Get
+ Return Me.additionalInformationField
+ End Get
+ Set
+ Me.additionalInformationField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class RelatedDocumentType
+
+ Private invoiceNumberField As String
+
+ Private invoiceDateField As Date
+
+ Private invoiceDateFieldSpecified As Boolean
+
+ Private documentTypeField As DocumentTypeType
+
+ Private documentTypeFieldSpecified As Boolean
+
+ Private commentField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property InvoiceNumber() As String
+ Get
+ Return Me.invoiceNumberField
+ End Get
+ Set
+ Me.invoiceNumberField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property InvoiceDate() As Date
+ Get
+ Return Me.invoiceDateField
+ End Get
+ Set
+ Me.invoiceDateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property InvoiceDateSpecified() As Boolean
+ Get
+ Return Me.invoiceDateFieldSpecified
+ End Get
+ Set
+ Me.invoiceDateFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property DocumentType() As DocumentTypeType
+ Get
+ Return Me.documentTypeField
+ End Get
+ Set
+ Me.documentTypeField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DocumentTypeSpecified() As Boolean
+ Get
+ Return Me.documentTypeFieldSpecified
+ End Get
+ Set
+ Me.documentTypeFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class CustomType
+
+ Private anyField As System.Xml.XmlElement
+
+ Private idField As String
+
+ Private nameField As String
+
+ '''
+
+ Public Property Any() As System.Xml.XmlElement
+ Get
+ Return Me.anyField
+ End Get
+ Set
+ Me.anyField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ID() As String
+ Get
+ Return Me.idField
+ End Get
+ Set
+ Me.idField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Name() As String
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class CurrencyExchangeInformationType
+
+ Private currencyField As String
+
+ Private exchangeRateField As Decimal
+
+ Private exchangeRateDateField As Date
+
+ Private exchangeRateDateFieldSpecified As Boolean
+
+ Private commentField As String
+
+ Private extensionField() As CustomType
+
+ '''
+
+ Public Property Currency() As String
+ Get
+ Return Me.currencyField
+ End Get
+ Set
+ Me.currencyField = value
+ End Set
+ End Property
+
+ '''
+ Public Property ExchangeRate() As Decimal
+ Get
+ Return Me.exchangeRateField
+ End Get
+ Set
+ Me.exchangeRateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ExchangeRateDate() As Date
+ Get
+ Return Me.exchangeRateDateField
+ End Get
+ Set
+ Me.exchangeRateDateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ExchangeRateDateSpecified() As Boolean
+ Get
+ Return Me.exchangeRateDateFieldSpecified
+ End Get
+ Set
+ Me.exchangeRateDateFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class DeliveryType
+
+ Private deliveryIDField As String
+
+ Private itemField As Object
+
+ Private addressField As AddressType
+
+ Private contactField As ContactType
+
+ Private descriptionField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property DeliveryID() As String
+ Get
+ Return Me.deliveryIDField
+ End Get
+ Set
+ Me.deliveryIDField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Item() As Object
+ Get
+ Return Me.itemField
+ End Get
+ Set
+ Me.itemField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Address() As AddressType
+ Get
+ Return Me.addressField
+ End Get
+ Set
+ Me.addressField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Contact() As ContactType
+ Get
+ Return Me.contactField
+ End Get
+ Set
+ Me.contactField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Description() As String
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class PeriodType
+
+ Private fromDateField As Date
+
+ Private toDateField As Date
+
+ '''
+
+ Public Property FromDate() As Date
+ Get
+ Return Me.fromDateField
+ End Get
+ Set
+ Me.fromDateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ToDate() As Date
+ Get
+ Return Me.toDateField
+ End Get
+ Set
+ Me.toDateField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class BillerType
+ Inherits AbstractPartyType
+
+ Private invoiceRecipientsBillerIDField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property InvoiceRecipientsBillerID() As String
+ Get
+ Return Me.invoiceRecipientsBillerIDField
+ End Get
+ Set
+ Me.invoiceRecipientsBillerIDField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class InvoiceRecipientType
+ Inherits AbstractPartyType
+
+ Private billersInvoiceRecipientIDField As String
+
+ Private accountingAreaField As String
+
+ Private subOrganizationIDField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property BillersInvoiceRecipientID() As String
+ Get
+ Return Me.billersInvoiceRecipientIDField
+ End Get
+ Set
+ Me.billersInvoiceRecipientIDField = value
+ End Set
+ End Property
+
+ '''
+ Public Property AccountingArea() As String
+ Get
+ Return Me.accountingAreaField
+ End Get
+ Set
+ Me.accountingAreaField = value
+ End Set
+ End Property
+
+ '''
+ Public Property SubOrganizationID() As String
+ Get
+ Return Me.subOrganizationIDField
+ End Get
+ Set
+ Me.subOrganizationIDField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class OrderingPartyType
+ Inherits AbstractPartyType
+
+ Private billersOrderingPartyIDField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property BillersOrderingPartyID() As String
+ Get
+ Return Me.billersOrderingPartyIDField
+ End Get
+ Set
+ Me.billersOrderingPartyIDField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class DetailsType
+
+ Private headerDescriptionField As String
+
+ Private itemListField() As ItemListType
+
+ Private footerDescriptionField As String
+
+ Private belowTheLineItemField() As BelowTheLineItemType
+
+ '''
+ Public Property HeaderDescription() As String
+ Get
+ Return Me.headerDescriptionField
+ End Get
+ Set
+ Me.headerDescriptionField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ItemList() As ItemListType()
+ Get
+ Return Me.itemListField
+ End Get
+ Set
+ Me.itemListField = value
+ End Set
+ End Property
+
+ '''
+ Public Property FooterDescription() As String
+ Get
+ Return Me.footerDescriptionField
+ End Get
+ Set
+ Me.footerDescriptionField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BelowTheLineItem() As BelowTheLineItemType()
+ Get
+ Return Me.belowTheLineItemField
+ End Get
+ Set
+ Me.belowTheLineItemField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ItemListType
+
+ Private headerDescriptionField As String
+
+ Private listLineItemField() As ListLineItemType
+
+ Private footerDescriptionField As String
+
+ '''
+ Public Property HeaderDescription() As String
+ Get
+ Return Me.headerDescriptionField
+ End Get
+ Set
+ Me.headerDescriptionField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ListLineItem() As ListLineItemType()
+ Get
+ Return Me.listLineItemField
+ End Get
+ Set
+ Me.listLineItemField = value
+ End Set
+ End Property
+
+ '''
+ Public Property FooterDescription() As String
+ Get
+ Return Me.footerDescriptionField
+ End Get
+ Set
+ Me.footerDescriptionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ListLineItemType
+
+ Private positionNumberField As String
+
+ Private descriptionField() As String
+
+ Private articleNumberField() As ArticleNumberType
+
+ Private quantityField As UnitType
+
+ Private unitPriceField As UnitPriceType
+
+ Private reductionAndSurchargeListLineItemDetailsField As ReductionAndSurchargeListLineItemDetailsType
+
+ Private deliveryField As DeliveryType
+
+ Private billersOrderReferenceField As OrderReferenceDetailType
+
+ Private invoiceRecipientsOrderReferenceField As OrderReferenceDetailType
+
+ Private classificationField() As ClassificationType
+
+ Private additionalInformationField() As AdditionalInformationType
+
+ Private taxItemField As TaxItemType
+
+ Private lineItemAmountField As Decimal
+
+ Private extensionField() As CustomType
+
+ '''
+
+ Public Property PositionNumber() As String
+ Get
+ Return Me.positionNumberField
+ End Get
+ Set
+ Me.positionNumberField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Description() As String()
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ArticleNumber() As ArticleNumberType()
+ Get
+ Return Me.articleNumberField
+ End Get
+ Set
+ Me.articleNumberField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Quantity() As UnitType
+ Get
+ Return Me.quantityField
+ End Get
+ Set
+ Me.quantityField = value
+ End Set
+ End Property
+
+ '''
+ Public Property UnitPrice() As UnitPriceType
+ Get
+ Return Me.unitPriceField
+ End Get
+ Set
+ Me.unitPriceField = value
+ End Set
+ End Property
+
+ '''
+ Public Property ReductionAndSurchargeListLineItemDetails() As ReductionAndSurchargeListLineItemDetailsType
+ Get
+ Return Me.reductionAndSurchargeListLineItemDetailsField
+ End Get
+ Set
+ Me.reductionAndSurchargeListLineItemDetailsField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Delivery() As DeliveryType
+ Get
+ Return Me.deliveryField
+ End Get
+ Set
+ Me.deliveryField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BillersOrderReference() As OrderReferenceDetailType
+ Get
+ Return Me.billersOrderReferenceField
+ End Get
+ Set
+ Me.billersOrderReferenceField = value
+ End Set
+ End Property
+
+ '''
+ Public Property InvoiceRecipientsOrderReference() As OrderReferenceDetailType
+ Get
+ Return Me.invoiceRecipientsOrderReferenceField
+ End Get
+ Set
+ Me.invoiceRecipientsOrderReferenceField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Classification() As ClassificationType()
+ Get
+ Return Me.classificationField
+ End Get
+ Set
+ Me.classificationField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AdditionalInformation() As AdditionalInformationType()
+ Get
+ Return Me.additionalInformationField
+ End Get
+ Set
+ Me.additionalInformationField = value
+ End Set
+ End Property
+
+ '''
+ Public Property TaxItem() As TaxItemType
+ Get
+ Return Me.taxItemField
+ End Get
+ Set
+ Me.taxItemField = value
+ End Set
+ End Property
+
+ '''
+ Public Property LineItemAmount() As Decimal
+ Get
+ Return Me.lineItemAmountField
+ End Get
+ Set
+ Me.lineItemAmountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ArticleNumberType
+
+ Private articleNumberType1Field As ArticleNumberTypeType
+
+ Private articleNumberType1FieldSpecified As Boolean
+
+ Private valueField As String
+
+ '''
+
+ Public Property ArticleNumberType1() As ArticleNumberTypeType
+ Get
+ Return Me.articleNumberType1Field
+ End Get
+ Set
+ Me.articleNumberType1Field = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ArticleNumberType1Specified() As Boolean
+ Get
+ Return Me.articleNumberType1FieldSpecified
+ End Get
+ Set
+ Me.articleNumberType1FieldSpecified = 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
+
+ '''
+
+ Public Enum ArticleNumberTypeType
+
+ '''
+ PZN
+
+ '''
+ GTIN
+
+ '''
+ InvoiceRecipientsArticleNumber
+
+ '''
+ BillersArticleNumber
+ End Enum
+
+ '''
+
+ Partial Public Class UnitType
+
+ Private unitField As String
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property Unit() As String
+ Get
+ Return Me.unitField
+ End Get
+ Set
+ Me.unitField = 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 UnitPriceType
+
+ Private baseQuantityField As Decimal
+
+ Private baseQuantityFieldSpecified As Boolean
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property BaseQuantity() As Decimal
+ Get
+ Return Me.baseQuantityField
+ End Get
+ Set
+ Me.baseQuantityField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BaseQuantitySpecified() As Boolean
+ Get
+ Return Me.baseQuantityFieldSpecified
+ End Get
+ Set
+ Me.baseQuantityFieldSpecified = 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 ReductionAndSurchargeListLineItemDetailsType
+
+ Private itemsField() As Object
+
+ Private itemsElementNameField() As ItemsChoiceType
+
+ '''
+
+ Public Property Items() As Object()
+ Get
+ Return Me.itemsField
+ End Get
+ Set
+ Me.itemsField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ItemsElementName() As ItemsChoiceType()
+ Get
+ Return Me.itemsElementNameField
+ End Get
+ Set
+ Me.itemsElementNameField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class OtherVATableTaxType
+ Inherits TaxItemType
+
+ Private taxIDField As String
+
+ '''
+ Public Property TaxID() As String
+ Get
+ Return Me.taxIDField
+ End Get
+ Set
+ Me.taxIDField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class TaxItemType
+
+ Private taxableAmountField As Decimal
+
+ Private taxPercentField As TaxPercentType
+
+ Private taxAmountField As Decimal
+
+ Private taxAmountFieldSpecified As Boolean
+
+ Private accountingCurrencyAmountField As AccountingCurrencyAmountType
+
+ Private commentField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property TaxableAmount() As Decimal
+ Get
+ Return Me.taxableAmountField
+ End Get
+ Set
+ Me.taxableAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property TaxPercent() As TaxPercentType
+ Get
+ Return Me.taxPercentField
+ End Get
+ Set
+ Me.taxPercentField = value
+ End Set
+ End Property
+
+ '''
+ Public Property TaxAmount() As Decimal
+ Get
+ Return Me.taxAmountField
+ End Get
+ Set
+ Me.taxAmountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TaxAmountSpecified() As Boolean
+ Get
+ Return Me.taxAmountFieldSpecified
+ End Get
+ Set
+ Me.taxAmountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property AccountingCurrencyAmount() As AccountingCurrencyAmountType
+ Get
+ Return Me.accountingCurrencyAmountField
+ End Get
+ Set
+ Me.accountingCurrencyAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class TaxPercentType
+
+ Private taxCategoryCodeField As String
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property TaxCategoryCode() As String
+ Get
+ Return Me.taxCategoryCodeField
+ End Get
+ Set
+ Me.taxCategoryCodeField = 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 AccountingCurrencyAmountType
+
+ Private currencyField As String
+
+ Private valueField As Decimal
+
+ '''
+
+ Public Property Currency() As String
+ Get
+ Return Me.currencyField
+ End Get
+ Set
+ Me.currencyField = 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 ReductionAndSurchargeBaseType
+
+ Private baseAmountField As Decimal
+
+ Private percentageField As Decimal
+
+ Private percentageFieldSpecified As Boolean
+
+ Private amountField As Decimal
+
+ Private amountFieldSpecified As Boolean
+
+ Private commentField As String
+
+ Private classificationField As ClassificationType
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property BaseAmount() As Decimal
+ Get
+ Return Me.baseAmountField
+ End Get
+ Set
+ Me.baseAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Percentage() As Decimal
+ Get
+ Return Me.percentageField
+ End Get
+ Set
+ Me.percentageField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property PercentageSpecified() As Boolean
+ Get
+ Return Me.percentageFieldSpecified
+ End Get
+ Set
+ Me.percentageFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Amount() As Decimal
+ Get
+ Return Me.amountField
+ End Get
+ Set
+ Me.amountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AmountSpecified() As Boolean
+ Get
+ Return Me.amountFieldSpecified
+ End Get
+ Set
+ Me.amountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Classification() As ClassificationType
+ Get
+ Return Me.classificationField
+ End Get
+ Set
+ Me.classificationField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ClassificationType
+
+ Private classificationSchemaField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property ClassificationSchema() As String
+ Get
+ Return Me.classificationSchemaField
+ End Get
+ Set
+ Me.classificationSchemaField = 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
+
+ '''
+
+ Public Enum ItemsChoiceType
+
+ '''
+ OtherVATableTaxListLineItem
+
+ '''
+ ReductionListLineItem
+
+ '''
+ SurchargeListLineItem
+ End Enum
+
+ '''
+
+ Partial Public Class OrderReferenceDetailType
+ Inherits OrderReferenceType
+
+ Private orderPositionNumberField As String
+
+ '''
+ Public Property OrderPositionNumber() As String
+ Get
+ Return Me.orderPositionNumberField
+ End Get
+ Set
+ Me.orderPositionNumberField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class BelowTheLineItemType
+
+ Private descriptionField As String
+
+ Private lineItemAmountField As Decimal
+
+ Private reasonField As ReasonType
+
+ '''
+ Public Property Description() As String
+ Get
+ Return Me.descriptionField
+ End Get
+ Set
+ Me.descriptionField = value
+ End Set
+ End Property
+
+ '''
+ Public Property LineItemAmount() As Decimal
+ Get
+ Return Me.lineItemAmountField
+ End Get
+ Set
+ Me.lineItemAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Reason() As ReasonType
+ Get
+ Return Me.reasonField
+ End Get
+ Set
+ Me.reasonField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ReasonType
+
+ Private dateField As Date
+
+ Private dateFieldSpecified As Boolean
+
+ Private valueField As String
+
+ '''
+
+ Public Property [Date]() As Date
+ Get
+ Return Me.dateField
+ End Get
+ Set
+ Me.dateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DateSpecified() As Boolean
+ Get
+ Return Me.dateFieldSpecified
+ End Get
+ Set
+ Me.dateFieldSpecified = 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 ReductionAndSurchargeDetailsType
+
+ Private itemsField() As Object
+
+ Private itemsElementNameField() As ItemsChoiceType1
+
+ '''
+
+ Public Property Items() As Object()
+ Get
+ Return Me.itemsField
+ End Get
+ Set
+ Me.itemsField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ItemsElementName() As ItemsChoiceType1()
+ Get
+ Return Me.itemsElementNameField
+ End Get
+ Set
+ Me.itemsElementNameField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ReductionAndSurchargeType
+ Inherits ReductionAndSurchargeBaseType
+
+ Private taxItemField As TaxItemType
+
+ '''
+ Public Property TaxItem() As TaxItemType
+ Get
+ Return Me.taxItemField
+ End Get
+ Set
+ Me.taxItemField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Public Enum ItemsChoiceType1
+
+ '''
+ OtherVATableTax
+
+ '''
+ Reduction
+
+ '''
+ Surcharge
+ End Enum
+
+ '''
+
+ Partial Public Class TaxType
+
+ Private taxItemField() As TaxItemType
+
+ Private otherTaxField() As OtherTaxType
+
+ Private extensionField() As CustomType
+
+ '''
+
+ Public Property TaxItem() As TaxItemType()
+ Get
+ Return Me.taxItemField
+ End Get
+ Set
+ Me.taxItemField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property OtherTax() As OtherTaxType()
+ Get
+ Return Me.otherTaxField
+ End Get
+ Set
+ Me.otherTaxField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class OtherTaxType
+
+ Private taxableAmountField As Decimal
+
+ Private taxableAmountFieldSpecified As Boolean
+
+ Private taxPercentField As TaxPercentType
+
+ Private taxAmountField As Decimal
+
+ Private commentField As String
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property TaxableAmount() As Decimal
+ Get
+ Return Me.taxableAmountField
+ End Get
+ Set
+ Me.taxableAmountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TaxableAmountSpecified() As Boolean
+ Get
+ Return Me.taxableAmountFieldSpecified
+ End Get
+ Set
+ Me.taxableAmountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property TaxPercent() As TaxPercentType
+ Get
+ Return Me.taxPercentField
+ End Get
+ Set
+ Me.taxPercentField = value
+ End Set
+ End Property
+
+ '''
+ Public Property TaxAmount() As Decimal
+ Get
+ Return Me.taxAmountField
+ End Get
+ Set
+ Me.taxAmountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class PaymentMethodType
+
+ Private commentField As String
+
+ Private itemField As Object
+
+ Private extensionField() As CustomType
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Item() As Object
+ Get
+ Return Me.itemField
+ End Get
+ Set
+ Me.itemField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class NoPaymentType
+ End Class
+
+ '''
+
+ Partial Public Class OtherPaymentType
+ End Class
+
+ '''
+
+ Partial Public Class PaymentCardType
+
+ Private primaryAccountNumberField As String
+
+ Private cardHolderNameField As String
+
+ '''
+ Public Property PrimaryAccountNumber() As String
+ Get
+ Return Me.primaryAccountNumberField
+ End Get
+ Set
+ Me.primaryAccountNumberField = value
+ End Set
+ End Property
+
+ '''
+ Public Property CardHolderName() As String
+ Get
+ Return Me.cardHolderNameField
+ End Get
+ Set
+ Me.cardHolderNameField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class SEPADirectDebitType
+
+ Private typeField As SEPADirectDebitTypeType
+
+ Private typeFieldSpecified As Boolean
+
+ Private bICField As String
+
+ Private iBANField As String
+
+ Private bankAccountOwnerField As String
+
+ Private creditorIDField As String
+
+ Private mandateReferenceField As String
+
+ Private debitCollectionDateField As Date
+
+ Private debitCollectionDateFieldSpecified As Boolean
+
+ '''
+ Public Property Type() As SEPADirectDebitTypeType
+ Get
+ Return Me.typeField
+ End Get
+ Set
+ Me.typeField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property TypeSpecified() As Boolean
+ Get
+ Return Me.typeFieldSpecified
+ End Get
+ Set
+ Me.typeFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property BIC() As String
+ Get
+ Return Me.bICField
+ End Get
+ Set
+ Me.bICField = value
+ End Set
+ End Property
+
+ '''
+ Public Property IBAN() As String
+ Get
+ Return Me.iBANField
+ End Get
+ Set
+ Me.iBANField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BankAccountOwner() As String
+ Get
+ Return Me.bankAccountOwnerField
+ End Get
+ Set
+ Me.bankAccountOwnerField = value
+ End Set
+ End Property
+
+ '''
+ Public Property CreditorID() As String
+ Get
+ Return Me.creditorIDField
+ End Get
+ Set
+ Me.creditorIDField = value
+ End Set
+ End Property
+
+ '''
+ Public Property MandateReference() As String
+ Get
+ Return Me.mandateReferenceField
+ End Get
+ Set
+ Me.mandateReferenceField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DebitCollectionDate() As Date
+ Get
+ Return Me.debitCollectionDateField
+ End Get
+ Set
+ Me.debitCollectionDateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DebitCollectionDateSpecified() As Boolean
+ Get
+ Return Me.debitCollectionDateFieldSpecified
+ End Get
+ Set
+ Me.debitCollectionDateFieldSpecified = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Public Enum SEPADirectDebitTypeType
+
+ '''
+ B2C
+
+ '''
+ B2B
+ End Enum
+
+ '''
+
+ Partial Public Class UniversalBankTransactionType
+
+ Private beneficiaryAccountField() As AccountType
+
+ Private paymentReferenceField As PaymentReferenceType
+
+ Private consolidatorPayableField As Boolean
+
+ Private consolidatorPayableFieldSpecified As Boolean
+
+ '''
+
+ Public Property BeneficiaryAccount() As AccountType()
+ Get
+ Return Me.beneficiaryAccountField
+ End Get
+ Set
+ Me.beneficiaryAccountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property PaymentReference() As PaymentReferenceType
+ Get
+ Return Me.paymentReferenceField
+ End Get
+ Set
+ Me.paymentReferenceField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ConsolidatorPayable() As Boolean
+ Get
+ Return Me.consolidatorPayableField
+ End Get
+ Set
+ Me.consolidatorPayableField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property ConsolidatorPayableSpecified() As Boolean
+ Get
+ Return Me.consolidatorPayableFieldSpecified
+ End Get
+ Set
+ Me.consolidatorPayableFieldSpecified = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class AccountType
+
+ Private bankNameField As String
+
+ Private bankCodeField As BankCodeType
+
+ Private bICField As String
+
+ Private bankAccountNrField As String
+
+ Private iBANField As String
+
+ Private bankAccountOwnerField As String
+
+ '''
+ Public Property BankName() As String
+ Get
+ Return Me.bankNameField
+ End Get
+ Set
+ Me.bankNameField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BankCode() As BankCodeType
+ Get
+ Return Me.bankCodeField
+ End Get
+ Set
+ Me.bankCodeField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BIC() As String
+ Get
+ Return Me.bICField
+ End Get
+ Set
+ Me.bICField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BankAccountNr() As String
+ Get
+ Return Me.bankAccountNrField
+ End Get
+ Set
+ Me.bankAccountNrField = value
+ End Set
+ End Property
+
+ '''
+ Public Property IBAN() As String
+ Get
+ Return Me.iBANField
+ End Get
+ Set
+ Me.iBANField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BankAccountOwner() As String
+ Get
+ Return Me.bankAccountOwnerField
+ End Get
+ Set
+ Me.bankAccountOwnerField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class BankCodeType
+
+ Private bankCodeType1Field As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property BankCodeType1() As String
+ Get
+ Return Me.bankCodeType1Field
+ End Get
+ Set
+ Me.bankCodeType1Field = 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 PaymentReferenceType
+
+ Private checkSumField As String
+
+ Private valueField As String
+
+ '''
+
+ Public Property CheckSum() As String
+ Get
+ Return Me.checkSumField
+ End Get
+ Set
+ Me.checkSumField = 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 PaymentConditionsType
+
+ Private dueDateField As Date
+
+ Private dueDateFieldSpecified As Boolean
+
+ Private discountField() As DiscountType
+
+ Private minimumPaymentField As Decimal
+
+ Private minimumPaymentFieldSpecified As Boolean
+
+ Private commentField As String
+
+ Private extensionField() As CustomType
+
+ '''
+
+ Public Property DueDate() As Date
+ Get
+ Return Me.dueDateField
+ End Get
+ Set
+ Me.dueDateField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property DueDateSpecified() As Boolean
+ Get
+ Return Me.dueDateFieldSpecified
+ End Get
+ Set
+ Me.dueDateFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Discount() As DiscountType()
+ Get
+ Return Me.discountField
+ End Get
+ Set
+ Me.discountField = value
+ End Set
+ End Property
+
+ '''
+ Public Property MinimumPayment() As Decimal
+ Get
+ Return Me.minimumPaymentField
+ End Get
+ Set
+ Me.minimumPaymentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property MinimumPaymentSpecified() As Boolean
+ Get
+ Return Me.minimumPaymentFieldSpecified
+ End Get
+ Set
+ Me.minimumPaymentFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property Extension() As CustomType()
+ Get
+ Return Me.extensionField
+ End Get
+ Set
+ Me.extensionField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class DiscountType
+
+ Private paymentDateField As Date
+
+ Private baseAmountField As Decimal
+
+ Private baseAmountFieldSpecified As Boolean
+
+ Private percentageField As Decimal
+
+ Private percentageFieldSpecified As Boolean
+
+ Private amountField As Decimal
+
+ Private amountFieldSpecified As Boolean
+
+ Private commentField As String
+
+ '''
+
+ Public Property PaymentDate() As Date
+ Get
+ Return Me.paymentDateField
+ End Get
+ Set
+ Me.paymentDateField = value
+ End Set
+ End Property
+
+ '''
+ Public Property BaseAmount() As Decimal
+ Get
+ Return Me.baseAmountField
+ End Get
+ Set
+ Me.baseAmountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property BaseAmountSpecified() As Boolean
+ Get
+ Return Me.baseAmountFieldSpecified
+ End Get
+ Set
+ Me.baseAmountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Percentage() As Decimal
+ Get
+ Return Me.percentageField
+ End Get
+ Set
+ Me.percentageField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property PercentageSpecified() As Boolean
+ Get
+ Return Me.percentageFieldSpecified
+ End Get
+ Set
+ Me.percentageFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Amount() As Decimal
+ Get
+ Return Me.amountField
+ End Get
+ Set
+ Me.amountField = value
+ End Set
+ End Property
+
+ '''
+
+ Public Property AmountSpecified() As Boolean
+ Get
+ Return Me.amountFieldSpecified
+ End Get
+ Set
+ Me.amountFieldSpecified = value
+ End Set
+ End Property
+
+ '''
+ Public Property Comment() As String
+ Get
+ Return Me.commentField
+ End Get
+ Set
+ Me.commentField = value
+ End Set
+ End Property
+ End Class
+
+ '''
+
+ Partial Public Class ExtensionType
+
+ Private customField() As CustomType
+
+ '''
+
+ Public Property Custom() As CustomType()
+ Get
+ Return Me.customField
+ End Get
+ Set
+ Me.customField = value
+ End Set
+ End Property
+ End Class
+End Namespace
\ No newline at end of file
diff --git a/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb b/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb
index fd603b81..d70831d7 100644
--- a/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb
+++ b/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb
@@ -120,7 +120,8 @@ Public Class ImportZUGFeRDFiles
_zugferd = New ZUGFeRDInterface(_logConfig, _gdpictureLicenseKey, New ZUGFeRDInterface.ZugferdOptions() With {
.AllowFacturX_Filename = oArgs.AllowFacturX,
.AllowXRechnung_Filename = oArgs.AllowXRechnung,
- .AllowPeppol_3_x_Schema = oArgs.AllowPeppolBISBill3x
+ .AllowPeppol_3_x_Schema = oArgs.AllowPeppolBISBill3x,
+ .AllowEBInterface_Schema = oArgs.AllowEBInterface
})
_logger.Debug("Starting Job {0}", [GetType].Name)
@@ -719,6 +720,10 @@ Public Class ImportZUGFeRDFiles
Dim oPropertyMap As Dictionary(Of String, XmlItemProperty) = _zugferd.FilterPropertyMap(pArgs.PropertyMapList, pDocument.Specification)
Dim oCheckResult = _zugferd.PropertyValues.CheckPropertyValues(pDocument.SchemaObject, oPropertyMap, pMessageId)
+ ' root-Attribute falls konfiguriert auslesen, Ergebnis im oCheckResult enthalten
+ Dim oRootAttributePropertyMap As Dictionary(Of String, XmlItemProperty) = _zugferd.FilterRootPropertyMap(pArgs.PropertyMapList, pDocument.Specification)
+ oCheckResult = _zugferd.PropertyValues.CheckRootAttributeValues(pDocument, oRootAttributePropertyMap, pMessageId, oCheckResult)
+
_logger.Info("Properties checked: [{0}] missing properties / [{1}] valid properties found.", oCheckResult.MissingProperties.Count, oCheckResult.ValidProperties.Count)
If oCheckResult.MissingProperties.Count > 0 Then
diff --git a/Jobs/ZUGFeRD/WorkerArgs.vb b/Jobs/ZUGFeRD/WorkerArgs.vb
index bb5b85ee..9dd6fc82 100644
--- a/Jobs/ZUGFeRD/WorkerArgs.vb
+++ b/Jobs/ZUGFeRD/WorkerArgs.vb
@@ -33,5 +33,6 @@ Public Class WorkerArgs
Public AllowZugferd2x As Boolean = True
Public AllowZugferd23x As Boolean = True
Public AllowPeppolBISBill3x As Boolean = False
+ Public AllowEBInterface As Boolean = False
End Class
\ No newline at end of file