[gnucash-de] Scheduled transaction + future value?

Philipp Matthias Hahn pmhahn at pmhahn.de
Do Dez 9 12:32:52 EST 2021


Moin Max,

Am 13.03.21 um 21:27 schrieb Max Müller:
> kann ich unter Actions / scheduled transactions / mortgage & loan eine Schlussrate bzw. future value definieren?

da ich gerade selber auf der Suche nach einer Antwort auf diese Frage
war, hier das Ergebnis meiner Recherche - ggf. hilft dir das immer noch
weiter:

Scheinbar hat der der "Aktionen" -> "Terminierte Buchungen" ->
"Hypotheken & Darlehn Assistent ..." unter GnuCash 4.4 keine
Möglichkeit, der "Future Value" explizit selber festzulegen - es wird
immer "0" angenommen.

Du kannst dir aber darüber die Arbeit vereinfachen und den Eintrag für
die terminierten Buchungen damit ersteinmal bewusst *falsch* anlegen und
dann einfach korrigieren, was im Hilfetext des Assistenten ja auch
bereits angedeutet wird.

Beispiel ein Annuitätendarlehen über 470 TEUR mit 0,7% Zinsen und ~2%
Tilgung (genauer: 1057,50€/Monat) für die nächsten 10 Jahre.

Zunächst musst du einmal den "Future Value" (fv) ausrechnen lassen,
welcher Rest nach den 120 Monaten übrig bleibt. Das kannst du über
"Werkzeuge" -> "Darlehensrechner" einmalig machen:

> Zahlungsintervalle: 120
> Zinssatz: 0,7
> Aktueller Wert: -470.000
> Periodische Zahlung: 1057,50
> Zukünftiger Wert: - (Zurücksetzen)
> Genauigkeit: 2
> Aufzinsung: Schrittweise Monatlich
> Periode: Zahlungszeitpunkt Ende Monatlich

Dann einmal "Berechnen" sollte "fv := -372.661,26" ergeben.

Wichtig ist, das "Aktueller Wert" und "Periodische Zahlung"
bei einem Darlehen *entgegengesetzte* Vorzeichen haben!


Danach durchläufst du einmal den "Hypotheken & Darlehn Assistent":
> Darlehensdetails:
>   Darlehenskontro: Passive:Bankverbindlichkeiten:Darlehen
>   Betrag: 470.000
>   Zinssatz: "Zinssatz" 0,7
>   Kontoart: "Fester Zinssatz"
>   Anfangsdarum: 1.10.2021
>   Länge: 10 "Jahre"
>   Restliche Monate: 120
> Tilgung des Darlehens
>   Name: Darlehen
>   Betrag: pmt( ,007 / 12 : 120 : 470.000 : 0 : 0 )
                 ^^rate^^^   ^nper   ^^^pv^^   ^fv ^type
>   Zahlung von: Aktiva:Barvermögen:Konto
>   Endbetrag Kapital an: Passive:Bankverbindlichkeiten:Darlehen
>   Zinsen nach: Aufwendungen:Wohnen:Zinsen
>   Tilgungshäufigkeit
>     Häufigkeit: Monatlich
>     Anfangsdatum: 1.10.2021
>     Alle "1" Monate
>     Am "Der letzte Tag des Monats"
>     außer am Wochenende: keine "Anderüng"

Wohl wissend das der "fv" falsch ist wird dir damit folgende
"Terminierte Buchung" angelegt, die du über "Aktion" -> "Terminierte
Buchungen" -> "Terminierte Buchungen Editor" dann nachträglich
bearbeiten kannst. Unter "Buchungsvorlage" solltest du nun folgendes
sehen:

> Zahlung  Aktiva:Barvermögen:Konto                ""   pmt(,007 / 12 : i : 120 : 470.000 : 0 : 0)
> Tilgung  Passive:Bankverbindlichkeiten:Darlehen  ppmt(,007 / 12 : i : 120 : 470.000 : 0 : 0)  ""
> Zinsen   Aufwendungen:Wohnen:Zinsen              ipmt(,007 / 12 : i : 120 : 470.000 : 0 : 0)  ""

Dort musst du nun überall den "fv" (vorletztes Argument) auf
"-372.661,26" ändern, so dass die Vorlage dann so aussieht:

> Zahlung  Aktiva:Barvermögen:Konto                ""   pmt(,007 / 12 : i : 120 : 470.000 : -372.661,26 : 0)
> Tilgung  Passive:Bankverbindlichkeiten:Darlehen  ppmt(,007 / 12 : i : 120 : 470.000 : -372.661,26 : 0)  ""
> Zinsen   Aufwendungen:Wohnen:Zinsen              ipmt(,007 / 12 : i : 120 : 470.000 : -372.661,26 : 0)  ""

Wichtig ist hier auch wieder das negative Vorzeichen: Nach 10 Jahren ist
das Darlehn eben noch nicht komplett zurück gezahlt und es bleiben 372
TEUR *Schulden* übrig; deswegen mit negativen Vorzeichen!


Bevor jemand Fragt: Der "fv" ist tatsächlich *nicht* konfigurierbar und
derzeit hart auf "0" verdrahtet:
<https://github.com/Gnucash/gnucash/blob/maint/gnucash/gnome/assistant-loan.cpp#L2450>
<https://github.com/Gnucash/gnucash/blob/maint/gnucash/gnome/assistant-loan.cpp#L2458>
<https://github.com/Gnucash/gnucash/blob/maint/gnucash/gnome/assistant-loan.cpp#L2466>
Gleiches gilt für "typ = 0", d.h. Fälligkeit st derzeit immer am Ende
der Periode.


Am 24.03.21 um 13:22 schrieb Frank H. Ellenberger :
> Grundsätzlich ist die Berechnung nicht immer ganz trivial. Zu welchem
> Wertstellungsdatum werden die Zinsen berechnet, wie wird dabei gerundet, …
> Da sind verschiedenen Banken recht kreativ, Abweichungen von GnnuCashs
> Berechnungen zu erzeugen. ;-)

Deswegen nach Möglichkeit immer Funktionen wie "pmt()", "ppmt()" und
"ipmt()" und "fv()" verwenden und nicht selber probieren das zu
berechnen. Ich habe aber festgestellt, dass sowohl GnuCash als auch
LibreOffice mir unterschiedliche Werte berechnen:
> GnuCash:      -372.661,26
> LibreOffice:  -372.661,26 =ZW(rate;nper;pmt;pv;0)
> Python numpy: -372.661.26 numpy.fv(.007/12,10*12,-1057.50,470000)
> Handechnung:  -372.661,31 Iterativ mit jedesmal =RUNDEN(…, 2)
> Bank:         -372.661,31

Philipp

PS: Ich stehe nicht auf der Mailingliste; Anworten bitte cc: an mich.
-- 
  / /  (_)__  __ ____  __ Philipp Hahn 🐓
 / /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ pmhahn at pmhahn.de


Mehr Informationen über die Mailingliste gnucash-de