From 48b9fa80ceac386e40e36e2a7cfc4dc9682fb492 Mon Sep 17 00:00:00 2001 From: Geert Janssens Date: Mon, 20 May 2024 13:45:44 +0200 Subject: [PATCH] Doxygen - strip obsolete info from loans.txt --- libgnucash/doc/loans.txt | 217 --------------------------------------- 1 file changed, 217 deletions(-) diff --git a/libgnucash/doc/loans.txt b/libgnucash/doc/loans.txt index a002488ea2..42a855f1c8 100644 --- a/libgnucash/doc/loans.txt +++ b/libgnucash/doc/loans.txt @@ -5,18 +5,6 @@ July, 2002 - jsled@asynchronous.org API: \ref SchedXaction -Bugs 84892 and 84877 detail a request for a new Loan/Mortgage account type, -and Scheduled Transaction support for loan repayment. While it's debatable -that a new account type is required, there is definitely a need for Scheduled -Transaction support for interest/payment computation for a parameterized -"loan repayment SX". - -The nature of this support will not create a new top-level account type, but -instead will result in the following changes: - a. Support in the SX credit/debit formulas for such calculations. - b. A Druid to assist in the creation of such SXes. - [c. budgeting/tool bench support in the future] - We define loan repayment values in the following terms: Identifiers:\n @@ -253,33 +241,6 @@ structures: - Escrow -> Expense:Insurance -/section loansquestions Questions - -- UI - visible should all this machination be to the user? Should they even - see them as such. The current SX since-last-run UI makes them pretty - visible, and in my estimation it actually helps to make them a bit more - formal and visible. At the same time, it may be overwhelming for the user - to have to create formal variables with weird types like "implicit", - "transient", "static", and "periodic". - -\section loansplan Priorities, Plan - -The above represents an "ideal" set of extensions to the SX framework to -enable multiple "enhancement"-level functionalities. Therefore, the -following is the prioritized schedule, with annotations: - --# Functions [PMT, [IP]PMT] in exp_parser; implicit variables [n]. --# [Visual-only] SX grouping --# Loan-repayment creation Druid --# SX-only static vars --# SX-only periodic vars --# SX-group vars, var_frames - -After the completion of item 4, the feature can safely be called "finished". -Items 5 and 6 only serve to increase the robustness of the facility and make -the user's life slightly easier, at the cost of making _my_ life harder. :) - - \section loansreference Reference @@ -323,183 +284,5 @@ Gnumeric supports the following functions WRT payment calculation: @pmt : payment made each period @fv : future value -/section loanspayment Day Two: - -As per warlord's comments, the definition of IPMT needs to be updated to -account for principal pre-payment. IPMT is actually defined by computation -of the value of an account at a specified point in time. This is significant -if the loan repayments involve interest. - -In the face of creating multiple scheduled transactions for a time range, it -may be the case that the relevant account balance is not actually posted to -the account at the time of the variable binding. If we intend to show the -user an estimation of the IPMT cell value during variable binding, then we -would need to do something creative about this ... but as it stands, we'll -leave this as an Exercise for the Reader. :) - -\section loansdruid Druid thoughts... - -Page Order: - -Intro -> - -Params -> - -Opts -> - -Repayment -> - -[Insurance ->] - -[PMI ->] - -[Taxes ->] - -Review/Approval - -\subsection loansdruidintro Intro - -"This is a step-by-step method of creating a loan - repayment setup within GnuCash. In this Druid, - you can input the parameters of your loan and - it's repayment and give the details of it's - payback. Using that information, the appropriate - Scheduled Transactions will be created. - -"If you make a mistake or want to make changes - later, you can edit the created Scheduled - Transactions directly." - -\subsection loansdruidparams Params - -\verbatim -Principal : [amount entry] -Actual Principal : [[optional] amount entry] -Interest Rate : [numeric entry] % - Type : [ ] Fixed - [ ] Variable ---------+ - | Type : 10/1,7/1,...| - | When : [freqspec?] | - +---------------------+ -Start Date : [Gnome Date Entry] -Length : [num entry] [years|v] - Remaining : [num entry] -\endverbatim - -\section loansoptions Options -\verbatim -Do you... - [ ] ... utilize an escrow account? - Account: [ acct select |v] - [ ] ... pay PMI? - [ ] Via the Escrow account? - [ ] ... pay insurance? - [ ] Via the Escrow account? - [ ] ... pay taxes? - [ ] Via the Escrow account? - [ ] ... have some other expense not listed above? - [ ] Via the Escrow account? -\endverbatim - -\section loansrepayment Repayment -\verbatim -Amount : [ amount entry ] -Assets from : [ account sel |v] -Princiapl to : [ account sel |v] -Interest to : [ account sel |v] -Escrow to : [ account sel |v] -Remainder to : [{escrow,principal,interest}|v] -Frequency : +- freqspec ----------------+ - | .... | - +---------------------------+ -\endverbatim - -\section loansinsurance Insurance -\verbataim -Amount : [ amount entry ] -Account : [ account sel |v] -Frequency : - [ ] Part of Repayment Transaction - [ ] Other: +- freqspec ----------------+ - | .... | - +---------------------------+ -\endverbatim - -\section loanstaxes Taxes/PMI/Other - -[ same as Insurance ] - - - -Options in repayment: -- loan freq != repayment freq - - floated - - not - -- Where does over-payment go? - - where - - into the escrow account - - directly applied - - how - - towards principal [interest is then re-calculated] - - towards interest [principal is then re-calculated] - -- still to do... - - expression parser/gnc-exp-parser extensions to handle... - - ...symbols [account names] into functions - - ...errors better - - ...iter/count/implicit vars - - druid... - - add ipmt', ppmt' calculations, using above - - kvp storage of "real" data - - sx grouping - -http://www.interest.com/hugh/calc/mort_links.html - -\section loansfeedback Druid Feedback: - -\verbatim - jsled: Wilddev: The labels need colons, mnemonics, and right-alignment. - Wilddev: It may be worthwhile for gnucash to create GtkSpinButton subclasses which show the percent symbol and others within the field. - Wilddev: I don't know how complicated that will be. - me either :P - Wilddev: The strings need review, but there may be other changes to make first. - Wilddev: "Interest Rate Change Frequency" should perhaps be on the next page? - jsled: I dont know if you did another page for this, but shouldn't there be a field for ballon amount too? - Excellent feedback; thanks. I don't presently handle balloon payments; how do they work? - I think, from what I've read before, the are an amount you pay at the end of the loan to close it - gnc-account-sel == combo box account selection with pull-down account list [like the register] and auto-completion [hopefully] - - Is "Length" the length of a period, or the sum of the periods? - The sum of all periods; the length of the loan. - he's suggesting to think of a better label for that - ah I thought it was the period between loan transactions - Hmm. Okay. The between-transaction period is a frequency editor on the Repayment page. - I'm wondering if "Original Principal" should be a vulgate -such as "Loan Amount" -\endverbatim - - -\section loansexpression Expression changes, round 2 - -We need the following abilities in order to get mortgage/loan repayment -working: -- Ability to get the original value of an account - - [perhaps, ability to reference an external value?] -- Ability to get the present value of an account -- Ability to get the current i in an "i-of-N" sequence - -As well, it'd be nice to have: -- some sort of signature checking on functions in expressions -- safe[r] error handling? - -We decide that the original/present value of the account should be handled in -scheme, and thus we actually need a way to reference accounts down to the -scheme expressions. We decide to use the Quote symbols to refer to a string -literal. The expression parser should be modified to parse this. - -The current 'i' and 'N' are going to be handled by having a list of -predefined variables which the user cannot have access to. For the time -being, this is 'i' and 'N'. */