/[lohnrechner]/trunk/LST2008.py
ViewVC logotype

Diff of /trunk/LST2008.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/RCS/LST2005.py revision 14 by wilde, Thu Jan 13 12:29:19 2005 UTC LST2006.py revision 46 by wilde, Mon Nov 28 09:33:45 2005 UTC
# Line 1  Line 1 
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$
# Line 11  Line 12 
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$
# Line 146  class LST: Line 149  class LST:
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
# Line 278  class LST: Line 278  class LST:
278              if self._ZRE4VP > 62400:              if self._ZRE4VP > 62400:
279                  self._ZRE4VP = 62400                  self._ZRE4VP = 62400
280              self._VSP1 = 0.2 * self._ZRE4VP              self._VSP1 = 0.2 * self._ZRE4VP
281              self._VSP1 *= 0.0975              self._VSP1 = FixedPointFloor(self._VSP1 * 0.0975)
282          self._VSP2 = 0.11 * self._ZRE4VP          self._VSP2 = FixedPointFloor(0.11 * self._ZRE4VP)
283          self._VHB = 1500 * self._KZTAB          self._VHB = 1500 * self._KZTAB
284          if self._VSP2 > self._VHB:          if self._VSP2 > self._VHB:
285              self._VSP2 = self._VHB              self._VSP2 = self._VHB
# Line 578  class LST: Line 578  class LST:
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    
# Line 596  class LStRechner2005(LST): Line 599  class LStRechner2005(LST):
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)

Legend:
Removed from v.14  
changed lines
  Added in v.46

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26