Class: BetrieblicheAltersvorsorge
- Inherits:
-
Object
- Object
- BetrieblicheAltersvorsorge
- Defined in:
- lib/betriebliche_altersvorsorge.rb
Instance Attribute Summary collapse
-
#ablaufleistung ⇒ Object
readonly
Returns the value of attribute ablaufleistung.
-
#anlage ⇒ Object
Returns the value of attribute anlage.
-
#aufschubzeit ⇒ Object
Returns the value of attribute aufschubzeit.
-
#bav_pa ⇒ Object
Returns the value of attribute bav_pa.
-
#debug ⇒ Object
Returns the value of attribute debug.
-
#eigenbeitrag ⇒ Object
readonly
Returns the value of attribute eigenbeitrag.
-
#gesamt_eigenbeitrag ⇒ Object
readonly
Returns the value of attribute gesamt_eigenbeitrag.
-
#kosten ⇒ Object
Returns the value of attribute kosten.
-
#rendite ⇒ Object
readonly
Returns the value of attribute rendite.
-
#rente ⇒ Object
readonly
Returns the value of attribute rente.
-
#rentengarantiefaktor ⇒ Object
Returns the value of attribute rentengarantiefaktor.
-
#steuerklasse ⇒ Object
Returns the value of attribute steuerklasse.
-
#verzinsung ⇒ Object
Returns the value of attribute verzinsung.
-
#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 14 15 16 17 18 |
# File 'lib/betriebliche_altersvorsorge.rb', line 7 def initialize(bruttojahresgehalt) @debug = false @kinder = false @brutto_pa = bruttojahresgehalt @bav_pa = Beitragsbemessungsgrenze.new('west').bav_maximal_beitrag @steuerklasse = 1 @verzinsung = 2 @aufschubzeit = 1 @gesamt_eigenbeitrag = 0 @rentengarantiefaktor = 36.51 @versicherungskosten = 10000 end |
Instance Attribute Details
#ablaufleistung ⇒ Object (readonly)
Returns the value of attribute ablaufleistung.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def ablaufleistung @ablaufleistung end |
#anlage ⇒ Object
Returns the value of attribute anlage.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def anlage @anlage end |
#aufschubzeit ⇒ Object
Returns the value of attribute aufschubzeit.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def aufschubzeit @aufschubzeit end |
#bav_pa ⇒ Object
Returns the value of attribute bav_pa.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def bav_pa @bav_pa 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 |
#gesamt_eigenbeitrag ⇒ Object (readonly)
Returns the value of attribute gesamt_eigenbeitrag.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def gesamt_eigenbeitrag @gesamt_eigenbeitrag 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 |
#rente ⇒ Object (readonly)
Returns the value of attribute rente.
4 5 6 |
# File 'lib/betriebliche_altersvorsorge.rb', line 4 def rente @rente end |
#rentengarantiefaktor ⇒ Object
Returns the value of attribute rentengarantiefaktor.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def rentengarantiefaktor @rentengarantiefaktor end |
#steuerklasse ⇒ Object
Returns the value of attribute steuerklasse.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def steuerklasse @steuerklasse end |
#verzinsung ⇒ Object
Returns the value of attribute verzinsung.
5 6 7 |
# File 'lib/betriebliche_altersvorsorge.rb', line 5 def verzinsung @verzinsung 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
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 62 63 64 65 |
# File 'lib/betriebliche_altersvorsorge.rb', line 23 def abgaben(bav_pa) rechen_brutto_pa = @brutto_pa - bav_pa p = { :lzz => 1, :re4 => rechen_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].to_i)/100 @soli = (pe[:solzlzz].to_i)/100 #maximal 7573.50 in west | 6540.75 in Ost @alv = (rechen_brutto_pa/100)*1.5 #maximal 7573.50 in west | 6540.75 in Ost @grv = (rechen_brutto_pa/100)*9.95 @gkv = (rechen_brutto_pa/100)*8.2 @pfv = @kinder ? (rechen_brutto_pa/100)*0.975 : (rechen_brutto_pa/100)*1.225 if @debug puts "jahresgehalt: #{rechen_brutto_pa}" puts "BAV jahresbeitrag: #{bav_pa}" puts "lohnsteuer: #{@lohnsteuer}" puts "soli: #{@soli}" puts "alv: #{@alv.to_i}" puts "grv: #{@grv.to_i}" puts "gkv: #{@gkv.to_i}" puts "pfv: #{@pfv.to_i}" end return @lohnsteuer+@soli+@alv+@grv+@gkv+@pfv end |
#run ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/betriebliche_altersvorsorge.rb', line 70 def run @ohnebav = abgaben(0).to_i @mitbav = abgaben(@bav_pa).to_i @zulage = (@ohnebav - @mitbav) @anlage = @bav_pa @eigenbeitrag = @anlage-@zulage @rendite = (@zulage*100/@anlage)+@verzinsung invest = Investment.new invest.p = @verzinsung.to_f invest.r = @anlage invest.n = @aufschubzeit @ablaufleistung = invest.rn.to_i - @versicherungskosten @gesamt_eigenbeitrag = @anlage*@aufschubzeit prozehntausend = @ablaufleistung/10000 @rente = (prozehntausend*@rentengarantiefaktor)*12 end |