Doxygen - strip obsolete info from loans.txt

This commit is contained in:
Geert Janssens
2024-05-20 13:45:44 +02:00
parent 58b4ee35f0
commit 48b9fa80ce

View File

@@ -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
<Wilddev> jsled: <auspex> Wilddev: The labels need colons, mnemonics, and right-alignment.
<Wilddev> <auspex> Wilddev: It may be worthwhile for gnucash to create GtkSpinButton subclasses which show the percent symbol and others within the field.
<Wilddev> <auspex> Wilddev: I don't know how complicated that will be.
<Wilddev> <Wilddev> me either :P
<Wilddev> <auspex> Wilddev: The strings need review, but there may be other changes to make first.
<Wilddev> <auspex> Wilddev: "Interest Rate Change Frequency" should perhaps be on the next page?
<Wilddev> jsled: I dont know if you did another page for this, but shouldn't there be a field for ballon amount too?
<jsled> Excellent feedback; thanks. I don't presently handle balloon payments; how do they work?
<Wilddev> I think, from what I've read before, the are an amount you pay at the end of the loan to close it
<jsled> gnc-account-sel == combo box account selection with pull-down account list [like the register] and auto-completion [hopefully]
<Wilddev> <auspex> Is "Length" the length of a period, or the sum of the periods?
<jsled> The sum of all periods; the length of the loan.
<Wilddev> he's suggesting to think of a better label for that
<Wilddev> ah I thought it was the period between loan transactions
<jsled> Hmm. Okay. The between-transaction period is a frequency editor on the Repayment page.
<Wilddev> <auspex> 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'.
*/