hledger-interest: computes interest for a given account
hledger-interest is a small command-line utility based on Simon Michael's hleder library. Its purpose is to compute interest for a given ledger account. Using command line flags, the program can be configured to use various schemes for day-counting, such as act/act, 30/360, 30E/360, and 30/360isda. Furthermore, it supports a (small) number of interest schemes, i.e. annual interest with a fixed rate and the scheme mandated by the German BGB288 (Basiszins fuer Verbrauchergeschaefte). Extending support for other schemes is fairly easy, but currently requires changes to the source code.
As an example, consider the following loan, stored in a file called
test.ledger
:
2008/09/26 Loan Assets:Bank EUR 10000.00 Liabilities:Bank 2008/11/27 Payment Assets:Bank EUR -3771.12 Liabilities:Bank 2009/05/03 Payment Assets:Bank EUR -1200.00 Liabilities:Bank 2010/12/10 Payment Assets:Bank EUR -3700.00 Liabilities:Bank
Suppose that loan earns 5% interest per year, and payments amortize interest before amortizing the principal claim, then the resulting ledger would look like this:
$ hledger-interest --file=test.ledger --source=Expenses:Interest --target=Liabilities:Bank --30-360 --annual=0.05 Liabilities:Bank 2008/09/26 Loan Assets:Bank EUR 10000.00 Liabilities:Bank 2008/11/27 Payment Assets:Bank EUR -3771.12 Liabilities:Bank 2008/11/27 5.00% interest for EUR -10000.00 over 61 days Liabilities:Bank EUR -84.72 Expenses:Interest 2008/12/31 5.00% interest for EUR -6313.60 over 34 days Liabilities:Bank EUR -29.81 Expenses:Interest 2009/05/03 Payment Assets:Bank EUR -1200.00 Liabilities:Bank 2009/05/03 5.00% interest for EUR -6343.42 over 123 days Liabilities:Bank EUR -108.37 Expenses:Interest 2009/12/31 5.00% interest for EUR -5251.78 over 238 days Liabilities:Bank EUR -173.60 Expenses:Interest 2010/12/10 Payment Assets:Bank EUR -3700.00 Liabilities:Bank 2010/12/10 5.00% interest for EUR -5425.38 over 340 days Liabilities:Bank EUR -256.20 Expenses:Interest 2010/12/31 5.00% interest for EUR -1981.58 over 21 days Liabilities:Bank EUR -5.78 Expenses:Interest
Running the utility with --help
gives a brief overview over the
available options:
Usage: hledger-interest [OPTION...] ACCOUNT -h --help print this message and exit -V --version show version number and exit -v --verbose echo input ledger to stdout (default) -q --quiet don't echo input ledger to stdout --today compute interest up until today -f FILE --file=FILE input ledger file (pass '-' for stdin) -s ACCOUNT --source=ACCOUNT interest source account -t ACCOUNT --target=ACCOUNT interest target account -I --ignore-assertions ignore any failing balance assertions --act use 'act' day counting convention --30-360 use '30/360' day counting convention --30E-360 use '30E/360' day counting convention --30E-360isda use '30E/360isda' day counting convention --constant=RATE constant interest rate --annual-schedule=SCHEDULE schedule of annual interest rates. syntax: '[(Date1,Rate1),(Date2,Rate2),...]' --annual=RATE annual interest rate --bgb288 compute interest according to German BGB288
[Skip to Readme]
Downloads
- hledger-interest-1.6.6.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 1.0, 1.1, 1.2, 1.3, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6 |
---|---|
Dependencies | base (>=3 && <5), Cabal, Decimal, hledger-lib (>=1.26 && <1.41), mtl, text, time [details] |
Tested with | ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.8, ghc ==9.4.7, ghc ==9.6.1 |
License | BSD-3-Clause |
Author | Peter Simons <simons@cryp.to> |
Maintainer | Peter Simons <simons@cryp.to> |
Revised | Revision 5 made by PeterSimons at 2024-10-26T13:10:24Z |
Category | Finance |
Home page | https://github.com/peti/hledger-interest |
Source repo | head: git clone https://github.com/peti/hledger-interest.git |
Uploaded | by PeterSimons at 2023-09-04T17:57:37Z |
Distributions | Debian:1.6.0, LTSHaskell:1.6.6, NixOS:1.6.6, Stackage:1.6.6, openSUSE:1.6.6 |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Executables | hledger-interest |
Downloads | 13750 total (86 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] Last success reported on 2023-09-04 [all 1 reports] |