1 |
|
# -*- coding: iso-8859-1 -*- |
2 |
# -------------------------------------------------------------------- |
# -------------------------------------------------------------------- |
3 |
# LST2005 -- Python Modul zur Berechnung der Deutschen Lohnsteuer 2005 |
# LST2005 -- Python Modul zur Berechnung der Deutschen Lohnsteuer 2005 |
4 |
# $Id$ |
# $Id$ |
12 |
# Read the file COPYING coming with this package for details. |
# Read the file COPYING coming with this package for details. |
13 |
|
|
14 |
"""Lohnsteuerberechnung nach dem offiziellen Programmablaufplan |
"""Lohnsteuerberechnung nach dem offiziellen Programmablaufplan |
15 |
wie in Programmablaufplan-LSt.pdf dokumentiert.""" |
wie im offiziellen Programmablaufplan des Bundesfinanzministerium |
16 |
|
dokumentiert. |
17 |
|
http://www.bundesfinanzministerium.de/Service/Interaktiver-Steuerrechner-.577.htm""" |
18 |
|
|
19 |
__version__ = "$Revision$" |
__version__ = "$Revision$" |
20 |
# $Source$ |
# $Source$ |
149 |
self._VSPO = 0.0 # 2 Dezimalstellen |
self._VSPO = 0.0 # 2 Dezimalstellen |
150 |
self._VSPREST = 0.0 # 2 Dezimalstellen |
self._VSPREST = 0.0 # 2 Dezimalstellen |
151 |
self._VSPVOR = 0.0 # 2 Dezimalstellen |
self._VSPVOR = 0.0 # 2 Dezimalstellen |
|
# Jetzt wirds richtig toll: X und Y |
|
|
# kann mal bitte jemand den Verantwortlichen f�r diese |
|
|
# Variablen Namen schlagen? |
|
152 |
self._X = 0.0 # 2 Dezimalstellen |
self._X = 0.0 # 2 Dezimalstellen |
153 |
self._Y = 0.0 # 6 Dezimalstellen |
self._Y = 0.0 # 6 Dezimalstellen |
154 |
self._ZRE4 = 0.0 # 2 Dezimalstellen |
self._ZRE4 = 0.0 # 2 Dezimalstellen |
578 |
self.WFUNDF = value |
self.WFUNDF = value |
579 |
|
|
580 |
def Set_ZKF(self, value): |
def Set_ZKF(self, value): |
581 |
|
assert float(value) == float("%.1f" % value) and \ |
582 |
|
value >= 0, \ |
583 |
|
"must be positive, and must not have more than one decimal digit" |
584 |
self.ZKF = value |
self.ZKF = value |
585 |
|
|
586 |
def Set_ZMVB(self, value): |
def Set_ZMVB(self, value): |
587 |
self.ZMVB = value |
self.ZMVB = value |
588 |
|
|
599 |
|
|
600 |
def SetLohn(self, lohn): |
def SetLohn(self, lohn): |
601 |
"""Setzt Lohn in Euro.Cent""" |
"""Setzt Lohn in Euro.Cent""" |
602 |
self.Set_RE4(lohn * 100.0) |
self.Set_RE4(round (lohn * 100.0)) |
603 |
|
|
604 |
|
def GetLohn(self): |
605 |
|
"""Liefert Lohn in Euro.Cent""" |
606 |
|
return self.RE4 / 100.0 |
607 |
|
|
608 |
def SetZeitraum(self, lzz): |
def SetZeitraum(self, lzz): |
609 |
"""Setzt Berechnungszeitraum (JAHR, MONAT, WOCHE, TAG)""" |
"""Setzt Berechnungszeitraum (JAHR, MONAT, WOCHE, TAG)""" |
610 |
self.Set_LZZ(lzz) |
self.Set_LZZ(lzz) |
611 |
|
|
612 |
|
def GetZeitraum(self): |
613 |
|
"""Liefert Berechnungszeitraum (JAHR, MONAT, WOCHE, TAG)""" |
614 |
|
return self.LZZ |
615 |
|
|
616 |
def SetSteuerklasse(self, stkl): |
def SetSteuerklasse(self, stkl): |
617 |
"""Setzt Steuerklasse (I, II, III, IV, V, VI)""" |
"""Setzt Steuerklasse (I, II, III, IV, V, VI)""" |
618 |
self.Set_STKL(stkl) |
self.Set_STKL(stkl) |
619 |
|
|
620 |
def SetKirchensteuer(self, prozent): |
def GetSteuerklasse(self): |
621 |
"""Setzt Kirchensteuer in Prozent""" |
"""Liefert Steuerklasse (I, II, III, IV, V, VI)""" |
622 |
|
return self.STKL |
623 |
|
|
624 |
|
def SetKirchensteuerProzent(self, prozent): |
625 |
|
"""Setzt Kirchensteuer in Prozent, |
626 |
|
0 wenn keine Kirchensteuer zu zahlen ist.""" |
627 |
self.Set_R(prozent) |
self.Set_R(prozent) |
628 |
|
|
629 |
|
def GetKirchensteuerProzent(self): |
630 |
|
"""Liefert Kirchensteuer in Prozent |
631 |
|
oder 0 wenn keine Kirchensteuer zu zahlen ist.""" |
632 |
|
return self.R |
633 |
|
|
634 |
|
def SetKinderfreibetrag(self, kfb): |
635 |
|
"""Setzt Kinderfreibetrag lt. Lohnsteuerkarte""" |
636 |
|
self.Set_ZKF(kfb) |
637 |
|
|
638 |
|
def GetKinderfreibetrag(self): |
639 |
|
"""Liefert Kinderfreibetrag lt. Lohnsteuerkarte""" |
640 |
|
return self.ZFK |
641 |
|
|
642 |
def GetLohnsteuer(self): |
def GetLohnsteuer(self): |
643 |
"""Liefert Lohnsteuer in Euro.Cent""" |
"""Liefert Lohnsteuer in Euro.Cent""" |
644 |
return round(self.LSTLZZ / 100, 2) |
return round(self.LSTLZZ / 100, 2) |