Compare commits
46 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
9fb55cd96c | ||
|
48fedb9ab9 | ||
|
7bdd13b8b0 | ||
|
a6642f041a | ||
|
3a2d72df3d | ||
|
90d95da886 | ||
|
00737e352a | ||
|
957f03efb0 | ||
|
b62fbd2d7c | ||
|
d0ed4a766c | ||
|
6aadcb2576 | ||
|
99a28d8c0f | ||
|
62808f4906 | ||
|
fb1f52e2c8 | ||
|
3f873beb11 | ||
|
d7277c780a | ||
|
de4728ae04 | ||
|
02e9214202 | ||
|
483710969f | ||
|
2735d96b50 | ||
|
16c375f963 | ||
|
4f829de560 | ||
|
9cbefac1ba | ||
|
0af4b46398 | ||
|
0908efa090 | ||
|
29d89994ed | ||
|
6af94488ea | ||
|
7cf21cecf2 | ||
|
09b338b13b | ||
b24d09c8ad | |||
|
1b0650ddb0 | ||
bcdaf5efcd | |||
|
dd4e5a02a4 | ||
f0ad1b0b48 | |||
68cc0081bd | |||
|
1d5fcb2278 | ||
0896a0da06 | |||
f7189f2e73 | |||
49a100bd5f | |||
|
ac7f02190e | ||
|
9e7d74d363 | ||
|
a8c08156b0 | ||
|
bc1a68cd68 | ||
|
a8dc804af4 | ||
|
07bae41c9f | ||
|
3e00416224 |
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a891f3786f0bb63818786bddffd1d67c1a265176f3fc97e76619bea7d3bb7442
|
|
||||||
size 8578
|
|
@ -1,127 +0,0 @@
|
|||||||
Name: hledger-interest
|
|
||||||
Version: 1.6.6
|
|
||||||
x-revision: 5
|
|
||||||
Synopsis: computes interest for a given account
|
|
||||||
License: BSD3
|
|
||||||
License-file: LICENSE
|
|
||||||
Author: Peter Simons <simons@cryp.to>
|
|
||||||
Maintainer: Peter Simons <simons@cryp.to>
|
|
||||||
Homepage: https://github.com/peti/hledger-interest
|
|
||||||
Category: Finance
|
|
||||||
Build-type: Simple
|
|
||||||
Cabal-version: >= 1.10
|
|
||||||
Extra-source-files: README.md
|
|
||||||
Stability: stable
|
|
||||||
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
|
|
||||||
|
|
||||||
Description:
|
|
||||||
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
|
|
||||||
|
|
||||||
Source-Repository head
|
|
||||||
Type: git
|
|
||||||
Location: https://github.com/peti/hledger-interest.git
|
|
||||||
|
|
||||||
Executable hledger-interest
|
|
||||||
default-language: Haskell2010
|
|
||||||
Main-is: Main.hs
|
|
||||||
Build-depends: base >= 3 && < 5, hledger-lib >= 1.26 && < 1.41, time, mtl, Cabal, Decimal, text
|
|
||||||
other-modules: Hledger.Interest
|
|
||||||
Hledger.Interest.DayCountConvention
|
|
||||||
Hledger.Interest.Rate
|
|
||||||
Paths_hledger_interest
|
|
Loading…
Reference in New Issue
Block a user