Class: BetrieblicheAltersvorsorge

Inherits:
Object
  • Object
show all
Defined in:
lib/betriebliche_altersvorsorge.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bruttojahresgehalt) ⇒ BetrieblicheAltersvorsorge

Returns a new instance of BetrieblicheAltersvorsorge.



7
8
9
10
11
12
13
# File 'lib/betriebliche_altersvorsorge.rb', line 7

def initialize(bruttojahresgehalt)
  @debug	 = false
  @kinder	 = false
  @brutto_pa 	 =  bruttojahresgehalt
  @bav_pa 	 =  185*12
  @steuerklasse =  1
end

Instance Attribute Details

#anlageObject

Returns the value of attribute anlage.



4
5
6
# File 'lib/betriebliche_altersvorsorge.rb', line 4

def anlage
  @anlage
end

#debugObject

Returns the value of attribute debug.



5
6
7
# File 'lib/betriebliche_altersvorsorge.rb', line 5

def debug
  @debug
end

#eigenbeitragObject (readonly)

Returns the value of attribute eigenbeitrag.



4
5
6
# File 'lib/betriebliche_altersvorsorge.rb', line 4

def eigenbeitrag
  @eigenbeitrag
end

#kinderObject

Returns the value of attribute kinder.



5
6
7
# File 'lib/betriebliche_altersvorsorge.rb', line 5

def kinder
  @kinder
end

#kostenObject

Returns the value of attribute kosten.



5
6
7
# File 'lib/betriebliche_altersvorsorge.rb', line 5

def kosten
  @kosten
end

#renditeObject (readonly)

Returns the value of attribute rendite.



4
5
6
# File 'lib/betriebliche_altersvorsorge.rb', line 4

def rendite
  @rendite
end

#steuerklasseObject

Returns the value of attribute steuerklasse.



5
6
7
# File 'lib/betriebliche_altersvorsorge.rb', line 5

def steuerklasse
  @steuerklasse
end

#zulageObject (readonly)

Returns the value of attribute zulage.



4
5
6
# File 'lib/betriebliche_altersvorsorge.rb', line 4

def zulage
  @zulage
end

Instance Method Details

#abgaben(bav_pa) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/betriebliche_altersvorsorge.rb', line 18

def abgaben(bav_pa)

 p = {
  :lzz 	=>  1,
  :re4 	=>  @brutto_pa*100,
  :stkl 	=>  @steuerklasse,
  :pvz 	=>  1, # ohne kinder weil PKZ=1
  :krv         =>  0,
  :lzzfreib    =>  bav_pa
 } 

 pe = BMF::Abgabenrechner.new(p).ausgaben

 @lohnsteuer 	= pe[:lstlzz]
 @soli 	= pe[:solzlzz]


 #maximal 7573.50 in west | 6540.75 in Ost
 @alv		= (@brutto_pa/100)*1.5


 #maximal 7573.50 in west | 6540.75 in Ost
 @grv		= (@brutto_pa/100)*9.95


 @gkv		= (@brutto_pa/100)*8.2 
 @pfv		= @kinder ? (@brutto_pa/100)*0.975 : (@brutto_pa/100)*1.225  


 if @debug
  puts "jahresgehalt: #{@brutto_pa}"
  puts "BAV jahresbeitrag: #{bav_pa}"
  puts "lohnsteuer: #{@lohnsteuer}"
  puts "soli: #{@soli}"
  puts "alv: #{@alv.to_f}"
  puts "grv: #{@grv.to_f}"
  puts "gkv: #{@gkv.to_f}"
  puts "pfv: #{@pfv.to_f}"
 end


 return (@lohnsteuer+@soli+@alv+@grv+@gkv+@pfv)/100

end

#runObject



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/betriebliche_altersvorsorge.rb', line 66

def run
 @ohnebav	 = @brutto_pa - abgaben(0).to_i
 @mitbav	 = @brutto_pa - abgaben(@bav_pa*100).to_i

 @zulage	 = (@mitbav - @ohnebav)
 @anlage	 = @bav_pa
 @eigenbeitrag = @anlage-@zulage
 
 @rendite	 = @zulage*100/@anlage

end