MDM. Zugferd, LeistungenFIBUKonten, USTVA, MSE
This commit is contained in:
@@ -1,15 +1,8 @@
|
||||
|
||||
Imports System.Globalization
|
||||
Imports System.Net
|
||||
Imports System.Runtime.Serialization
|
||||
Imports System.Xml
|
||||
Imports DocumentFormat.OpenXml.Office.CustomUI
|
||||
Imports GrapeCity.ActiveReports.ReportsCore.Tools
|
||||
Imports itextsharp.text.pdf
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
Imports VERAG_PROG_ALLGEMEIN.Spire.Pdf
|
||||
Imports VERAG_PROG_ALLGEMEIN.Spire.Pdf.Attachments
|
||||
Imports s2industries.ZUGFeRD
|
||||
Imports System.IO
|
||||
|
||||
@@ -1796,39 +1789,56 @@ Public Class cFakturierung
|
||||
|
||||
|
||||
Dim steuerProzent As Double = SQL.DLookup(" isnull([Steuersatz %],0)", "[Steuertabelle] ", "[Steuerschlüssel]='" & checkNull(RECHNUNG.Steuerschlüssel) & "'", "FMZOLL", 0)
|
||||
Dim steuerProzenFaktor As Double = 0
|
||||
If steuerProzent > 0 AndAlso steuerProzent < 1 Then
|
||||
steuerProzenFaktor = steuerProzent * 100
|
||||
End If
|
||||
|
||||
|
||||
desc.SetTotals(
|
||||
lineTotalAmount:=Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag), 'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
||||
chargeTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Zuschläge der Dokumentenebene
|
||||
allowanceTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Abschläge der Dokumenteneben
|
||||
taxBasisAmount:=Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0), ' Die Gesamtsumme der Rechnung ohne Umsatzsteuer
|
||||
taxTotalAmount:=Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) * steuerProzent, 'Der Gesamtbetrag der Umsatzsteuer für die Rechnung
|
||||
grandTotalAmount:=Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag * steuerProzent), 'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
|
||||
totalPrepaidAmount:=0, 'Die Summe der im Voraus gezahlten Beträge
|
||||
duePayableAmount:=Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag * steuerProzent), 'Der ausstehende Betrag, um dessen Zahlung gebeten wird. Dieser Betrag ist der Rechnungsgesamtbetrag einschließlich Umsatzsteuer abzüglich des im Voraus gezahlten Betrages.Im Falle einer vollständig beglichenen Rechnung ist dieser Betrag gleich null. Der Betrag kann negativ sein; In diesem Fall schuldet der Verkäufer dem Käufer den Betrag
|
||||
roundingAmount:=0 'Der Betrag, der dem Rechnungsgesamtbetrag hinzuzufügen ist, um den zu zahlenden Betrag zu runden
|
||||
)
|
||||
|
||||
Dim lineTotalAmont = RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag
|
||||
|
||||
desc.AddTradePaymentTerms(RECHNUNG.TextZZ, zahlungszieldatum)
|
||||
|
||||
Dim sumNetto = 0
|
||||
For Each p In RECHNUNG.POSITIONEN
|
||||
|
||||
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||||
name:=p.LeistungsBez,
|
||||
billedQuantity:=Convert.ToDecimal(p.Anzahl),
|
||||
unitCode:=QuantityCodes.C62, ' Stück
|
||||
unitCode:=QuantityCodes.C62, ' immer in Stück
|
||||
netUnitPrice:=Convert.ToDecimal(p.Preis),
|
||||
grossUnitPrice:=IIf(p.Steuerpflichtig, Convert.ToDecimal(p.Preis * RECHNUNG.Steuersatz_Proz), Convert.ToDecimal(p.Preis)),
|
||||
grossUnitPrice:=Convert.ToDecimal(p.Preis),
|
||||
categoryCode:=IIf(p.Steuerpflichtig, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
||||
taxPercent:=IIf(p.Steuerpflichtig, Convert.ToDecimal(RECHNUNG.Steuersatz_Proz), 0),
|
||||
taxPercent:=IIf(p.Steuerpflichtig, Convert.ToDecimal(RECHNUNG.Steuersatz_Proz * 100), 0),
|
||||
taxType:=IIf(p.Steuerpflichtig, TaxTypes.VAT, TaxTypes.VAT)
|
||||
)
|
||||
|
||||
Dim netUnitPrice = Convert.ToDecimal(p.Preis)
|
||||
Dim grossUnitPrice = IIf(p.Steuerpflichtig, Convert.ToDecimal(p.Preis * (1 + RECHNUNG.Steuersatz_Proz)), Convert.ToDecimal(p.Preis))
|
||||
Dim netPricePos = netUnitPrice * Convert.ToDecimal(p.Anzahl)
|
||||
sumNetto += netPricePos
|
||||
Next
|
||||
|
||||
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
||||
Dim lineTotalAmont = sumNetto
|
||||
'Der Gesamtbetrag der Umsatzsteuer für die Rechnung,
|
||||
Dim taxTotalAmount = IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0)
|
||||
' Die Gesamtsumme der Rechnung ohne Umsatzsteuer ' RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0
|
||||
Dim taxBasisAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0 - taxTotalAmount)
|
||||
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
|
||||
Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||||
'Der ausstehende Betrag, um dessen Zahlung gebeten wird. Dieser Betrag ist der Rechnungsgesamtbetrag einschließlich Umsatzsteuer abzüglich des im Voraus gezahlten Betrages.Im Falle einer vollständig beglichenen Rechnung ist dieser Betrag gleich null. Der Betrag kann negativ sein; In diesem Fall schuldet der Verkäufer dem Käufer den Betrag
|
||||
Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||||
|
||||
desc.SetTotals(
|
||||
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),
|
||||
chargeTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Zuschläge der Dokumentenebene
|
||||
allowanceTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Abschläge der Dokumenteneben
|
||||
taxBasisAmount:=Convert.ToDecimal(taxBasisAmount),
|
||||
taxTotalAmount:=Convert.ToDecimal(taxTotalAmount),
|
||||
grandTotalAmount:=Convert.ToDecimal(grandTotalAmount),
|
||||
totalPrepaidAmount:=0, 'Die Summe der im Voraus gezahlten Beträge
|
||||
duePayableAmount:=Convert.ToDecimal(duePayableAmount),
|
||||
roundingAmount:=0 'Der Betrag, der dem Rechnungsgesamtbetrag hinzuzufügen ist, um den zu zahlenden Betrag zu runden
|
||||
)
|
||||
|
||||
|
||||
desc.AddTradePaymentTerms(RECHNUNG.TextZZ, zahlungszieldatum)
|
||||
|
||||
Dim isReverseCharge = isReverseChargeSumme(FIRMA, RECHNUNG)
|
||||
|
||||
@@ -1837,7 +1847,7 @@ Public Class cFakturierung
|
||||
End If
|
||||
|
||||
If RECHNUNG.SteuerpflichtigerGesamtbetrag > 0 Then
|
||||
desc.AddApplicableTradeTax(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag), Convert.ToDecimal(RECHNUNG.Steuersatz_Proz), Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag * RECHNUNG.Steuersatz_Proz), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S))
|
||||
desc.AddApplicableTradeTax(Convert.ToDecimal(taxBasisAmount), Convert.ToDecimal(steuerProzenFaktor), Convert.ToDecimal(taxTotalAmount), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S))
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user