mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Doxygen - strip obsolete info from loans.txt
This commit is contained in:
@@ -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'.
|
||||
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user