Class: BetrieblicheAltersvorsorge
- Inherits:
-
Object
- Object
- BetrieblicheAltersvorsorge
- Defined in:
- lib/betriebliche_altersvorsorge.rb
Instance Attribute Summary collapse
-
#anlage ⇒ Object
Returns the value of attribute anlage.
-
#debug ⇒ Object
Returns the value of attribute debug.
-
#eigenbeitrag ⇒ Object
readonly
Returns the value of attribute eigenbeitrag.
-
#kinder ⇒ Object
Returns the value of attribute kinder.
-
#kosten ⇒ Object
Returns the value of attribute kosten.
-
#rendite ⇒ Object
readonly
Returns the value of attribute rendite.
-
#steuerklasse ⇒ Object
Returns the value of attribute steuerklasse.
-
#zulage ⇒ Object
readonly
Returns the value of attribute zulage.
Instance Method Summary collapse
- #abgaben(bav_pa) ⇒ Object
-
#initialize(bruttojahresgehalt) ⇒ BetrieblicheAltersvorsorge
constructor
A new instance of BetrieblicheAltersvorsorge.
- #run ⇒ Object
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
#anlage ⇒ Object
Returns the value of attribute anlage.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def anlage @anlage end |
#debug ⇒ Object
Returns the value of attribute debug.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def debug @debug end |
#eigenbeitrag ⇒ Object (readonly)
Returns the value of attribute eigenbeitrag.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def eigenbeitrag @eigenbeitrag end |
#kinder ⇒ Object
Returns the value of attribute kinder.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def kinder @kinder end |
#kosten ⇒ Object
Returns the value of attribute kosten.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def kosten @kosten end |
#rendite ⇒ Object (readonly)
Returns the value of attribute rendite.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def rendite @rendite end |
#steuerklasse ⇒ Object
Returns the value of attribute steuerklasse.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def steuerklasse @steuerklasse end |
#zulage ⇒ Object (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 |
#run ⇒ Object
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 |