fix Zugferd

This commit is contained in:
2025-08-08 14:51:08 +02:00
parent 59f19c2f9f
commit 63e306e20b
2 changed files with 72 additions and 37 deletions

View File

@@ -2119,13 +2119,14 @@ Public Class cFakturierung
'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)
'IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0)
Dim taxTotalAmount = IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100) * 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)
Dim taxBasisAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0)
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
'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)
Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
desc.SetTotals(
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),
@@ -2417,13 +2418,14 @@ Public Class cFakturierung
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
Dim lineTotalAmont = sumNetto
'Der Gesamtbetrag der Umsatzsteuer für die Rechnung,
Dim taxTotalAmount = IIf(Gesamt_RG_BetragSteuerpflichtig <> 0, Math.Round(Convert.ToDecimal(Gesamt_RG_BetragSteuerpflichtig) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0)
'IIf(Gesamt_RG_BetragSteuerpflichtig <> 0, Math.Round(Convert.ToDecimal(Gesamt_RG_BetragSteuerpflichtig) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0)
Dim taxTotalAmount = IIf(Gesamt_RG_BetragSteuerpflichtig <> 0, Math.Round(Convert.ToDecimal(Gesamt_RG_BetragSteuerpflichtig) / (100) * steuerProzenFaktor, 2), 0)
' Die Gesamtsumme der Rechnung ohne Umsatzsteuer ' RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0
Dim taxBasisAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + 0 - 0 - taxTotalAmount)
Dim taxBasisAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + 0 - 0)
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
Dim grandTotalAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig)
Dim grandTotalAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + taxTotalAmount)
'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(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig)
Dim duePayableAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + taxTotalAmount)
desc.SetTotals(
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),

View File

@@ -1,6 +1,7 @@

Imports System.Data.SqlClient
Imports System.Reflection
Imports jdk.nashorn.internal.ir
Public Class cOfferteList
Property KundenNr As Object = Nothing
@@ -270,21 +271,8 @@ Public Class cOfferte
'P.PreisänderungProzent = XXXXXXXXX
'P.PreisAlt = XXXXXXXXX
Dim LandISO As String = ""
Select Case P.OffertenNr
Case 31, 15, 14
If (P.LeistungsNr = 124 Or P.LeistungsNr = 125 Or P.LeistungsNr = 126) Then
LandISO = P.LeistungsBez.ToString.Substring(P.LeistungsBez.ToString.Length - 2, 2)
End If
End Select
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
P.Land = LandISO
End If
P.Land = setLand(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
P.VZ = setVZ(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
If Not P.INSERT() Then
Return False
@@ -307,10 +295,8 @@ Public Class cOfferte
Dim P As New cOffertPosition()
Dim Leistung As New cLeistungen(r("LeistungsNr"))
P.KundenNr = Me.KundenNr
P.OffertenNr = Me.OffertenNr
P.LeistungsNr = r("LeistungsNr")
Dim leistBez As String = ""
@@ -346,18 +332,8 @@ Public Class cOfferte
'P.PreisänderungProzent = XXXXXXXXX
'P.PreisAlt = XXXXXXXXX
Dim LandISO As String = ""
Select Case P.OffertenNr
Case 31, 15, 14
LandISO = P.LeistungsBez.ToString.Substring(P.LeistungsBez.ToString.Length - 2, 2)
End Select
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
P.Land = LandISO
End If
P.Land = setLand(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
P.VZ = setVZ(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
If Not P.INSERT() Then
Return False
@@ -370,6 +346,63 @@ Public Class cOfferte
End If
End Function
Private Function setLand(OffertenNr As Integer, LeistungsNr As Integer, LeistungsBez As String) As String
Dim LandISO As String = ""
Select Case OffertenNr
Case 31, 15, 14
If (LeistungsNr = 124 Or LeistungsNr = 125 Or LeistungsNr = 126) Then
LandISO = LeistungsBez.ToString.Substring(LeistungsBez.ToString.Length - 2, 2)
End If
If (LeistungsNr = 117 Or LeistungsNr = 118 Or LeistungsNr = 119) Then
LandISO = LeistungsBez.ToString.Substring(LeistungsBez.ToString.Length - 2, 2)
End If
End Select
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
If LandISO <> "EU" And LandISO <> "RG" Then
Return LandISO
Else
Return LandISO
End If
End If
Return LandISO
End Function
Private Function setVZ(OffertenNr As Integer, LeistungsNr As Integer, LeistungsBez As String) As Boolean
Select Case OffertenNr
Case 31, 15, 14
If (LeistungsNr = 117 Or LeistungsNr = 118 Or LeistungsNr = 119) Then
If LeistungsBez.ToString.Contains("ZV") Then
Return True
Else
Return False
End If
End If
If (LeistungsNr = 124 Or LeistungsNr = 125 Or LeistungsNr = 126) Then
If LeistungsBez.ToString.Contains("ZV") Then
Return True
Else
Return False
End If
End If
End Select
End Function
End Class