ro ustva
This commit is contained in:
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("1.5.1.9")>
|
<Assembly: AssemblyVersion("1.5.2.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.5.1.9")>
|
<Assembly: AssemblyFileVersion("1.5.2.0")>
|
||||||
|
|||||||
@@ -1336,7 +1336,6 @@
|
|||||||
<Compile Include="USTV\ustCntlUSTV_AntragPosition.vb">
|
<Compile Include="USTV\ustCntlUSTV_AntragPosition.vb">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="USTV\VATRefundMapper.vb" />
|
|
||||||
<Compile Include="Web References\eu.europa.ec1\Reference.vb">
|
<Compile Include="Web References\eu.europa.ec1\Reference.vb">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
|
|||||||
@@ -1,122 +1,207 @@
|
|||||||
Imports System.Xml.Serialization
|
Imports Chilkat
|
||||||
Imports java.util.function
|
|
||||||
Imports javax.print.attribute.standard
|
|
||||||
|
|
||||||
<XmlRoot("VATRefundApplication")>
|
'=========================
|
||||||
|
' HAUFENKLASSEN
|
||||||
|
'=========================
|
||||||
Public Class VATRefundApplication
|
Public Class VATRefundApplication
|
||||||
|
Public Property CodF1 As FormInfo
|
||||||
<XmlElement("codF1")>
|
Public Property RefundPeriod As Period
|
||||||
Public Property CodF1 As CodF1
|
|
||||||
|
|
||||||
<XmlElement("RefundPeriod")>
|
|
||||||
Public Property RefundPeriod As RefundPeriod
|
|
||||||
|
|
||||||
<XmlElement("ApplicationReference")>
|
|
||||||
Public Property ApplicationReference As ApplicationReference
|
Public Property ApplicationReference As ApplicationReference
|
||||||
|
|
||||||
<XmlElement("ProrateAdjustment")>
|
|
||||||
Public Property ProrateAdjustment As ProrateAdjustment
|
Public Property ProrateAdjustment As ProrateAdjustment
|
||||||
|
Public Property Applicant As Party
|
||||||
<XmlElement("Applicant")>
|
|
||||||
Public Property Applicant As Applicant
|
|
||||||
|
|
||||||
<XmlElement("BusinessDescription")>
|
|
||||||
Public Property BusinessDescription As BusinessDescription
|
Public Property BusinessDescription As BusinessDescription
|
||||||
|
Public Property Representative As Party
|
||||||
<XmlElement("Representative")>
|
Public Property DetailedBankAccount As BankAccount
|
||||||
Public Property Representative As Representative
|
|
||||||
|
|
||||||
<XmlElement("DetailedBankAccount")>
|
|
||||||
Public Property DetailedBankAccount As DetailedBankAccount
|
|
||||||
|
|
||||||
<XmlElement("PurchaseInformation")>
|
|
||||||
Public Property PurchaseInformation As PurchaseInformation
|
Public Property PurchaseInformation As PurchaseInformation
|
||||||
|
|
||||||
<XmlElement("ImportInformation")>
|
|
||||||
Public Property ImportInformation As ImportInformation
|
Public Property ImportInformation As ImportInformation
|
||||||
|
Public Property DocumentCopy As List(Of DocumentCopy)
|
||||||
<XmlElement("DocumentCopy1")>
|
|
||||||
Public Property DocumentCopy1 As DocumentCopy1
|
|
||||||
|
|
||||||
<XmlElement("NumberOfDocuments")>
|
|
||||||
Public Property NumberOfDocuments As NumberOfDocuments
|
Public Property NumberOfDocuments As NumberOfDocuments
|
||||||
|
Public Property ApplicantSignature As Signature
|
||||||
|
|
||||||
<XmlElement("ApplicantSignature")>
|
Public Sub New()
|
||||||
Public Property ApplicantSignature As ApplicantSignature
|
DocumentCopy = New List(Of DocumentCopy)()
|
||||||
|
PurchaseInformation = New PurchaseInformation()
|
||||||
|
ImportInformation = New ImportInformation()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'=========================
|
||||||
|
' Methode um das XML zu erzeugen
|
||||||
|
'=========================
|
||||||
|
Public Function ToXml() As Xml
|
||||||
|
Dim xml As New Xml
|
||||||
|
xml.Tag = "VATRefundApplication"
|
||||||
|
xml.AddAttribute("xmlns:xfa", "http://www.xfa.org/schema/xfa-data/1.0/")
|
||||||
|
|
||||||
|
' FormInfo
|
||||||
|
xml.UpdateChildContent("codF1|formType", CodF1.FormType)
|
||||||
|
xml.UpdateChildContentInt("codF1|formId", CodF1.FormId)
|
||||||
|
xml.UpdateChildContent("codF1|universalCode", CodF1.UniversalCode)
|
||||||
|
|
||||||
|
' RefundPeriod
|
||||||
|
xml.UpdateChildContentInt("RefundPeriod|StartDate", RefundPeriod.StartDate)
|
||||||
|
xml.UpdateChildContentInt("RefundPeriod|EndDate", RefundPeriod.EndDate)
|
||||||
|
|
||||||
|
' ApplicationReference
|
||||||
|
With ApplicationReference
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|Year", .Year)
|
||||||
|
xml.UpdateChildContent("ApplicationReference|RefundingCountryCode", .RefundingCountryCode)
|
||||||
|
xml.UpdateChildContent("ApplicationReference|Language", .Language)
|
||||||
|
xml.UpdateChildContent("ApplicationReference|Currency", .Currency)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|ApplicationType", .ApplicationType)
|
||||||
|
xml.UpdateChildContent("ApplicationReference|ReferenceNumber", .ReferenceNumber)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|Annual", .Annual)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|an_r", .an_r)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|d_rec", .d_rec)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|luna_r", .luna_r)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|cif", .cif)
|
||||||
|
xml.UpdateChildContentInt("ApplicationReference|totalPlata_A", .totalPlata_A)
|
||||||
|
End With
|
||||||
|
|
||||||
|
' ProrateAdjustment
|
||||||
|
xml.UpdateChildContent("ProrateAdjustment|Year", ProrateAdjustment.Year)
|
||||||
|
xml.UpdateChildContent("ProrateAdjustment|FinalProrate", ProrateAdjustment.FinalProrate)
|
||||||
|
|
||||||
|
' Applicant
|
||||||
|
UpdatePartyXml(xml, "Applicant", Applicant)
|
||||||
|
|
||||||
|
' BusinessDescription
|
||||||
|
With BusinessDescription
|
||||||
|
xml.UpdateChildContentInt("BusinessDescription|d_caen", .d_caen)
|
||||||
|
xml.UpdateChildContent("BusinessDescription|CAEN", .CAEN)
|
||||||
|
xml.UpdateChildContentInt("BusinessDescription|BusinessActivity", .BusinessActivity)
|
||||||
|
End With
|
||||||
|
|
||||||
|
' Representative
|
||||||
|
UpdatePartyXml(xml, "Representative", Representative)
|
||||||
|
|
||||||
|
' DetailedBankAccount
|
||||||
|
With DetailedBankAccount
|
||||||
|
xml.UpdateChildContent("DetailedBankAccount|Total", .Total)
|
||||||
|
xml.UpdateChildContent("DetailedBankAccount|Currency", .Currency)
|
||||||
|
xml.UpdateChildContentInt("DetailedBankAccount|OwnerType", .OwnerType)
|
||||||
|
xml.UpdateChildContent("DetailedBankAccount|OwnerName", .OwnerName)
|
||||||
|
xml.UpdateChildContent("DetailedBankAccount|IBAN", .IBAN)
|
||||||
|
xml.UpdateChildContent("DetailedBankAccount|BIC", .BIC)
|
||||||
|
End With
|
||||||
|
|
||||||
|
' PurchaseInformation
|
||||||
|
For i As Integer = 0 To PurchaseInformation.Invoices.Count - 1
|
||||||
|
Dim inv = PurchaseInformation.Invoices(i)
|
||||||
|
Dim path = $"PurchaseInformation|Invoice[{i}]"
|
||||||
|
xml.UpdateChildContentInt($"{path}|SequenceNumber", inv.SequenceNumber)
|
||||||
|
xml.UpdateChildContentInt($"{path}|simplifiedInvoice", inv.SimplifiedInvoice)
|
||||||
|
xml.UpdateChildContent($"{path}|ReferenceNumber", inv.ReferenceNumber)
|
||||||
|
xml.UpdateChildContent($"{path}|IssuingDate", inv.IssuingDate)
|
||||||
|
|
||||||
|
' GoodsDescription
|
||||||
|
If inv.GoodsDescription IsNot Nothing AndAlso inv.GoodsDescription.GoodsItem IsNot Nothing Then
|
||||||
|
xml.UpdateChildContentInt($"{path}|GoodsDescription|GoodsItem|Code", inv.GoodsDescription.GoodsItem.Code)
|
||||||
|
xml.UpdateChildContent($"{path}|GoodsDescription|GoodsItem|SubCode", inv.GoodsDescription.GoodsItem.SubCode)
|
||||||
|
xml.UpdateChildContent($"{path}|GoodsDescription|GoodsItem|FreeText", inv.GoodsDescription.GoodsItem.FreeText)
|
||||||
|
End If
|
||||||
|
|
||||||
|
' TransactionDescription
|
||||||
|
If inv.TransactionDescription IsNot Nothing Then
|
||||||
|
xml.UpdateChildContent($"{path}|TransactionDescription|TaxableAmount", inv.TransactionDescription.TaxableAmount)
|
||||||
|
xml.UpdateChildContent($"{path}|TransactionDescription|VATAmount", inv.TransactionDescription.VATAmount)
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Deduction
|
||||||
|
If inv.Deduction IsNot Nothing Then
|
||||||
|
xml.UpdateChildContent($"{path}|Deduction|ProRataRate", inv.Deduction.ProRataRate)
|
||||||
|
xml.UpdateChildContent($"{path}|Deduction|DeductibleVATAmount", inv.Deduction.DeductibleVATAmount)
|
||||||
|
End If
|
||||||
|
|
||||||
|
' EUSupplier
|
||||||
|
If inv.EUSupplier IsNot Nothing Then
|
||||||
|
UpdatePartyXml(xml, $"{path}|EUSupplier", inv.EUSupplier)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
' ImportInformation
|
||||||
|
For i As Integer = 0 To ImportInformation._Imports.Count - 1
|
||||||
|
Dim imp = ImportInformation._Imports(i)
|
||||||
|
Dim path = $"ImportInformation|Import[{i}]"
|
||||||
|
xml.UpdateChildContentInt($"{path}|SequenceNumber", imp.SequenceNumber)
|
||||||
|
xml.UpdateChildContent($"{path}|ReferenceNumber", imp.ReferenceNumber)
|
||||||
|
xml.UpdateChildContent($"{path}|IssuingDate", imp.IssuingDate)
|
||||||
|
' xml.UpdateChildContent($"{path}|ReferenceInformation", imp.ReferenceInformation)
|
||||||
|
|
||||||
|
If imp.GoodsDescription IsNot Nothing AndAlso imp.GoodsDescription.GoodsItem IsNot Nothing Then
|
||||||
|
xml.UpdateChildContent($"{path}|GoodsDescription|GoodsItem|Code", imp.GoodsDescription.GoodsItem.Code)
|
||||||
|
xml.UpdateChildContent($"{path}|GoodsDescription|GoodsItem|SubCode", imp.GoodsDescription.GoodsItem.SubCode)
|
||||||
|
xml.UpdateChildContent($"{path}|GoodsDescription|GoodsItem|FreeText", imp.GoodsDescription.GoodsItem.FreeText)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If imp.TransactionDescription IsNot Nothing Then
|
||||||
|
xml.UpdateChildContent($"{path}|TransactionDescription|TaxableAmount", imp.TransactionDescription.TaxableAmount)
|
||||||
|
xml.UpdateChildContent($"{path}|TransactionDescription|VATAmount", imp.TransactionDescription.VATAmount)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If imp.Deduction IsNot Nothing Then
|
||||||
|
xml.UpdateChildContent($"{path}|Deduction|ProRataRate", imp.Deduction.ProRataRate)
|
||||||
|
xml.UpdateChildContent($"{path}|Deduction|DeductibleVATAmount", imp.Deduction.DeductibleVATAmount)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If imp.EUSupplier IsNot Nothing Then
|
||||||
|
UpdatePartyXml(xml, $"{path}|Supplier", imp.EUSupplier)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
' DocumentCopy
|
||||||
|
For i As Integer = 0 To DocumentCopy.Count - 1
|
||||||
|
Dim doc = DocumentCopy(i)
|
||||||
|
Dim path = $"DocumentCopy{i + 1}"
|
||||||
|
xml.UpdateChildContentInt($"{path}|Bifa_atasament", doc.Bifa_atasament)
|
||||||
|
xml.UpdateChildContent($"{path}|Document|FileName", doc.Document.FileName)
|
||||||
|
xml.UpdateChildContent($"{path}|Document|FileType", doc.Document.FileType)
|
||||||
|
xml.UpdateChildContent($"{path}|Document|FileDescription", doc.Document.FileDescription)
|
||||||
|
Next
|
||||||
|
|
||||||
|
' NumberOfDocuments
|
||||||
|
With NumberOfDocuments
|
||||||
|
xml.UpdateChildContentInt("NumberOfDocuments|AtachatedFiles", .AtachatedFiles)
|
||||||
|
xml.UpdateChildContentInt("NumberOfDocuments|PurchaseOrders", .PurchaseOrders)
|
||||||
|
xml.UpdateChildContentInt("NumberOfDocuments|ImportOrders", .ImportOrders)
|
||||||
|
End With
|
||||||
|
|
||||||
|
' ApplicantSignature
|
||||||
|
xml.UpdateChildContent("ApplicantSignature|NameFree", ApplicantSignature.NameFree)
|
||||||
|
xml.UpdateChildContent("ApplicantSignature|Position", ApplicantSignature.Position)
|
||||||
|
|
||||||
|
Return xml
|
||||||
|
End Function
|
||||||
|
|
||||||
|
'=========================
|
||||||
|
' Hilfsmethode: Party in XML
|
||||||
|
'=========================
|
||||||
|
Private Sub UpdatePartyXml(xml As Xml, path As String, party As Party)
|
||||||
|
xml.UpdateChildContent($"{path}|NameFree", party.NameFree)
|
||||||
|
If party.VATIdentificationNumber.HasValue Then
|
||||||
|
xml.UpdateChildContentInt($"{path}|VATIdentificationNumber", party.VATIdentificationNumber.Value)
|
||||||
|
End If
|
||||||
|
xml.UpdateChildContent($"{path}|AddressFree", party.AddressFree)
|
||||||
|
xml.UpdateChildContent($"{path}|PostCode", party.PostCode)
|
||||||
|
xml.UpdateChildContent($"{path}|Phone", party.Phone)
|
||||||
|
xml.UpdateChildContent($"{path}|EmailAddress", party.EmailAddress)
|
||||||
|
xml.UpdateChildContent($"{path}|CountryCode", party.CountryCode)
|
||||||
|
xml.UpdateChildContent($"{path}|RepresentativeID", party.RepresentativeID)
|
||||||
|
xml.UpdateChildContent($"{path}|identificationType", party.IdentificationType)
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class BusinessDescription
|
'=========================
|
||||||
Public Property d_caen As String
|
' UNTERKLASSEN
|
||||||
Public Property CAEN As String
|
'=========================
|
||||||
Public Property BusinessActivity As String
|
Public Class FormInfo
|
||||||
|
Public Property FormType As String
|
||||||
|
Public Property FormId As Integer
|
||||||
|
Public Property UniversalCode As String
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class ImportInformation
|
Public Class Period
|
||||||
<XmlElement("Import")>
|
Public Property StartDate As Integer
|
||||||
Public Property ListOfImports As List(Of Import)
|
Public Property EndDate As Integer
|
||||||
End Class
|
|
||||||
|
|
||||||
|
|
||||||
Public Class DocumentCopy1
|
|
||||||
Public Property Bifa_atasament As Integer
|
|
||||||
|
|
||||||
<XmlElement("Document")>
|
|
||||||
Public Property Document As Document
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class ApplicantSignature
|
|
||||||
Public Property NameFree As String
|
|
||||||
Public Property Position As String
|
|
||||||
End Class
|
|
||||||
|
|
||||||
|
|
||||||
Public Class Document
|
|
||||||
Public Property FileName As String
|
|
||||||
Public Property FileType As String
|
|
||||||
Public Property FileDescription As String
|
|
||||||
|
|
||||||
Friend Class Drawing
|
|
||||||
End Class
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class Import
|
|
||||||
Public Property SequenceNumber As Integer
|
|
||||||
Public Property ReferenceNumber As String
|
|
||||||
Public Property IssuingDate As String
|
|
||||||
Public Property ReferenceInformation As String
|
|
||||||
Public Property GoodsDescription As GoodsDescription
|
|
||||||
Public Property TransactionDescription As TransactionDescription
|
|
||||||
Public Property Deduction As Deduction
|
|
||||||
Public Property Supplier As Supplier
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class Supplier
|
|
||||||
Public Property NameFree As String
|
|
||||||
Public Property AddressFree As String
|
|
||||||
Public Property CountryCode As String
|
|
||||||
Public Property Phone As String
|
|
||||||
End Class
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Public Class ProrateAdjustment
|
|
||||||
Public Property Year As String
|
|
||||||
Public Property FinalProrate As String
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class CodF1
|
|
||||||
Public Property formType As String
|
|
||||||
Public Property formId As String
|
|
||||||
Public Property universalCode As String
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class RefundPeriod
|
|
||||||
Public Property StartDate As String
|
|
||||||
Public Property EndDate As String
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class ApplicationReference
|
Public Class ApplicationReference
|
||||||
@@ -130,32 +215,34 @@ Public Class ApplicationReference
|
|||||||
Public Property an_r As Integer
|
Public Property an_r As Integer
|
||||||
Public Property d_rec As Integer
|
Public Property d_rec As Integer
|
||||||
Public Property luna_r As Integer
|
Public Property luna_r As Integer
|
||||||
Public Property cif As String
|
Public Property cif As Integer
|
||||||
Public Property totalPlata_A As Decimal
|
Public Property totalPlata_A As Integer
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class Applicant
|
Public Class ProrateAdjustment
|
||||||
Public Property NameFree As String
|
Public Property Year As String
|
||||||
Public Property VATIdentificationNumber As String
|
Public Property FinalProrate As String
|
||||||
Public Property AddressFree As String
|
|
||||||
Public Property PostCode As String
|
|
||||||
Public Property Phone As String
|
|
||||||
Public Property EmailAddress As String
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class Representative
|
Public Class Party
|
||||||
Public Property NameFree As String
|
Public Property NameFree As String
|
||||||
Public Property RepresentativeID As String
|
Public Property VATIdentificationNumber As Integer?
|
||||||
Public Property AddressFree As String
|
Public Property AddressFree As String
|
||||||
Public Property PostCode As String
|
Public Property PostCode As String
|
||||||
Public Property Phone As String
|
Public Property Phone As String
|
||||||
Public Property EmailAddress As String
|
Public Property EmailAddress As String
|
||||||
Public Property CountryCode As String
|
Public Property CountryCode As String
|
||||||
Public Property identificationType As String
|
Public Property RepresentativeID As String
|
||||||
|
Public Property IdentificationType As String
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
Public Class BusinessDescription
|
||||||
|
Public Property d_caen As Integer
|
||||||
|
Public Property CAEN As String
|
||||||
|
Public Property BusinessActivity As Integer
|
||||||
|
End Class
|
||||||
|
|
||||||
Public Class DetailedBankAccount
|
Public Class BankAccount
|
||||||
Public Property Total As Decimal
|
Public Property Total As Decimal
|
||||||
Public Property Currency As String
|
Public Property Currency As String
|
||||||
Public Property OwnerType As Integer
|
Public Property OwnerType As Integer
|
||||||
@@ -165,54 +252,62 @@ Public Class DetailedBankAccount
|
|||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class PurchaseInformation
|
Public Class PurchaseInformation
|
||||||
<XmlElement("Invoice")>
|
Public Property Invoices As List(Of Invoice) = New List(Of Invoice)
|
||||||
Public Property Invoices As List(Of Invoice)
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class Invoice
|
Public Class Invoice
|
||||||
Public Property SequenceNumber As Integer
|
Public Property SequenceNumber As Integer
|
||||||
Public Property simplifiedInvoice As Integer
|
Public Property SimplifiedInvoice As Integer
|
||||||
Public Property ReferenceNumber As String
|
Public Property ReferenceNumber As String
|
||||||
Public Property IssuingDate As String
|
Public Property IssuingDate As String
|
||||||
Public Property GoodsDescription As GoodsDescription
|
Public Property GoodsDescription As GoodsDescription
|
||||||
Public Property TransactionDescription As TransactionDescription
|
Public Property TransactionDescription As TransactionDescription
|
||||||
Public Property Deduction As Deduction
|
Public Property Deduction As Deduction
|
||||||
Public Property EUSupplier As EUSupplier
|
Public Property EUSupplier As Party
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
Public Class GoodsDescription
|
Public Class GoodsDescription
|
||||||
Public Property GoodsItem As GoodsItem
|
Public Property GoodsItem As GoodsItem
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class GoodsItem
|
Public Class GoodsItem
|
||||||
Public Property Code As String
|
Public Property Code As Integer
|
||||||
Public Property SubCode As String
|
Public Property SubCode As String
|
||||||
Public Property FreeText As String
|
Public Property FreeText As String
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class TransactionDescription
|
Public Class TransactionDescription
|
||||||
Public Property TaxableAmount As Decimal
|
Public Property TaxableAmount As String
|
||||||
Public Property VATAmount As Decimal
|
Public Property VATAmount As String
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class Deduction
|
Public Class Deduction
|
||||||
Public Property ProRataRate As String
|
Public Property ProRataRate As String
|
||||||
Public Property DeductibleVATAmount As Decimal
|
Public Property DeductibleVATAmount As String
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class EUSupplier
|
Public Class ImportInformation
|
||||||
|
Public Property _Imports As List(Of Invoice) = New List(Of Invoice)
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class DocumentCopy
|
||||||
|
Public Property Bifa_atasament As Integer
|
||||||
|
Public Property Document As DocumentFile
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class DocumentFile
|
||||||
|
Public Property FileName As String
|
||||||
|
Public Property FileType As String
|
||||||
|
Public Property FileDescription As String
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class NumberOfDocuments
|
||||||
|
Public Property AtachatedFiles As Integer
|
||||||
|
Public Property PurchaseOrders As Integer
|
||||||
|
Public Property ImportOrders As Integer
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class Signature
|
||||||
Public Property NameFree As String
|
Public Property NameFree As String
|
||||||
Public Property AddressFree As String
|
Public Property Position As String
|
||||||
Public Property CountryCode As String
|
|
||||||
Public Property Phone As String
|
|
||||||
Public Property EUTraderID As EUTraderID
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class EUTraderID
|
|
||||||
Public Property VATIdentificationNumber As String
|
|
||||||
End Class
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,143 +0,0 @@
|
|||||||
Imports javax.print.attribute.standard
|
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
|
||||||
|
|
||||||
Public Class VATRefundMapper
|
|
||||||
|
|
||||||
Public Shared Function BuildApplication(year As Integer, startMonth As Integer, endMonth As Integer, invoices As DataTable, company As cFirmen, ANTRAG As cUSTVAntrag) As VATRefundApplication
|
|
||||||
|
|
||||||
Dim app As New VATRefundApplication()
|
|
||||||
|
|
||||||
' ================= HEADER =================
|
|
||||||
app.CodF1 = New CodF1 With {
|
|
||||||
.formType = "D318",
|
|
||||||
.formId = "318",
|
|
||||||
.universalCode = "D318_A1.0.0"
|
|
||||||
}
|
|
||||||
|
|
||||||
app.RefundPeriod = New RefundPeriod With {
|
|
||||||
.StartDate = startMonth.ToString("00"),
|
|
||||||
.EndDate = endMonth.ToString("00")
|
|
||||||
}
|
|
||||||
|
|
||||||
' ================= APPLICATION REF =================
|
|
||||||
app.ApplicationReference = New ApplicationReference With {
|
|
||||||
.Year = year,
|
|
||||||
.RefundingCountryCode = ANTRAG.UStVAn_LandKz,
|
|
||||||
.Language = "DE",
|
|
||||||
.Currency = ANTRAG.UStVAn_Währungscode,
|
|
||||||
.ApplicationType = 1,
|
|
||||||
.Annual = 0,
|
|
||||||
.an_r = year,
|
|
||||||
.d_rec = 0,
|
|
||||||
.luna_r = endMonth,
|
|
||||||
.cif = "",
|
|
||||||
.totalPlata_A = invoices.AsEnumerable().
|
|
||||||
Sum(Function(r) CDec(r!VatAmount))
|
|
||||||
}
|
|
||||||
|
|
||||||
' ================= PRORATE =================
|
|
||||||
app.ProrateAdjustment = New ProrateAdjustment()
|
|
||||||
|
|
||||||
' ================= APPLICANT =================
|
|
||||||
app.Applicant = New Applicant With {
|
|
||||||
.NameFree = company.Firma_Bez,
|
|
||||||
.VATIdentificationNumber = company.Firma_UID,
|
|
||||||
.AddressFree = company.Firma_Straße + " " + company.Firma_PLZ + " " + company.Firma_Ort,
|
|
||||||
.EmailAddress = company.Firma_E_Mail
|
|
||||||
}
|
|
||||||
|
|
||||||
' ================= BUSINESS =================
|
|
||||||
app.BusinessDescription = New BusinessDescription With {
|
|
||||||
.d_caen = "2",
|
|
||||||
.CAEN = "4941--Transp.rutiere de marfuri",
|
|
||||||
.BusinessActivity = "4941"
|
|
||||||
}
|
|
||||||
|
|
||||||
' ================= BANK =================
|
|
||||||
app.DetailedBankAccount = New DetailedBankAccount With {
|
|
||||||
.Total = invoices.AsEnumerable().
|
|
||||||
Sum(Function(r) CDec(r!VatAmount)),
|
|
||||||
.Currency = "EUR",
|
|
||||||
.OwnerType = 1,
|
|
||||||
.OwnerName = company.Firma_Bankverbindung1,
|
|
||||||
.IBAN = company.Firma_IBAN1,
|
|
||||||
.BIC = company.Firma_BIC1
|
|
||||||
}
|
|
||||||
|
|
||||||
' ================= PURCHASES =================
|
|
||||||
app.PurchaseInformation = BuildPurchaseInformation(invoices)
|
|
||||||
|
|
||||||
' ================= IMPORTS (leer) =================
|
|
||||||
app.ImportInformation = New ImportInformation With {
|
|
||||||
.ListOfImports = New List(Of Import)()
|
|
||||||
}
|
|
||||||
|
|
||||||
' ================= ATTACHMENTS =================
|
|
||||||
'app.DocumentCopy1 = New DocumentCopy1 With {
|
|
||||||
' .Bifa_atasament = 1,
|
|
||||||
' .Document = New Document With {
|
|
||||||
' .FileName = "INVOICES.zip",
|
|
||||||
' .FileType = "application/zip",
|
|
||||||
' .FileDescription = "INVOICES"
|
|
||||||
' }
|
|
||||||
'}
|
|
||||||
|
|
||||||
'app.NumberOfDocuments = New NumberOfDocuments With {
|
|
||||||
' .AtachatedFiles = 0,
|
|
||||||
' .PurchaseOrders = invoices.Rows.Count,
|
|
||||||
' .ImportOrders = 0
|
|
||||||
'}
|
|
||||||
|
|
||||||
app.ApplicantSignature = New ApplicantSignature()
|
|
||||||
|
|
||||||
Return app
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Shared Function BuildPurchaseInformation(
|
|
||||||
invoices As DataTable
|
|
||||||
) As PurchaseInformation
|
|
||||||
|
|
||||||
Dim result As New PurchaseInformation With {
|
|
||||||
.Invoices = New List(Of Invoice)()
|
|
||||||
}
|
|
||||||
|
|
||||||
Dim seq As Integer = 1
|
|
||||||
|
|
||||||
For Each r As DataRow In invoices.Rows
|
|
||||||
|
|
||||||
Dim inv As New Invoice With {
|
|
||||||
.SequenceNumber = seq,
|
|
||||||
.simplifiedInvoice = 0,
|
|
||||||
.ReferenceNumber = r!InvoiceNo.ToString(),
|
|
||||||
.IssuingDate = CDate(r!InvoiceDate).ToString("yyyy-MM-dd"),
|
|
||||||
.GoodsDescription = New GoodsDescription With {
|
|
||||||
.GoodsItem = New GoodsItem With {
|
|
||||||
.Code = r!GoodsCode.ToString(),
|
|
||||||
.SubCode = r!GoodsSubCode.ToString()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
.TransactionDescription = New TransactionDescription With {
|
|
||||||
.TaxableAmount = CDec(r!NetAmount),
|
|
||||||
.VATAmount = CDec(r!VatAmount)
|
|
||||||
},
|
|
||||||
.Deduction = New Deduction With {
|
|
||||||
.DeductibleVATAmount = CDec(r!VatAmount)
|
|
||||||
},
|
|
||||||
.EUSupplier = New EUSupplier With {
|
|
||||||
.NameFree = r!SupplierName.ToString(),
|
|
||||||
.AddressFree = r!SupplierAddress.ToString(),
|
|
||||||
.CountryCode = "AT",
|
|
||||||
.EUTraderID = New EUTraderID With {
|
|
||||||
.VATIdentificationNumber = r!SupplierVatId.ToString()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
result.Invoices.Add(inv)
|
|
||||||
seq += 1
|
|
||||||
Next
|
|
||||||
|
|
||||||
Return result
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports System.Reflection
|
Imports System.Reflection
|
||||||
Imports System.Text
|
|
||||||
Imports System.Windows.Documents
|
Imports System.Windows.Documents
|
||||||
Imports System.Xml.Serialization
|
|
||||||
Imports com.sun.crypto.provider
|
|
||||||
Imports GrapeCity.SpreadBuilder
|
|
||||||
Imports itextsharp.text.pdf
|
Imports itextsharp.text.pdf
|
||||||
Imports Microsoft.Office.Interop
|
Imports Microsoft.Office.Interop
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
@@ -844,21 +840,21 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung = "EUR" Then
|
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung = "EUR" Then
|
||||||
|
|
||||||
UST_org = Math.Round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
UST_org = Math.round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
|
|
||||||
ElseIf USTV_ANTRAG.UStVAn_Währungscode = "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung <> "EUR" Then
|
ElseIf USTV_ANTRAG.UStVAn_Währungscode = "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung <> "EUR" Then
|
||||||
|
|
||||||
UST_EUR = Math.Round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
UST_EUR = Math.round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
|
|
||||||
ElseIf USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung <> "EUR" Then
|
ElseIf USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung <> "EUR" Then
|
||||||
|
|
||||||
UST_EUR = Math.Round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
UST_EUR = Math.round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
||||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -986,7 +982,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Dim umrechKurs As Double = 1
|
Dim umrechKurs As Double = 1
|
||||||
Dim UST_EUR = CDbl(r.Item("SteuerbetragLokal"))
|
Dim UST_EUR = CDbl(r.Item("SteuerbetragLokal"))
|
||||||
|
|
||||||
UST_EUR = Math.Round(UST_EUR, 2)
|
UST_EUR = Math.round(UST_EUR, 2)
|
||||||
|
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR
|
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
||||||
@@ -1104,12 +1100,12 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
'umrechKurs = frmdw / eur
|
'umrechKurs = frmdw / eur
|
||||||
|
|
||||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If CDbl(r.Item("rmc_betragMWST")) <> 0 Then
|
If CDbl(r.Item("rmc_betragMWST")) <> 0 Then
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2)
|
USTV_POS.UStVPo_USteuerbetragEUR = Math.round((r.Item("rmc_betragMWST") / umrechKurs), 2)
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
||||||
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
|
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
|
||||||
End If
|
End If
|
||||||
@@ -1182,7 +1178,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
'umrechKurs = UST_org / UST_EUR
|
'umrechKurs = UST_org / UST_EUR
|
||||||
|
|
||||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1264,7 +1260,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
|
|
||||||
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
||||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -1380,11 +1376,11 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then
|
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then
|
||||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||||
UST_org = Math.Round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
UST_org = Math.round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
||||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -1547,8 +1543,8 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Else
|
Else
|
||||||
|
|
||||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
USTV_POS.UStVPo_USteuerbetragEUR = Math.round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
USTV_POS.UStVPo_Umrechnungskurs = Math.floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||||
@@ -1556,10 +1552,10 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Dim kurs As New cEZB_Waehrungskurse(r.Cells("total_VAT_currency").Value)
|
Dim kurs As New cEZB_Waehrungskurse(r.Cells("total_VAT_currency").Value)
|
||||||
If r.Cells("total_VAT_currency").Value <> "EUR" Then
|
If r.Cells("total_VAT_currency").Value <> "EUR" Then
|
||||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
USTV_POS.UStVPo_USteuerbetragEUR = Math.round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
USTV_POS.UStVPo_Umrechnungskurs = Math.floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||||
ElseIf r.Cells("total_VAT_currency").Value = "EUR" Then
|
ElseIf r.Cells("total_VAT_currency").Value = "EUR" Then
|
||||||
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
USTV_POS.UStVPo_USteuerbetrag = Math.round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = USTV_POS.UStVPo_USteuerbetrag
|
USTV_POS.UStVPo_USteuerbetragEUR = USTV_POS.UStVPo_USteuerbetrag
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = 1
|
USTV_POS.UStVPo_Umrechnungskurs = 1
|
||||||
End If
|
End If
|
||||||
@@ -1568,13 +1564,13 @@ Public Class frmMDM_USTVAntrag
|
|||||||
If r.Cells("total_VAT_currency").Value = "EUR" Then
|
If r.Cells("total_VAT_currency").Value = "EUR" Then
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value
|
USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value
|
||||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||||
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
USTV_POS.UStVPo_USteuerbetrag = Math.round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
USTV_POS.UStVPo_Umrechnungskurs = Math.floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||||
Else
|
Else
|
||||||
USTV_POS.UStVPo_USteuerbetrag = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, USTV_ANTRAG.UStVAn_Währungscode)
|
USTV_POS.UStVPo_USteuerbetrag = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, USTV_ANTRAG.UStVAn_Währungscode)
|
||||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
USTV_POS.UStVPo_USteuerbetragEUR = Math.round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
USTV_POS.UStVPo_Umrechnungskurs = Math.floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@@ -1636,10 +1632,10 @@ Public Class frmMDM_USTVAntrag
|
|||||||
averageUmrechnungskurs = averageUmrechnungskurs / dgvUSTVPositionen.Rows.Count
|
averageUmrechnungskurs = averageUmrechnungskurs / dgvUSTVPositionen.Rows.Count
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim abw As Double = Math.Abs(Math.Round(GesamtUSteuer / averageUmrechnungskurs, 2) - Math.Round(GesamtUSteuerEUR, 2))
|
Dim abw As Double = Math.abs(Math.round(GesamtUSteuer / averageUmrechnungskurs, 2) - Math.round(GesamtUSteuerEUR, 2))
|
||||||
|
|
||||||
If abw >= 250 Then
|
If abw >= 250 Then
|
||||||
MsgBox("Bitte Umrechnungskurs in den Antragspositionen kontrollieren!" & vbNewLine & "Der Steuerbetrag weicht um " & Math.Round(abw, 2) & "€ vom FW-Steuerbetrag ab! ")
|
MsgBox("Bitte Umrechnungskurs in den Antragspositionen kontrollieren!" & vbNewLine & "Der Steuerbetrag weicht um " & Math.round(abw, 2) & "€ vom FW-Steuerbetrag ab! ")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@@ -3963,38 +3959,150 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
Dim FIRMA As New cFirmen(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID)
|
Dim FIRMA As New cFirmen(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID)
|
||||||
|
|
||||||
|
Dim ADR As New cAdressen(USTV_ANTRAG.UStVAn_KuNr)
|
||||||
|
Dim KUNDE As New cKunde(USTV_ANTRAG.UStVAn_KuNr)
|
||||||
|
Dim KUNDE_ERW As New cKundenErweitert(USTV_ANTRAG.UStVAn_KuNr)
|
||||||
|
|
||||||
|
|
||||||
|
Dim filePath As String = ""
|
||||||
|
Dim fileName As String = USTV_ANTRAG.UStVAn_KuNr & "_" & Antrag_LandKz & "_" & CDate(USTV_ANTRAG.UStVAn_ReDatVon).Month & "_" & CDate(USTV_ANTRAG.UStVAn_ReDatBis).Month & "_" & CDate(USTV_ANTRAG.UStVAn_ReDatBis).Year & "_VATRefund.xml"
|
||||||
|
|
||||||
|
Dim saveDialog As New SaveFileDialog() With {
|
||||||
|
.Title = "XML-Datei speichern",
|
||||||
|
.Filter = "XML-Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*",
|
||||||
|
.DefaultExt = "xml",
|
||||||
|
.AddExtension = True,
|
||||||
|
.FileName = fileName,
|
||||||
|
.OverwritePrompt = True
|
||||||
|
}
|
||||||
|
|
||||||
|
If saveDialog.ShowDialog() = DialogResult.OK Then
|
||||||
|
filePath = saveDialog.FileName
|
||||||
|
Else
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim fullFilePath As String = saveDialog.FileName
|
||||||
|
Dim directoryPath As String = Path.GetDirectoryName(fullFilePath)
|
||||||
|
|
||||||
|
If Not Directory.Exists(directoryPath) Then
|
||||||
|
Directory.CreateDirectory(directoryPath)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim app As New VATRefundApplication() With {
|
||||||
|
.CodF1 = New FormInfo With {.FormType = "D318", .FormId = 318, .UniversalCode = "D318_A1.0.0"},
|
||||||
|
.RefundPeriod = New Period With {.StartDate = CDate(USTV_ANTRAG.UStVAn_ReDatVon).Month, .EndDate = CDate(USTV_ANTRAG.UStVAn_ReDatBis).Month},
|
||||||
|
.ApplicationReference = New ApplicationReference With {
|
||||||
|
.Year = CDate(USTV_ANTRAG.UStVAn_ReDatBis).Year,
|
||||||
|
.RefundingCountryCode = Antrag_LandKz,
|
||||||
|
.Language = "DE",
|
||||||
|
.Currency = USTV_ANTRAG.UStVAn_Währungscode,
|
||||||
|
.ApplicationType = 1,
|
||||||
|
.ReferenceNumber = "",
|
||||||
|
.Annual = 0,
|
||||||
|
.an_r = CDate(USTV_ANTRAG.UStVAn_ReDatBis).Year,
|
||||||
|
.d_rec = 0,
|
||||||
|
.luna_r = CDate(USTV_ANTRAG.UStVAn_ReDatBis).Month,
|
||||||
|
.cif = ADR.Steuernummer.ToString.Replace("RO", ""),
|
||||||
|
.totalPlata_A = 0
|
||||||
|
},
|
||||||
|
.ProrateAdjustment = New ProrateAdjustment With {.Year = "", .FinalProrate = ""},
|
||||||
|
.Applicant = New Party With {
|
||||||
|
.NameFree = ADR.Name_1,
|
||||||
|
.VATIdentificationNumber = ADR.Steuernummer.ToString.Replace("RO", ""),
|
||||||
|
.AddressFree = ADR.Straße.ToString & vbCrLf & ADR.LandKz.ToString & " - " & ADR.PLZ.ToString & " -" & ADR.Ort.ToString, '"RO - 550270 - MUN. SIBIU",
|
||||||
|
.PostCode = "", .Phone = "", .EmailAddress = "juricevic@verag.ag"
|
||||||
|
},
|
||||||
|
.BusinessDescription = New BusinessDescription With {
|
||||||
|
.d_caen = 2, .CAEN = "4941--Transp.rutiere de marfuri", .BusinessActivity = 4941
|
||||||
|
},
|
||||||
|
.Representative = New Party With {
|
||||||
|
.NameFree = "VERAG 360 GMBH",
|
||||||
|
.RepresentativeID = "ATU76165837",
|
||||||
|
.AddressFree = "SUBEN NR. 100, AT-4975 SUBEN",
|
||||||
|
.PostCode = "4975",
|
||||||
|
.Phone = "00437711277719",
|
||||||
|
.EmailAddress = "juricevic@verag.ag",
|
||||||
|
.CountryCode = "AT",
|
||||||
|
.IdentificationType = "TIN"
|
||||||
|
},
|
||||||
|
.DetailedBankAccount = New BankAccount With {
|
||||||
|
.Total = 5947.99D,
|
||||||
|
.Currency = "EUR",
|
||||||
|
.OwnerType = 1,
|
||||||
|
.OwnerName = "VERAG 360 GMBH",
|
||||||
|
.IBAN = "AT053445500004210225",
|
||||||
|
.BIC = "RZOOAT2L455"
|
||||||
|
},
|
||||||
|
.NumberOfDocuments = New NumberOfDocuments With {.AtachatedFiles = 0, .PurchaseOrders = 16, .ImportOrders = 0},
|
||||||
|
.ApplicantSignature = New Signature With {.NameFree = "", .Position = ""}
|
||||||
|
}
|
||||||
|
|
||||||
|
Dim counter As Integer = 1
|
||||||
|
|
||||||
For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index)
|
For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index)
|
||||||
|
|
||||||
|
app.PurchaseInformation.Invoices.Add(New Invoice With {
|
||||||
|
.SequenceNumber = counter,
|
||||||
|
.SimplifiedInvoice = 0,
|
||||||
|
.ReferenceNumber = row.Cells("UStVPo_ReNr").Value, ' "25/000616354/987",
|
||||||
|
.IssuingDate = row.Cells("UStVPo_ReDat").Value,'"2025-11-30",
|
||||||
|
.GoodsDescription = New GoodsDescription With {.GoodsItem = New GoodsItem With {.Code = 1, .SubCode = "1.1.2", .FreeText = ""}},
|
||||||
|
.TransactionDescription = New TransactionDescription With {.TaxableAmount = "00.00", .VATAmount = row.Cells("UStVPo_USteuerbetrag").Value},
|
||||||
|
.Deduction = New Deduction With {.ProRataRate = "", .DeductibleVATAmount = row.Cells("UStVPo_USteuerbetrag").Value},
|
||||||
|
.EUSupplier = New Party With {
|
||||||
|
.NameFree = row.Cells("UStVPo_Leistender").Value,'"DKV EURO SERVICE GMBH + CO KG",
|
||||||
|
.AddressFree = row.Cells("UstV_Leistender_Strasse").Value & " " & row.Cells("UstV_Leistender_Land").Value & " " & row.Cells("UstV_Leistender_PLZ").Value & " " & row.Cells("UstV_Leistender_Stadt").Value,'"BALCKE DÜRR ALLEE 3 DE 40882 RATINGEN",
|
||||||
|
.CountryCode = Antrag_LandKz,
|
||||||
|
.VATIdentificationNumber = Nothing
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
'[UStVAn_ID] , [UStVPo_ID], [UStVPo_ReDat], [UStVPo_ReNr], [UStVPo_Leistungsbezeichnung], [UStVPo_Leistender], leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId], [UStVPo_daId_loeschbar] ,[UStVPo_VZ],[UStVPo_VZ_RKID]
|
||||||
|
|
||||||
|
' =========================
|
||||||
|
' 3️⃣ ImportInformation hinzufügen (wenn vorhanden - OPTIONAL)
|
||||||
|
' =========================
|
||||||
|
' app.ImportInformation._Imports.Add(New Invoice With {
|
||||||
|
' .SequenceNumber = 17,
|
||||||
|
' .ReferenceNumber = "",
|
||||||
|
' .IssuingDate = "",
|
||||||
|
' .GoodsDescription = New GoodsDescription With {.GoodsItem = New GoodsItem With {.FreeText = "", .Code = 0, .SubCode = ""}},
|
||||||
|
' .Deduction = New Deduction With {.DeductibleVATAmount = "0.00", .ProRataRate = ""}
|
||||||
|
'})
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' sicherstellen, dass das Verzeichnis existiert
|
' =========================
|
||||||
If Not Directory.Exists(sPath) Then
|
' 4️⃣ Dokumente hinzufügen
|
||||||
Directory.CreateDirectory(sPath)
|
' =========================
|
||||||
End If
|
'app.DocumentCopy.Add(New DocumentCopy With {
|
||||||
|
'.Bifa_atasament = 1,
|
||||||
Dim fn As String = Path.Combine(sPath, "D318.xml")
|
'.Document = New DocumentFile With {
|
||||||
|
' .FileName = "RG_AT_10_12_2025.zip",
|
||||||
Dim app = VATRefundMapper.BuildApplication(CDate(USTV_ANTRAG.UStVAn_ReDatVon).Year, CDate(USTV_ANTRAG.UStVAn_ReDatVon).Month, CDate(USTV_ANTRAG.UStVAn_ReDatBis).Month, dtInvoices, FIRMA, USTV_ANTRAG)
|
' .FileType = "application/zip",
|
||||||
|
' .FileDescription = "INVOICES/POA"
|
||||||
Dim ser As New XmlSerializer(GetType(VATRefundApplication))
|
'}
|
||||||
|
'})
|
||||||
Using sw As New StreamWriter("VATRefund.xml", False, Encoding.UTF8)
|
|
||||||
ser.Serialize(sw, app)
|
|
||||||
End Using
|
|
||||||
|
|
||||||
|
' =========================
|
||||||
|
' 5️⃣ XML erzeugen
|
||||||
|
' =========================
|
||||||
|
Dim xml As Chilkat.Xml = app.ToXml()
|
||||||
|
Dim xmlString As String = xml.GetXml()
|
||||||
|
Console.WriteLine(xmlString)
|
||||||
|
System.IO.File.WriteAllText(filePath, xmlString)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
|
|||||||
Reference in New Issue
Block a user