Date: prev next · Thread: first prev next last
2025 Archives by date, by thread · List index


Hallo,

wegen eines persönlichen Bedarfs habe ich ein kleines Calc-Makro gschrieben, dass die Erbschaftsteuer berechnet. Bei der Erbschaftsteuer gibt es je nach Verwandschaftsgrad unterschiedliche Freibeträge und daraus resultierenden Steuerklassen. Außerdem unterscheiden sich die Steuersätze je nach Steuerklasse und zu versteuerndem Betrag.

Details finden sich z. B. hier: https://www.steuertipps.de/service/rechner/erbschaftsteuerrechner

Ich vermute, dass es im Steuerrecht noch einige Sonderfälle gibt, die die tatsächliche Steuer modifizieren. Die habe ich in meinem Makro nicht erfasst. Mir ging es vor allem darum, ein einfaches Werkzeug für eine erste Berechnung an der Hand zu haben.

Das Makro liefert Ergebnisse wie in diesem Screenshot:
https://my.hidrive.com/lnk/TnCBJgaKC

Was haltet ihr von diesem Code?

```basic
Function Erbschaftsteuer(Verwandschaftsgrad as String, Betrag as Long) as Long
        REM Diese Funktion berechnet die Erbschaftsteuer basierend auf
        REM dem Verwandschaftsgrad und dem aus diesem resultierenden
        REM Freibetrag und der Steuerklasse. Die Steuersätze
        REM unterscheiden sich je nach Steuerklasse in den
        REM unterschiedlichen Stufe.
        REM Details finden sich z. B. hier:
        REM https://www.steuertipps.de/service/rechner/erbschaftsteuerrechner
        
        REM Die Verwandschaftsgrade mit Freibetrag und Steuerklasse:
        REM A: für Ehepartner und Lebenspartner einer eingetragenen
        REM     Lebenspartnerschaft
        REM     Freibetrag, 500.000 Euro, Steuerklasse I
        REM B: für Kinder und Enkelkinder, deren Eltern verstorben sind,
        REM     sowie für Stief- und Adoptivkinder
        REM     Freibetrag 400.000 Euro, Steuerklasse I
        REM C: für Enkelkinder
        REM     Freibetrag 200.000 Euro, Steuerklasse I
        REM D: Urenkel; für Eltern und Großeltern beim Erwerb durch
        REM     Erbschaft
        REM     Freibetrag 100.000 Euro, Steuerklasse I
        REM E: für Eltern und Großeltern beim Erwerb durch Schenkung,
        REM     für Geschwister, Kinder der Geschwister,
        REM     Stiefeltern, Schwiegerkinder, Schwiegereltern,
        REM     geschiedene Ehepartner
        REM     und Lebenspartner einer aufgehobenen Lebenspartnerschaft
        REM     Freibetrag 20.000 Euro, Steuerklasse II
        REM F: für alle anderen Empfänger einer Schenkung oder Erbschaft
        REM     Freibetrag 20.000 Euro, Steuerklasse III
        
        REM Der Verwandschaftsgrad als Array-Index.
        Dim Kategorie as Integer
        REM Die Steuerklasse als Array-Index.
        Dim Steuerklasse as Integer
        
        Select Case Verwandschaftsgrad
                Case "A":
                        Kategorie = 0
                        Steuerklasse = 0 REM Steuerklasse I
                Case "B":
                        Kategorie = 1
                        Steuerklasse = 0 REM Steuerklasse I
                Case "C":
                        Kategorie = 2
                        Steuerklasse = 0 REM Steuerklasse I
                Case "D":
                        Kategorie = 3
                        Steuerklasse = 0 REM Steuerklasse I
                Case "E":
                        Kategorie = 4
                        Steuerklasse = 1 REM Steuerklasse II
                Case "F":
                        Kategorie = 5
                        Steuerklasse = 2 REM Steuerklasse III
        End Select

        Dim Freibetrag(6) As Long REM in Euro
        Freibetrag(0) = 500000
        Freibetrag(1) = 400000
        Freibetrag(2) = 200000
        Freibetrag(3) = 100000
        Freibetrag(4) = 20000
        Freibetrag(5) = 20000
        
        Dim Stufe(7) as Long REM in Euro
        Stufe(0) = 0
        Stufe(1) = 75000
        Stufe(2) = 300000
        Stufe(3) = 600000
        Stufe(4) = 6000000
        Stufe(5) = 13000000
        Stufe(6) = 26000000
        
        Dim Steuersatz(7, 3) As Integer REM in Prozent
        Steuersatz(0, 0) = 7
        Steuersatz(0, 1) = 15
        Steuersatz(0, 2) = 30
        Steuersatz(1, 0) = 11
        Steuersatz(1, 1) = 20
        Steuersatz(1, 2) = 30
        Steuersatz(2, 0) = 15
        Steuersatz(2, 1) = 25
        Steuersatz(2, 2) = 30
        Steuersatz(3, 0) = 19
        Steuersatz(3, 1) = 30
        Steuersatz(3, 2) = 30
        Steuersatz(4, 0) = 23
        Steuersatz(4, 1) = 35
        Steuersatz(4, 2) = 50
        Steuersatz(5, 0) = 27
        Steuersatz(5, 1) = 40
        Steuersatz(5, 2) = 50
        Steuersatz(6, 0) = 30
        Steuersatz(6, 1) = 43
        Steuersatz(6, 2) = 50

        zu_versteuernder_Betrag = Betrag - Freibetrag(Kategorie)
        
        Dim anzuwendender_Steuersatz as Integer
        
        For i = 0 To 6
                if zu_versteuernder_Betrag > Stufe(i) Then
                        anzuwendender_Steuersatz = Steuersatz(i, Steuerklasse)
                End If
        Next i
        
        Erbschaftsteuer = zu_versteuernder_Betrag * anzuwendender_Steuersatz / 100
End Function
```

Viele Grüße

Lutz

--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.