doc: regenerate hledger docs
This commit is contained in:
		
							parent
							
								
									b7092f278b
								
							
						
					
					
						commit
						f1ec6a6647
					
				| @ -2205,358 +2205,74 @@ options, etc. | |||||||
| .PP | .PP | ||||||
| Here are some hledger add\-ons available from Hackage, the extra | Here are some hledger add\-ons available from Hackage, the extra | ||||||
| directory in the hledger source, or elsewhere: | directory in the hledger source, or elsewhere: | ||||||
|  | .SS Official add\-ons | ||||||
|  | .PP | ||||||
|  | These are maintained and released along with hledger. | ||||||
| .SS api | .SS api | ||||||
| .PP | .PP | ||||||
| Web API server, see hledger\-api. | Web API server, see hledger\-api. | ||||||
| .SS autosync |  | ||||||
| .PP |  | ||||||
| Download OFX bank data and/or convert OFX to hledger journal format. |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ autosync\ \-\-help |  | ||||||
| usage:\ hledger\-autosync\ [\-h]\ [\-m\ MAX]\ [\-r]\ [\-a\ ACCOUNT]\ [\-l\ LEDGER]\ [\-i\ INDENT] |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [\-\-initial]\ [\-\-fid\ FID]\ [\-\-assertions]\ [\-d]\ [\-\-hledger] |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [\-\-slow]\ [\-\-which] |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [PATH] |  | ||||||
| 
 |  | ||||||
| Synchronize\ ledger. |  | ||||||
| 
 |  | ||||||
| positional\ arguments: |  | ||||||
| \ \ PATH\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ sync;\ import\ from\ OFX\ file |  | ||||||
| 
 |  | ||||||
| optional\ arguments: |  | ||||||
| \ \ \-h,\ \-\-help\ \ \ \ \ \ \ \ \ \ \ \ show\ this\ help\ message\ and\ exit |  | ||||||
| \ \ \-m\ MAX,\ \-\-max\ MAX\ \ \ \ \ maximum\ number\ of\ days\ to\ process |  | ||||||
| \ \ \-r,\ \-\-resync\ \ \ \ \ \ \ \ \ \ do\ not\ stop\ until\ max\ days\ reached |  | ||||||
| \ \ \-a\ ACCOUNT,\ \-\-account\ ACCOUNT |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ set\ account\ name\ for\ import |  | ||||||
| \ \ \-l\ LEDGER,\ \-\-ledger\ LEDGER |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specify\ ledger\ file\ to\ READ\ for\ syncing |  | ||||||
| \ \ \-i\ INDENT,\ \-\-indent\ INDENT |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ number\ of\ spaces\ to\ use\ for\ indentation |  | ||||||
| \ \ \-\-initial\ \ \ \ \ \ \ \ \ \ \ \ \ create\ initial\ balance\ entries |  | ||||||
| \ \ \-\-fid\ FID\ \ \ \ \ \ \ \ \ \ \ \ \ pass\ in\ fid\ value\ for\ OFX\ files\ that\ do\ not\ supply\ it |  | ||||||
| \ \ \-\-assertions\ \ \ \ \ \ \ \ \ \ create\ balance\ assertion\ entries |  | ||||||
| \ \ \-d,\ \-\-debug\ \ \ \ \ \ \ \ \ \ \ enable\ debug\ logging |  | ||||||
| \ \ \-\-hledger\ \ \ \ \ \ \ \ \ \ \ \ \ force\ use\ of\ hledger\ (on\ by\ default\ if\ invoked\ as\ hledger\- |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ autosync) |  | ||||||
| \ \ \-\-slow\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ slow,\ but\ possibly\ more\ robust,\ method\ of\ calling\ ledger |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (no\ subprocess) |  | ||||||
| \ \ \-\-which\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ display\ which\ version\ of\ ledger/hledger/ledger\-python\ will |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ be\ used\ by\ ledger\-autosync\ to\ check\ for\ previous |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ transactions |  | ||||||
| $\ head\ acct1.ofx |  | ||||||
| OFXHEADER:100 |  | ||||||
| DATA:OFXSGML |  | ||||||
| VERSION:102 |  | ||||||
| SECURITY:NONE |  | ||||||
| ENCODING:USASCII |  | ||||||
| CHARSET:1252 |  | ||||||
| COMPRESSION:NONE |  | ||||||
| OLDFILEUID:NONE |  | ||||||
| NEWFILEUIDe:8509488b59d1bb45 |  | ||||||
| 
 |  | ||||||
| $\ hledger\ autosync\ acct1.ofx |  | ||||||
| 2013/08/30\ MONTHLY\ SERVICE\ FEE |  | ||||||
| \ \ \ \ ;\ ofxid:\ 3000.4303001832.201308301 |  | ||||||
| \ \ \ \ WF:4303001832\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-$6.00 |  | ||||||
| \ \ \ \ [assets:business:bank:wf:bchecking:banking]\ \ $6.00 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .PP |  | ||||||
| ledger\-autosync, which includes a \f[C]hledger\-autosync\f[] alias, |  | ||||||
| downloads transactions from your bank(s) via OFX, and prints just the |  | ||||||
| new ones as journal entries which you can add to your journal. |  | ||||||
| It can also operate on .OFX files which you\[aq]ve downloaded manually. |  | ||||||
| It can be a nice alternative to hledger\[aq]s built\-in CSV reader, |  | ||||||
| especially if your bank supports OFX download. |  | ||||||
| .SS diff |  | ||||||
| .PP |  | ||||||
| Show transactions present in one journal file but not another |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ diff\ \-\-help |  | ||||||
| Usage:\ hledger\-diff\ account:name\ left.journal\ right.journal |  | ||||||
| $\ cat\ a.journal |  | ||||||
| 1/1 |  | ||||||
| \ (acct:one)\ \ 1 |  | ||||||
| 
 |  | ||||||
| $\ cat\ b.journal |  | ||||||
| 1/1 |  | ||||||
| \ (acct:one)\ \ 1 |  | ||||||
| 2/2 |  | ||||||
| \ (acct:two)\ \ 2 |  | ||||||
| 
 |  | ||||||
| $\ hledger\ diff\ acct:two\ a.journal\ b.journal |  | ||||||
| Unmatched\ transactions\ in\ the\ first\ journal: |  | ||||||
| 
 |  | ||||||
| Unmatched\ transactions\ in\ the\ second\ journal: |  | ||||||
| 
 |  | ||||||
| 2015/02/02 |  | ||||||
| \ \ \ \ (acct:two)\ \ \ \ \ \ \ \ \ \ \ \ $2 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .PP |  | ||||||
| hledger\-diff compares two journal files. |  | ||||||
| Given an account name, it prints out the transactions affecting that |  | ||||||
| account which are in one journal file but not in the other. |  | ||||||
| This can be useful for reconciling existing journals with bank |  | ||||||
| statements. |  | ||||||
| .SS equity |  | ||||||
| .PP |  | ||||||
| Print a journal entry that resets account balances to zero. |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ balance\ \-\-flat\ \-E\ assets\ liabilities |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\ \ assets:bank:checking |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $1\ \ assets:bank:saving |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\-2\ \ assets:cash |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $1\ \ liabilities:debts |  | ||||||
| \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0 |  | ||||||
| $\ hledger\ equity\ assets\ liabilities |  | ||||||
| 2015/05/23 |  | ||||||
| \ \ \ \ assets:bank:saving\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\-1 |  | ||||||
| \ \ \ \ assets:cash\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $2 |  | ||||||
| \ \ \ \ liabilities:debts\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\-1 |  | ||||||
| \ \ \ \ equity:closing\ balances\ \ \ \ \ \ \ \ \ \ \ \ \ 0 |  | ||||||
| 
 |  | ||||||
| 2015/05/23 |  | ||||||
| \ \ \ \ assets:bank:saving\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $1 |  | ||||||
| \ \ \ \ assets:cash\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $\-2 |  | ||||||
| \ \ \ \ liabilities:debts\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $1 |  | ||||||
| \ \ \ \ equity:opening\ balances\ \ \ \ \ \ \ \ \ \ \ \ \ 0 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .PP |  | ||||||
| This prints a journal entry which zeroes out the specified accounts (or |  | ||||||
| all accounts) with a transfer to/from "equity:closing balances" (like |  | ||||||
| Ledger\[aq]s equity command). |  | ||||||
| Also, it prints an similar entry with opposite sign for restoring the |  | ||||||
| balances from "equity:opening balances". |  | ||||||
| .PP |  | ||||||
| These can be useful for ending one journal file and starting a new one, |  | ||||||
| respectively. |  | ||||||
| By zeroing your asset and liability accounts at the end of a file and |  | ||||||
| restoring them at the start of the next one, you will see correct |  | ||||||
| asset/liability balances whether you run hledger on just one file, or on |  | ||||||
| several files concatenated with include. |  | ||||||
| .SS interest |  | ||||||
| .PP |  | ||||||
| Generate interest transactions. |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ interest\ \-\-help |  | ||||||
| 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\[aq]t\ echo\ input\ ledger\ to\ stdout |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-today\ \ \ \ \ \ \ \ \ \ \ compute\ interest\ up\ until\ today |  | ||||||
| \ \ \-f\ FILE\ \ \ \ \ \-\-file=FILE\ \ \ \ \ \ \ input\ ledger\ file\ (pass\ \[aq]\-\[aq]\ for\ stdin) |  | ||||||
| \ \ \-s\ ACCOUNT\ \ \-\-source=ACCOUNT\ \ interest\ source\ account |  | ||||||
| \ \ \-t\ ACCOUNT\ \ \-\-target=ACCOUNT\ \ interest\ target\ account |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-act\ \ \ \ \ \ \ \ \ \ \ \ \ use\ \[aq]act\[aq]\ day\ counting\ convention |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-30\-360\ \ \ \ \ \ \ \ \ \ use\ \[aq]30/360\[aq]\ day\ counting\ convention |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-30E\-360\ \ \ \ \ \ \ \ \ use\ \[aq]30E/360\[aq]\ day\ counting\ convention |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-30E\-360isda\ \ \ \ \ use\ \[aq]30E/360isda\[aq]\ day\ counting\ convention |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-constant=RATE\ \ \ constant\ interest\ rate |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-annual=RATE\ \ \ \ \ annual\ interest\ rate |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-bgb288\ \ \ \ \ \ \ \ \ \ compute\ interest\ according\ to\ German\ BGB288 |  | ||||||
| \ \ \ \ \ \ \ \ \ \ \ \ \ \ \-\-ing\-diba\ \ \ \ \ \ \ \ compute\ interest\ according\ for\ Ing\-Diba\ Tagesgeld\ account |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ cat\ interest.journal |  | ||||||
| 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 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ interest\ \-\-\ \-f\ interest.journal\ \-\-source=Expenses:Interest\ \\ |  | ||||||
| \ \ \ \ \-\-target=Liabilities:Bank\ \-\-30\-360\ \-\-annual=0.05\ Liabilities:Bank |  | ||||||
| 2008/09/26\ Loan |  | ||||||
| \ \ \ \ Assets:Bank\ \ \ \ \ \ \ EUR\ 10000.00 |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ EUR\ \-10000.00 |  | ||||||
| 
 |  | ||||||
| 2008/11/27\ 0.05%\ interest\ for\ EUR\ \-10000.00\ over\ 61\ days |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ \ \ EUR\ \-84.72 |  | ||||||
| \ \ \ \ Expenses:Interest\ \ \ \ \ EUR\ 84.72 |  | ||||||
| 
 |  | ||||||
| 2008/11/27\ Payment |  | ||||||
| \ \ \ \ Assets:Bank\ \ \ \ \ \ \ EUR\ \-3771.12 |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ EUR\ 3771.12 |  | ||||||
| 
 |  | ||||||
| 2008/12/31\ 0.05%\ interest\ for\ EUR\ \-6313.60\ over\ 34\ days |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ \ \ EUR\ \-29.81 |  | ||||||
| \ \ \ \ Expenses:Interest\ \ \ \ \ EUR\ 29.81 |  | ||||||
| 
 |  | ||||||
| 2009/05/03\ 0.05%\ interest\ for\ EUR\ \-6343.42\ over\ 123\ days |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ \ EUR\ \-108.37 |  | ||||||
| \ \ \ \ Expenses:Interest\ \ \ \ EUR\ 108.37 |  | ||||||
| 
 |  | ||||||
| 2009/05/03\ Payment |  | ||||||
| \ \ \ \ Assets:Bank\ \ \ \ \ \ \ EUR\ \-1200.00 |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ EUR\ 1200.00 |  | ||||||
| 
 |  | ||||||
| 2009/12/31\ 0.05%\ interest\ for\ EUR\ \-5251.78\ over\ 238\ days |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ \ EUR\ \-173.60 |  | ||||||
| \ \ \ \ Expenses:Interest\ \ \ \ EUR\ 173.60 |  | ||||||
| 
 |  | ||||||
| 2010/12/10\ 0.05%\ interest\ for\ EUR\ \-5425.38\ over\ 340\ days |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ \ EUR\ \-256.20 |  | ||||||
| \ \ \ \ Expenses:Interest\ \ \ \ EUR\ 256.20 |  | ||||||
| 
 |  | ||||||
| 2010/12/10\ Payment |  | ||||||
| \ \ \ \ Assets:Bank\ \ \ \ \ \ \ EUR\ \-3700.00 |  | ||||||
| \ \ \ \ Liabilities:Bank\ \ \ EUR\ 3700.00 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .PP |  | ||||||
| hledger\-interest computes interests for a given 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 für Verbrauchergeschäfte). |  | ||||||
| See the package page for more. |  | ||||||
| .SS irr |  | ||||||
| .PP |  | ||||||
| Calculate internal rate of return. |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ irr\ \-\-help |  | ||||||
| Usage:\ hledger\-irr\ [OPTION...] |  | ||||||
| \ \ \-h\ \ \ \ \ \ \ \ \ \ \-\-help\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ this\ message\ and\ exit |  | ||||||
| \ \ \-V\ \ \ \ \ \ \ \ \ \ \-\-version\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ show\ version\ number\ and\ exit |  | ||||||
| \ \ \-c\ \ \ \ \ \ \ \ \ \ \-\-cashflow\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ also\ show\ all\ revant\ transactions |  | ||||||
| \ \ \-f\ FILE\ \ \ \ \ \-\-file=FILE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ input\ ledger\ file\ (pass\ \[aq]\-\[aq]\ for\ stdin) |  | ||||||
| \ \ \-i\ ACCOUNT\ \ \-\-investment\-account=ACCOUNT\ \ investment\ account |  | ||||||
| \ \ \-t\ ACCOUNT\ \ \-\-interest\-account=ACCOUNT\ \ \ \ interest/gain/fees/losses\ account |  | ||||||
| \ \ \-b\ DATE\ \ \ \ \ \-\-begin=DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ calculate\ interest\ from\ this\ date |  | ||||||
| \ \ \-e\ DATE\ \ \ \ \ \-\-end=DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ calculate\ interest\ until\ this\ date |  | ||||||
| \ \ \-D\ \ \ \ \ \ \ \ \ \ \-\-daily\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ calculate\ interest\ for\ each\ day |  | ||||||
| \ \ \-W\ \ \ \ \ \ \ \ \ \ \-\-weekly\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ calculate\ interest\ for\ each\ week |  | ||||||
| \ \ \-M\ \ \ \ \ \ \ \ \ \ \-\-monthly\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ calculate\ interest\ for\ each\ month |  | ||||||
| \ \ \-Y\ \ \ \ \ \ \ \ \ \ \-\-yearly\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ calculate\ interest\ for\ each\ year |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ cat\ irr.journal\  |  | ||||||
| 2011\-01\-01\ Some\ wild\ speculation\ \[en]\ I\ wonder\ if\ it\ pays\ off |  | ||||||
| \ \ \ Speculation\ \ \ €100.00 |  | ||||||
| \ \ \ Cash |  | ||||||
| 
 |  | ||||||
| 2011\-02\-01\ More\ speculation\ (and\ adjustment\ of\ value) |  | ||||||
| \ \ \ Cash\ \ \ \ \ \ \ \ \ \-€10.00 |  | ||||||
| \ \ \ Rate\ Gain\ \ \ \ \ \-€1.00 |  | ||||||
| \ \ \ Speculation |  | ||||||
| 
 |  | ||||||
| 2011\-03\-01\ Lets\ pull\ out\ some\ money\ (and\ adjustment\ of\ value) |  | ||||||
| \ \ \ Cash\ \ \ \ \ \ \ \ \ \ €30.00 |  | ||||||
| \ \ \ Rate\ Gain\ \ \ \ \ \-€3.00 |  | ||||||
| \ \ \ Speculation |  | ||||||
| 
 |  | ||||||
| 2011\-04\-01\ More\ speculation\ (and\ it\ lost\ some\ money!) |  | ||||||
| \ \ \ Cash\ \ \ \ \ \ \ \ \ \-€50.00 |  | ||||||
| \ \ \ Rate\ Gain\ \ \ \ \ €\ 5.00 |  | ||||||
| \ \ \ Speculation |  | ||||||
| 
 |  | ||||||
| 2011\-05\-01\ Getting\ some\ money\ out\ (and\ adjustment\ of\ value) |  | ||||||
| \ \ \ Speculation\ \ \-€44.00 |  | ||||||
| \ \ \ Rate\ Gain\ \ \ \ \-€\ 3.00 |  | ||||||
| \ \ \ Cash |  | ||||||
| 
 |  | ||||||
| 2011\-06\-01\ Emptying\ the\ account\ (after\ adjusting\ the\ value) |  | ||||||
| \ \ \ Speculation\ \ \ \-€85.00 |  | ||||||
| \ \ \ Cash\ \ \ \ \ \ \ \ \ \ \ €90.00 |  | ||||||
| \ \ \ Rate\ Gain\ \ \ \ \ \-€\ 5.00 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\-irr\ \-f\ irr.journal\ \-t\ "Rate\ Gain"\ \-i\ Speculation\ \ \-\-monthly |  | ||||||
| 2011/01/01\ \-\ 2011/02/01:\ 12.49% |  | ||||||
| 2011/02/01\ \-\ 2011/03/01:\ 41.55% |  | ||||||
| 2011/03/01\ \-\ 2011/04/01:\ \-51.44% |  | ||||||
| 2011/04/01\ \-\ 2011/05/01:\ 32.24% |  | ||||||
| 2011/05/01\ \-\ 2011/06/01:\ 95.92% |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .PP |  | ||||||
| hledger\-irr computes the internal rate of return, also known as the |  | ||||||
| effective interest rate, of a given investment. |  | ||||||
| After specifying what account holds the investment, and what account |  | ||||||
| stores the gains (or losses, or fees, or cost), it calculates the |  | ||||||
| hypothetical annual rate of fixed rate investment that would have |  | ||||||
| provided the exact same cash flow. |  | ||||||
| See the package page for more. |  | ||||||
| .SS print\-unique |  | ||||||
| .PP |  | ||||||
| Print only only journal entries which have a unique description. |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ cat\ unique.journal |  | ||||||
| 1/1\ test |  | ||||||
| \ (acct:one)\ \ 1 |  | ||||||
| 2/2\ test |  | ||||||
| \ (acct:two)\ \ 2 |  | ||||||
| $\ LEDGER_FILE=unique.journal\ hledger\ print\-unique |  | ||||||
| (\-f\ option\ not\ supported) |  | ||||||
| 2015/01/01\ test |  | ||||||
| \ \ \ \ (acct:one)\ \ \ \ \ \ \ \ \ \ \ \ \ 1 |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .SS rewrite |  | ||||||
| .PP |  | ||||||
| Prints all journal entries, adding specified custom postings to matched |  | ||||||
| entries. |  | ||||||
| .PP |  | ||||||
| hledger\-rewrite.hs, in hledger\[aq]s extra directory (compilation |  | ||||||
| optional), adds postings to existing transactions, optionally with an |  | ||||||
| amount based on the existing transaction\[aq]s first amount. |  | ||||||
| See the script for more details. |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| $\ hledger\ rewrite\ \-\-\ [QUERY]\ \ \ \ \ \ \ \ \-\-add\-posting\ "ACCT\ \ AMTEXPR"\ ... |  | ||||||
| $\ hledger\ rewrite\ \-\-\ ^income\ \ \ \ \ \ \ \ \-\-add\-posting\ \[aq](liabilities:tax)\ \ *.33\[aq] |  | ||||||
| $\ hledger\ rewrite\ \-\-\ expenses:gifts\ \-\-add\-posting\ \[aq](budget:gifts)\ \ *\-1"\[aq] |  | ||||||
| \f[] |  | ||||||
| .fi |  | ||||||
| .SS ui | .SS ui | ||||||
| .PP | .PP | ||||||
| Curses\-style interface, see hledger\-ui. | Curses\-style interface, see hledger\-ui. | ||||||
| .SS web | .SS web | ||||||
| .PP | .PP | ||||||
| Web interface, see hledger\-web. | Web interface, see hledger\-web. | ||||||
|  | .SS Third party add\-ons | ||||||
|  | .PP | ||||||
|  | These are maintained separately from hledger, and usually updated | ||||||
|  | shortly after a hledger release. | ||||||
|  | .SS diff | ||||||
|  | .PP | ||||||
|  | hledger\-diff Shows differences in an account\[aq]s transactions between | ||||||
|  | one journal file and another. | ||||||
|  | .SS iadd | ||||||
|  | .PP | ||||||
|  | hledger\-iadd A curses\-style, more interactive replacement for the add | ||||||
|  | command. | ||||||
|  | .SS interest | ||||||
|  | .PP | ||||||
|  | hledger\-interest Generates interest transactions for an account | ||||||
|  | according to various schemes. | ||||||
|  | .SS irr | ||||||
|  | .PP | ||||||
|  | hledger\-irr Calculates the internal rate of return of an investment | ||||||
|  | account. | ||||||
|  | .SS Experimental add\-ons | ||||||
|  | .PP | ||||||
|  | These add\-ons are available in source form in the hledger repo. | ||||||
|  | Installing them is pretty easy. | ||||||
|  | Reading and copying these is a good way to start making your own | ||||||
|  | add\-ons. | ||||||
|  | .SS budget | ||||||
|  | .PP | ||||||
|  | hledger\-budget.hs A tool adding more budget\-tracking features to | ||||||
|  | hledger. | ||||||
|  | .SS chart | ||||||
|  | .PP | ||||||
|  | hledger\-chart.hs An old pie chart generator, in need of some love. | ||||||
|  | .SS check\-dates | ||||||
|  | .PP | ||||||
|  | hledger\-check\-dates.hs Checks that journal entries are ordered by | ||||||
|  | date. | ||||||
|  | .SS dupes | ||||||
|  | .PP | ||||||
|  | hledger\-dupes.hs Checks for account names sharing the same leaf name. | ||||||
|  | .SS equity | ||||||
|  | .PP | ||||||
|  | hledger\-equity.hs Prints balance\-resetting transactions useful for | ||||||
|  | bringing account balances across file boundaries. | ||||||
|  | .SS print\-unique | ||||||
|  | .PP | ||||||
|  | hledger\-print\-unique.hs Prints transactions which do not reuse an | ||||||
|  | already\-seen description. | ||||||
|  | .SS register\-match | ||||||
|  | .PP | ||||||
|  | hledger\-register\-match.hs Helps ledger\-autosync recognise | ||||||
|  | already\-imported transactions. | ||||||
|  | .SS rewrite | ||||||
|  | .PP | ||||||
|  | hledger\-rewrite.hs Adds one or more custom postings to matched | ||||||
|  | transactions. | ||||||
| .SH TROUBLESHOOTING | .SH TROUBLESHOOTING | ||||||
| .SS Run\-time problems | .SS Run\-time problems | ||||||
| .PP | .PP | ||||||
|  | |||||||
| @ -1843,381 +1843,190 @@ directory in the hledger source, or elsewhere: | |||||||
| 
 | 
 | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
|  | * Official add-ons:: | ||||||
|  | * Third party add-ons:: | ||||||
|  | * Experimental add-ons:: | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: Official add-ons,  Next: Third party add-ons,  Up: ADD-ON COMMANDS | ||||||
|  | 
 | ||||||
|  | 5.1 Official add-ons | ||||||
|  | ==================== | ||||||
|  | 
 | ||||||
|  | These are maintained and released along with hledger. | ||||||
|  | 
 | ||||||
|  | * Menu: | ||||||
|  | 
 | ||||||
| * api:: | * api:: | ||||||
| * autosync:: |  | ||||||
| * diff:: |  | ||||||
| * equity:: |  | ||||||
| * interest:: |  | ||||||
| * irr:: |  | ||||||
| * print-unique:: |  | ||||||
| * rewrite:: |  | ||||||
| * ui:: | * ui:: | ||||||
| * web:: | * web:: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: api,  Next: autosync,  Up: ADD-ON COMMANDS | File: hledger.1.info,  Node: api,  Next: ui,  Up: Official add-ons | ||||||
| 
 | 
 | ||||||
| 5.1 api | 5.1.1 api | ||||||
| ======= | --------- | ||||||
| 
 | 
 | ||||||
| Web API server, see hledger-api. | Web API server, see hledger-api. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: autosync,  Next: diff,  Prev: api,  Up: ADD-ON COMMANDS | File: hledger.1.info,  Node: ui,  Next: web,  Prev: api,  Up: Official add-ons | ||||||
| 
 | 
 | ||||||
| 5.2 autosync | 5.1.2 ui | ||||||
| ============ | -------- | ||||||
| 
 |  | ||||||
| Download OFX bank data and/or convert OFX to hledger journal format. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger autosync --help |  | ||||||
| usage: hledger-autosync [-h] [-m MAX] [-r] [-a ACCOUNT] [-l LEDGER] [-i INDENT] |  | ||||||
|                         [--initial] [--fid FID] [--assertions] [-d] [--hledger] |  | ||||||
|                         [--slow] [--which] |  | ||||||
|                         [PATH] |  | ||||||
| 
 |  | ||||||
| Synchronize ledger. |  | ||||||
| 
 |  | ||||||
| positional arguments: |  | ||||||
|   PATH                  do not sync; import from OFX file |  | ||||||
| 
 |  | ||||||
| optional arguments: |  | ||||||
|   -h, --help            show this help message and exit |  | ||||||
|   -m MAX, --max MAX     maximum number of days to process |  | ||||||
|   -r, --resync          do not stop until max days reached |  | ||||||
|   -a ACCOUNT, --account ACCOUNT |  | ||||||
|                         set account name for import |  | ||||||
|   -l LEDGER, --ledger LEDGER |  | ||||||
|                         specify ledger file to READ for syncing |  | ||||||
|   -i INDENT, --indent INDENT |  | ||||||
|                         number of spaces to use for indentation |  | ||||||
|   --initial             create initial balance entries |  | ||||||
|   --fid FID             pass in fid value for OFX files that do not supply it |  | ||||||
|   --assertions          create balance assertion entries |  | ||||||
|   -d, --debug           enable debug logging |  | ||||||
|   --hledger             force use of hledger (on by default if invoked as hledger- |  | ||||||
|                         autosync) |  | ||||||
|   --slow                use slow, but possibly more robust, method of calling ledger |  | ||||||
|                         (no subprocess) |  | ||||||
|   --which               display which version of ledger/hledger/ledger-python will |  | ||||||
|                         be used by ledger-autosync to check for previous |  | ||||||
|                         transactions |  | ||||||
| $ head acct1.ofx |  | ||||||
| OFXHEADER:100 |  | ||||||
| DATA:OFXSGML |  | ||||||
| VERSION:102 |  | ||||||
| SECURITY:NONE |  | ||||||
| ENCODING:USASCII |  | ||||||
| CHARSET:1252 |  | ||||||
| COMPRESSION:NONE |  | ||||||
| OLDFILEUID:NONE |  | ||||||
| NEWFILEUIDe:8509488b59d1bb45 |  | ||||||
| 
 |  | ||||||
| $ hledger autosync acct1.ofx |  | ||||||
| 2013/08/30 MONTHLY SERVICE FEE |  | ||||||
|     ; ofxid: 3000.4303001832.201308301 |  | ||||||
|     WF:4303001832                               -$6.00 |  | ||||||
|     [assets:business:bank:wf:bchecking:banking]  $6.00 |  | ||||||
| 
 |  | ||||||
|    ledger-autosync, which includes a `hledger-autosync' alias, |  | ||||||
| downloads transactions from your bank(s) via OFX, and prints just the |  | ||||||
| new ones as journal entries which you can add to your journal. It can |  | ||||||
| also operate on .OFX files which you've downloaded manually. It can be a |  | ||||||
| nice alternative to hledger's built-in CSV reader, especially if your |  | ||||||
| bank supports OFX download. |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: diff,  Next: equity,  Prev: autosync,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.3 diff |  | ||||||
| ======== |  | ||||||
| 
 |  | ||||||
| Show transactions present in one journal file but not another |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger diff --help |  | ||||||
| Usage: hledger-diff account:name left.journal right.journal |  | ||||||
| $ cat a.journal |  | ||||||
| 1/1 |  | ||||||
|  (acct:one)  1 |  | ||||||
| 
 |  | ||||||
| $ cat b.journal |  | ||||||
| 1/1 |  | ||||||
|  (acct:one)  1 |  | ||||||
| 2/2 |  | ||||||
|  (acct:two)  2 |  | ||||||
| 
 |  | ||||||
| $ hledger diff acct:two a.journal b.journal |  | ||||||
| Unmatched transactions in the first journal: |  | ||||||
| 
 |  | ||||||
| Unmatched transactions in the second journal: |  | ||||||
| 
 |  | ||||||
| 2015/02/02 |  | ||||||
|     (acct:two)            $2 |  | ||||||
| 
 |  | ||||||
|    hledger-diff compares two journal files. Given an account name, it |  | ||||||
| prints out the transactions affecting that account which are in one |  | ||||||
| journal file but not in the other. This can be useful for reconciling |  | ||||||
| existing journals with bank statements. |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: equity,  Next: interest,  Prev: diff,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.4 equity |  | ||||||
| ========== |  | ||||||
| 
 |  | ||||||
| Print a journal entry that resets account balances to zero. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger balance --flat -E assets liabilities |  | ||||||
|                    0  assets:bank:checking |  | ||||||
|                   $1  assets:bank:saving |  | ||||||
|                  $-2  assets:cash |  | ||||||
|                   $1  liabilities:debts |  | ||||||
| -------------------- |  | ||||||
|                    0 |  | ||||||
| $ hledger equity assets liabilities |  | ||||||
| 2015/05/23 |  | ||||||
|     assets:bank:saving                $-1 |  | ||||||
|     assets:cash                        $2 |  | ||||||
|     liabilities:debts                 $-1 |  | ||||||
|     equity:closing balances             0 |  | ||||||
| 
 |  | ||||||
| 2015/05/23 |  | ||||||
|     assets:bank:saving                 $1 |  | ||||||
|     assets:cash                       $-2 |  | ||||||
|     liabilities:debts                  $1 |  | ||||||
|     equity:opening balances             0 |  | ||||||
| 
 |  | ||||||
|    This prints a journal entry which zeroes out the specified accounts |  | ||||||
| (or all accounts) with a transfer to/from "equity:closing balances" |  | ||||||
| (like Ledger's equity command). Also, it prints an similar entry with |  | ||||||
| opposite sign for restoring the balances from "equity:opening balances". |  | ||||||
| 
 |  | ||||||
|    These can be useful for ending one journal file and starting a new |  | ||||||
| one, respectively. By zeroing your asset and liability accounts at the |  | ||||||
| end of a file and restoring them at the start of the next one, you will |  | ||||||
| see correct asset/liability balances whether you run hledger on just one |  | ||||||
| file, or on several files concatenated with include. |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: interest,  Next: irr,  Prev: equity,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.5 interest |  | ||||||
| ============ |  | ||||||
| 
 |  | ||||||
| Generate interest transactions. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger interest --help |  | ||||||
| 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 |  | ||||||
|               --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=RATE     annual interest rate |  | ||||||
|               --bgb288          compute interest according to German BGB288 |  | ||||||
|               --ing-diba        compute interest according for Ing-Diba Tagesgeld account |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ cat interest.journal |  | ||||||
| 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 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger interest -- -f interest.journal --source=Expenses:Interest \ |  | ||||||
|     --target=Liabilities:Bank --30-360 --annual=0.05 Liabilities:Bank |  | ||||||
| 2008/09/26 Loan |  | ||||||
|     Assets:Bank       EUR 10000.00 |  | ||||||
|     Liabilities:Bank  EUR -10000.00 |  | ||||||
| 
 |  | ||||||
| 2008/11/27 0.05% interest for EUR -10000.00 over 61 days |  | ||||||
|     Liabilities:Bank     EUR -84.72 |  | ||||||
|     Expenses:Interest     EUR 84.72 |  | ||||||
| 
 |  | ||||||
| 2008/11/27 Payment |  | ||||||
|     Assets:Bank       EUR -3771.12 |  | ||||||
|     Liabilities:Bank   EUR 3771.12 |  | ||||||
| 
 |  | ||||||
| 2008/12/31 0.05% interest for EUR -6313.60 over 34 days |  | ||||||
|     Liabilities:Bank     EUR -29.81 |  | ||||||
|     Expenses:Interest     EUR 29.81 |  | ||||||
| 
 |  | ||||||
| 2009/05/03 0.05% interest for EUR -6343.42 over 123 days |  | ||||||
|     Liabilities:Bank    EUR -108.37 |  | ||||||
|     Expenses:Interest    EUR 108.37 |  | ||||||
| 
 |  | ||||||
| 2009/05/03 Payment |  | ||||||
|     Assets:Bank       EUR -1200.00 |  | ||||||
|     Liabilities:Bank   EUR 1200.00 |  | ||||||
| 
 |  | ||||||
| 2009/12/31 0.05% interest for EUR -5251.78 over 238 days |  | ||||||
|     Liabilities:Bank    EUR -173.60 |  | ||||||
|     Expenses:Interest    EUR 173.60 |  | ||||||
| 
 |  | ||||||
| 2010/12/10 0.05% interest for EUR -5425.38 over 340 days |  | ||||||
|     Liabilities:Bank    EUR -256.20 |  | ||||||
|     Expenses:Interest    EUR 256.20 |  | ||||||
| 
 |  | ||||||
| 2010/12/10 Payment |  | ||||||
|     Assets:Bank       EUR -3700.00 |  | ||||||
|     Liabilities:Bank   EUR 3700.00 |  | ||||||
| 
 |  | ||||||
|    hledger-interest computes interests for a given 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 für Verbrauchergeschäfte). |  | ||||||
| See the package page for more. |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: irr,  Next: print-unique,  Prev: interest,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.6 irr |  | ||||||
| ======= |  | ||||||
| 
 |  | ||||||
| Calculate internal rate of return. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger irr --help |  | ||||||
| Usage: hledger-irr [OPTION...] |  | ||||||
|   -h          --help                        print this message and exit |  | ||||||
|   -V          --version                     show version number and exit |  | ||||||
|   -c          --cashflow                    also show all revant transactions |  | ||||||
|   -f FILE     --file=FILE                   input ledger file (pass '-' for stdin) |  | ||||||
|   -i ACCOUNT  --investment-account=ACCOUNT  investment account |  | ||||||
|   -t ACCOUNT  --interest-account=ACCOUNT    interest/gain/fees/losses account |  | ||||||
|   -b DATE     --begin=DATE                  calculate interest from this date |  | ||||||
|   -e DATE     --end=DATE                    calculate interest until this date |  | ||||||
|   -D          --daily                       calculate interest for each day |  | ||||||
|   -W          --weekly                      calculate interest for each week |  | ||||||
|   -M          --monthly                     calculate interest for each month |  | ||||||
|   -Y          --yearly                      calculate interest for each year |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ cat irr.journal |  | ||||||
| 2011-01-01 Some wild speculation – I wonder if it pays off |  | ||||||
|    Speculation   €100.00 |  | ||||||
|    Cash |  | ||||||
| 
 |  | ||||||
| 2011-02-01 More speculation (and adjustment of value) |  | ||||||
|    Cash         -€10.00 |  | ||||||
|    Rate Gain     -€1.00 |  | ||||||
|    Speculation |  | ||||||
| 
 |  | ||||||
| 2011-03-01 Lets pull out some money (and adjustment of value) |  | ||||||
|    Cash          €30.00 |  | ||||||
|    Rate Gain     -€3.00 |  | ||||||
|    Speculation |  | ||||||
| 
 |  | ||||||
| 2011-04-01 More speculation (and it lost some money!) |  | ||||||
|    Cash         -€50.00 |  | ||||||
|    Rate Gain     € 5.00 |  | ||||||
|    Speculation |  | ||||||
| 
 |  | ||||||
| 2011-05-01 Getting some money out (and adjustment of value) |  | ||||||
|    Speculation  -€44.00 |  | ||||||
|    Rate Gain    -€ 3.00 |  | ||||||
|    Cash |  | ||||||
| 
 |  | ||||||
| 2011-06-01 Emptying the account (after adjusting the value) |  | ||||||
|    Speculation   -€85.00 |  | ||||||
|    Cash           €90.00 |  | ||||||
|    Rate Gain     -€ 5.00 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger-irr -f irr.journal -t "Rate Gain" -i Speculation  --monthly |  | ||||||
| 2011/01/01 - 2011/02/01: 12.49% |  | ||||||
| 2011/02/01 - 2011/03/01: 41.55% |  | ||||||
| 2011/03/01 - 2011/04/01: -51.44% |  | ||||||
| 2011/04/01 - 2011/05/01: 32.24% |  | ||||||
| 2011/05/01 - 2011/06/01: 95.92% |  | ||||||
| 
 |  | ||||||
|    hledger-irr computes the internal rate of return, also known as the |  | ||||||
| effective interest rate, of a given investment. After specifying what |  | ||||||
| account holds the investment, and what account stores the gains (or |  | ||||||
| losses, or fees, or cost), it calculates the hypothetical annual rate of |  | ||||||
| fixed rate investment that would have provided the exact same cash flow. |  | ||||||
| See the package page for more. |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: print-unique,  Next: rewrite,  Prev: irr,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.7 print-unique |  | ||||||
| ================ |  | ||||||
| 
 |  | ||||||
| Print only only journal entries which have a unique description. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ cat unique.journal |  | ||||||
| 1/1 test |  | ||||||
|  (acct:one)  1 |  | ||||||
| 2/2 test |  | ||||||
|  (acct:two)  2 |  | ||||||
| $ LEDGER_FILE=unique.journal hledger print-unique |  | ||||||
| (-f option not supported) |  | ||||||
| 2015/01/01 test |  | ||||||
|     (acct:one)             1 |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: rewrite,  Next: ui,  Prev: print-unique,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.8 rewrite |  | ||||||
| =========== |  | ||||||
| 
 |  | ||||||
| Prints all journal entries, adding specified custom postings to matched |  | ||||||
| entries. |  | ||||||
| 
 |  | ||||||
|    hledger-rewrite.hs, in hledger's extra directory (compilation |  | ||||||
| optional), adds postings to existing transactions, optionally with an |  | ||||||
| amount based on the existing transaction's first amount. See the script |  | ||||||
| for more details. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $ hledger rewrite -- [QUERY]        --add-posting "ACCT  AMTEXPR" ... |  | ||||||
| $ hledger rewrite -- ^income        --add-posting '(liabilities:tax)  *.33' |  | ||||||
| $ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts)  *-1"' |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: ui,  Next: web,  Prev: rewrite,  Up: ADD-ON COMMANDS |  | ||||||
| 
 |  | ||||||
| 5.9 ui |  | ||||||
| ====== |  | ||||||
| 
 | 
 | ||||||
| Curses-style interface, see hledger-ui. | Curses-style interface, see hledger-ui. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: web,  Prev: ui,  Up: ADD-ON COMMANDS | File: hledger.1.info,  Node: web,  Prev: ui,  Up: Official add-ons | ||||||
| 
 | 
 | ||||||
| 5.10 web | 5.1.3 web | ||||||
| ======== | --------- | ||||||
| 
 | 
 | ||||||
| Web interface, see hledger-web. | Web interface, see hledger-web. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: Third party add-ons,  Next: Experimental add-ons,  Prev: Official add-ons,  Up: ADD-ON COMMANDS | ||||||
|  | 
 | ||||||
|  | 5.2 Third party add-ons | ||||||
|  | ======================= | ||||||
|  | 
 | ||||||
|  | These are maintained separately from hledger, and usually updated | ||||||
|  | shortly after a hledger release. | ||||||
|  | 
 | ||||||
|  | * Menu: | ||||||
|  | 
 | ||||||
|  | * diff:: | ||||||
|  | * iadd:: | ||||||
|  | * interest:: | ||||||
|  | * irr:: | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: diff,  Next: iadd,  Up: Third party add-ons | ||||||
|  | 
 | ||||||
|  | 5.2.1 diff | ||||||
|  | ---------- | ||||||
|  | 
 | ||||||
|  | hledger-diff Shows differences in an account's transactions between one | ||||||
|  | journal file and another. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: iadd,  Next: interest,  Prev: diff,  Up: Third party add-ons | ||||||
|  | 
 | ||||||
|  | 5.2.2 iadd | ||||||
|  | ---------- | ||||||
|  | 
 | ||||||
|  | hledger-iadd A curses-style, more interactive replacement for the add | ||||||
|  | command. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: interest,  Next: irr,  Prev: iadd,  Up: Third party add-ons | ||||||
|  | 
 | ||||||
|  | 5.2.3 interest | ||||||
|  | -------------- | ||||||
|  | 
 | ||||||
|  | hledger-interest Generates interest transactions for an account | ||||||
|  | according to various schemes. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: irr,  Prev: interest,  Up: Third party add-ons | ||||||
|  | 
 | ||||||
|  | 5.2.4 irr | ||||||
|  | --------- | ||||||
|  | 
 | ||||||
|  | hledger-irr Calculates the internal rate of return of an investment | ||||||
|  | account. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: Experimental add-ons,  Prev: Third party add-ons,  Up: ADD-ON COMMANDS | ||||||
|  | 
 | ||||||
|  | 5.3 Experimental add-ons | ||||||
|  | ======================== | ||||||
|  | 
 | ||||||
|  | These add-ons are available in source form in the hledger repo. | ||||||
|  | Installing them is pretty easy. Reading and copying these is a good way | ||||||
|  | to start making your own add-ons. | ||||||
|  | 
 | ||||||
|  | * Menu: | ||||||
|  | 
 | ||||||
|  | * budget:: | ||||||
|  | * chart:: | ||||||
|  | * check-dates:: | ||||||
|  | * dupes:: | ||||||
|  | * equity:: | ||||||
|  | * print-unique:: | ||||||
|  | * register-match:: | ||||||
|  | * rewrite:: | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: budget,  Next: chart,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.1 budget | ||||||
|  | ------------ | ||||||
|  | 
 | ||||||
|  | hledger-budget.hs A tool adding more budget-tracking features to | ||||||
|  | hledger. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: chart,  Next: check-dates,  Prev: budget,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.2 chart | ||||||
|  | ----------- | ||||||
|  | 
 | ||||||
|  | hledger-chart.hs An old pie chart generator, in need of some love. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: check-dates,  Next: dupes,  Prev: chart,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.3 check-dates | ||||||
|  | ----------------- | ||||||
|  | 
 | ||||||
|  | hledger-check-dates.hs Checks that journal entries are ordered by date. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: dupes,  Next: equity,  Prev: check-dates,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.4 dupes | ||||||
|  | ----------- | ||||||
|  | 
 | ||||||
|  | hledger-dupes.hs Checks for account names sharing the same leaf name. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: equity,  Next: print-unique,  Prev: dupes,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.5 equity | ||||||
|  | ------------ | ||||||
|  | 
 | ||||||
|  | hledger-equity.hs Prints balance-resetting transactions useful for | ||||||
|  | bringing account balances across file boundaries. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: print-unique,  Next: register-match,  Prev: equity,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.6 print-unique | ||||||
|  | ------------------ | ||||||
|  | 
 | ||||||
|  | hledger-print-unique.hs Prints transactions which do not reuse an | ||||||
|  | already-seen description. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: register-match,  Next: rewrite,  Prev: print-unique,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.7 register-match | ||||||
|  | -------------------- | ||||||
|  | 
 | ||||||
|  | hledger-register-match.hs Helps ledger-autosync recognise | ||||||
|  | already-imported transactions. | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | File: hledger.1.info,  Node: rewrite,  Prev: register-match,  Up: Experimental add-ons | ||||||
|  | 
 | ||||||
|  | 5.3.8 rewrite | ||||||
|  | ------------- | ||||||
|  | 
 | ||||||
|  | hledger-rewrite.hs Adds one or more custom postings to matched | ||||||
|  | transactions. | ||||||
|  | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: TROUBLESHOOTING,  Prev: ADD-ON COMMANDS,  Up: Top | File: hledger.1.info,  Node: TROUBLESHOOTING,  Prev: ADD-ON COMMANDS,  Up: Top | ||||||
| 
 | 
 | ||||||
| @ -2401,31 +2210,47 @@ Node: test58331 | |||||||
| Ref: #test58418 | Ref: #test58418 | ||||||
| Node: ADD-ON COMMANDS58785 | Node: ADD-ON COMMANDS58785 | ||||||
| Ref: #add-on-commands58921 | Ref: #add-on-commands58921 | ||||||
| Node: api60209 | Node: Official add-ons60173 | ||||||
| Ref: #api60301 | Ref: #official-add-ons60315 | ||||||
| Node: autosync60335 | Node: api60403 | ||||||
| Ref: #autosync60450 | Ref: #api60494 | ||||||
| Node: diff62765 | Node: ui60528 | ||||||
| Ref: #diff62875 | Ref: #ui60629 | ||||||
| Node: equity63539 | Node: web60670 | ||||||
| Ref: #equity63653 | Ref: #web60761 | ||||||
| Node: interest64981 | Node: Third party add-ons60794 | ||||||
| Ref: #interest65098 | Ref: #third-party-add-ons60971 | ||||||
| Node: irr68182 | Node: diff61120 | ||||||
| Ref: #irr68295 | Ref: #diff61219 | ||||||
| Node: print-unique70670 | Node: iadd61318 | ||||||
| Ref: #print-unique70800 | Ref: #iadd61434 | ||||||
| Node: rewrite71058 | Node: interest61514 | ||||||
| Ref: #rewrite71177 | Ref: #interest61637 | ||||||
| Node: ui71706 | Node: irr61732 | ||||||
| Ref: #ui71806 | Ref: #irr61832 | ||||||
| Node: web71847 | Node: Experimental add-ons61910 | ||||||
| Ref: #web71935 | Ref: #experimental-add-ons62064 | ||||||
| Node: TROUBLESHOOTING71968 | Node: budget62351 | ||||||
| Ref: #troubleshooting72087 | Ref: #budget62458 | ||||||
| Node: Run-time problems72141 | Node: chart62533 | ||||||
| Ref: #run-time-problems72284 | Ref: #chart62658 | ||||||
| Node: Known limitations74228 | Node: check-dates62726 | ||||||
| Ref: #known-limitations74371 | Ref: #check-dates62862 | ||||||
|  | Node: dupes62935 | ||||||
|  | Ref: #dupes63060 | ||||||
|  | Node: equity63131 | ||||||
|  | Ref: #equity63259 | ||||||
|  | Node: print-unique63377 | ||||||
|  | Ref: #print-unique63526 | ||||||
|  | Node: register-match63619 | ||||||
|  | Ref: #register-match63773 | ||||||
|  | Node: rewrite63863 | ||||||
|  | Ref: #rewrite63982 | ||||||
|  | Node: TROUBLESHOOTING64060 | ||||||
|  | Ref: #troubleshooting64179 | ||||||
|  | Node: Run-time problems64233 | ||||||
|  | Ref: #run-time-problems64376 | ||||||
|  | Node: Known limitations66320 | ||||||
|  | Ref: #known-limitations66463 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -1566,331 +1566,94 @@ ADD-ON COMMANDS | |||||||
|        Here are some hledger add-ons available from Hackage, the extra  direc- |        Here are some hledger add-ons available from Hackage, the extra  direc- | ||||||
|        tory in the hledger source, or elsewhere: |        tory in the hledger source, or elsewhere: | ||||||
| 
 | 
 | ||||||
|  |    Official add-ons | ||||||
|  |        These are maintained and released along with hledger. | ||||||
|  | 
 | ||||||
|    api |    api | ||||||
|        Web API server, see hledger-api. |        Web API server, see hledger-api. | ||||||
| 
 | 
 | ||||||
|    autosync |  | ||||||
|        Download OFX bank data and/or convert OFX to hledger journal format. |  | ||||||
| 
 |  | ||||||
|               $ hledger autosync --help |  | ||||||
|               usage: hledger-autosync [-h] [-m MAX] [-r] [-a ACCOUNT] [-l LEDGER] [-i INDENT] |  | ||||||
|                                       [--initial] [--fid FID] [--assertions] [-d] [--hledger] |  | ||||||
|                                       [--slow] [--which] |  | ||||||
|                                       [PATH] |  | ||||||
| 
 |  | ||||||
|               Synchronize ledger. |  | ||||||
| 
 |  | ||||||
|               positional arguments: |  | ||||||
|                 PATH                  do not sync; import from OFX file |  | ||||||
| 
 |  | ||||||
|               optional arguments: |  | ||||||
|                 -h, --help            show this help message and exit |  | ||||||
|                 -m MAX, --max MAX     maximum number of days to process |  | ||||||
|                 -r, --resync          do not stop until max days reached |  | ||||||
|                 -a ACCOUNT, --account ACCOUNT |  | ||||||
|                                       set account name for import |  | ||||||
|                 -l LEDGER, --ledger LEDGER |  | ||||||
|                                       specify ledger file to READ for syncing |  | ||||||
|                 -i INDENT, --indent INDENT |  | ||||||
|                                       number of spaces to use for indentation |  | ||||||
|                 --initial             create initial balance entries |  | ||||||
|                 --fid FID             pass in fid value for OFX files that do not supply it |  | ||||||
|                 --assertions          create balance assertion entries |  | ||||||
|                 -d, --debug           enable debug logging |  | ||||||
|                 --hledger             force use of hledger (on by default if invoked as hledger- |  | ||||||
|                                       autosync) |  | ||||||
|                 --slow                use slow, but possibly more robust, method of calling ledger |  | ||||||
|                                       (no subprocess) |  | ||||||
|                 --which               display which version of ledger/hledger/ledger-python will |  | ||||||
|                                       be used by ledger-autosync to check for previous |  | ||||||
|                                       transactions |  | ||||||
|               $ head acct1.ofx |  | ||||||
|               OFXHEADER:100 |  | ||||||
|               DATA:OFXSGML |  | ||||||
|               VERSION:102 |  | ||||||
|               SECURITY:NONE |  | ||||||
|               ENCODING:USASCII |  | ||||||
|               CHARSET:1252 |  | ||||||
|               COMPRESSION:NONE |  | ||||||
|               OLDFILEUID:NONE |  | ||||||
|               NEWFILEUIDe:8509488b59d1bb45 |  | ||||||
| 
 |  | ||||||
|               $ hledger autosync acct1.ofx |  | ||||||
|               2013/08/30 MONTHLY SERVICE FEE |  | ||||||
|                   ; ofxid: 3000.4303001832.201308301 |  | ||||||
|                   WF:4303001832                               -$6.00 |  | ||||||
|                   [assets:business:bank:wf:bchecking:banking]  $6.00 |  | ||||||
| 
 |  | ||||||
|        ledger-autosync,  which  includes  a  hledger-autosync alias, downloads |  | ||||||
|        transactions from your bank(s) via OFX, and prints just the new ones as |  | ||||||
|        journal entries which you can add to your journal.  It can also operate |  | ||||||
|        on .OFX files which you've downloaded  manually.   It  can  be  a  nice |  | ||||||
|        alternative  to  hledger's built-in CSV reader, especially if your bank |  | ||||||
|        supports OFX download. |  | ||||||
| 
 |  | ||||||
|    diff |  | ||||||
|        Show transactions present in one journal file but not another |  | ||||||
| 
 |  | ||||||
|               $ hledger diff --help |  | ||||||
|               Usage: hledger-diff account:name left.journal right.journal |  | ||||||
|               $ cat a.journal |  | ||||||
|               1/1 |  | ||||||
|                (acct:one)  1 |  | ||||||
| 
 |  | ||||||
|               $ cat b.journal |  | ||||||
|               1/1 |  | ||||||
|                (acct:one)  1 |  | ||||||
|               2/2 |  | ||||||
|                (acct:two)  2 |  | ||||||
| 
 |  | ||||||
|               $ hledger diff acct:two a.journal b.journal |  | ||||||
|               Unmatched transactions in the first journal: |  | ||||||
| 
 |  | ||||||
|               Unmatched transactions in the second journal: |  | ||||||
| 
 |  | ||||||
|               2015/02/02 |  | ||||||
|                   (acct:two)            $2 |  | ||||||
| 
 |  | ||||||
|        hledger-diff compares two journal files.  Given  an  account  name,  it |  | ||||||
|        prints  out  the  transactions  affecting that account which are in one |  | ||||||
|        journal file but not in the other.  This can be useful for  reconciling |  | ||||||
|        existing journals with bank statements. |  | ||||||
| 
 |  | ||||||
|    equity |  | ||||||
|        Print a journal entry that resets account balances to zero. |  | ||||||
| 
 |  | ||||||
|               $ hledger balance --flat -E assets liabilities |  | ||||||
|                                  0  assets:bank:checking |  | ||||||
|                                 $1  assets:bank:saving |  | ||||||
|                                $-2  assets:cash |  | ||||||
|                                 $1  liabilities:debts |  | ||||||
|               -------------------- |  | ||||||
|                                  0 |  | ||||||
|               $ hledger equity assets liabilities |  | ||||||
|               2015/05/23 |  | ||||||
|                   assets:bank:saving                $-1 |  | ||||||
|                   assets:cash                        $2 |  | ||||||
|                   liabilities:debts                 $-1 |  | ||||||
|                   equity:closing balances             0 |  | ||||||
| 
 |  | ||||||
|               2015/05/23 |  | ||||||
|                   assets:bank:saving                 $1 |  | ||||||
|                   assets:cash                       $-2 |  | ||||||
|                   liabilities:debts                  $1 |  | ||||||
|                   equity:opening balances             0 |  | ||||||
| 
 |  | ||||||
|        This prints a journal entry which zeroes out the specified accounts (or |  | ||||||
|        all accounts) with a transfer to/from "equity:closing  balances"  (like |  | ||||||
|        Ledger's  equity command).  Also, it prints an similar entry with oppo- |  | ||||||
|        site sign for restoring the balances from "equity:opening balances". |  | ||||||
| 
 |  | ||||||
|        These can be useful for ending one journal file and starting a new one, |  | ||||||
|        respectively.   By zeroing your asset and liability accounts at the end |  | ||||||
|        of a file and restoring them at the start of the next one, you will see |  | ||||||
|        correct  asset/liability  balances  whether you run hledger on just one |  | ||||||
|        file, or on several files concatenated with include. |  | ||||||
| 
 |  | ||||||
|    interest |  | ||||||
|        Generate interest transactions. |  | ||||||
| 
 |  | ||||||
|               $ hledger interest --help |  | ||||||
|               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 |  | ||||||
|                             --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=RATE     annual interest rate |  | ||||||
|                             --bgb288          compute interest according to German BGB288 |  | ||||||
|                             --ing-diba        compute interest according for Ing-Diba Tagesgeld account |  | ||||||
| 
 |  | ||||||
|               $ cat interest.journal |  | ||||||
|               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 |  | ||||||
| 
 |  | ||||||
|               $ hledger interest -- -f interest.journal --source=Expenses:Interest \ |  | ||||||
|                   --target=Liabilities:Bank --30-360 --annual=0.05 Liabilities:Bank |  | ||||||
|               2008/09/26 Loan |  | ||||||
|                   Assets:Bank       EUR 10000.00 |  | ||||||
|                   Liabilities:Bank  EUR -10000.00 |  | ||||||
| 
 |  | ||||||
|               2008/11/27 0.05% interest for EUR -10000.00 over 61 days |  | ||||||
|                   Liabilities:Bank     EUR -84.72 |  | ||||||
|                   Expenses:Interest     EUR 84.72 |  | ||||||
| 
 |  | ||||||
|               2008/11/27 Payment |  | ||||||
|                   Assets:Bank       EUR -3771.12 |  | ||||||
|                   Liabilities:Bank   EUR 3771.12 |  | ||||||
| 
 |  | ||||||
|               2008/12/31 0.05% interest for EUR -6313.60 over 34 days |  | ||||||
|                   Liabilities:Bank     EUR -29.81 |  | ||||||
|                   Expenses:Interest     EUR 29.81 |  | ||||||
| 
 |  | ||||||
|               2009/05/03 0.05% interest for EUR -6343.42 over 123 days |  | ||||||
|                   Liabilities:Bank    EUR -108.37 |  | ||||||
|                   Expenses:Interest    EUR 108.37 |  | ||||||
| 
 |  | ||||||
|               2009/05/03 Payment |  | ||||||
|                   Assets:Bank       EUR -1200.00 |  | ||||||
|                   Liabilities:Bank   EUR 1200.00 |  | ||||||
| 
 |  | ||||||
|               2009/12/31 0.05% interest for EUR -5251.78 over 238 days |  | ||||||
|                   Liabilities:Bank    EUR -173.60 |  | ||||||
|                   Expenses:Interest    EUR 173.60 |  | ||||||
| 
 |  | ||||||
|               2010/12/10 0.05% interest for EUR -5425.38 over 340 days |  | ||||||
|                   Liabilities:Bank    EUR -256.20 |  | ||||||
|                   Expenses:Interest    EUR 256.20 |  | ||||||
| 
 |  | ||||||
|               2010/12/10 Payment |  | ||||||
|                   Assets:Bank       EUR -3700.00 |  | ||||||
|                   Liabilities:Bank   EUR 3700.00 |  | ||||||
| 
 |  | ||||||
|        hledger-interest computes interests for a given 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.   Fur- |  | ||||||
|        thermore,  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  fr  Verbrauchergeschfte).  See the package page for |  | ||||||
|        more. |  | ||||||
| 
 |  | ||||||
|    irr |  | ||||||
|        Calculate internal rate of return. |  | ||||||
| 
 |  | ||||||
|               $ hledger irr --help |  | ||||||
|               Usage: hledger-irr [OPTION...] |  | ||||||
|                 -h          --help                        print this message and exit |  | ||||||
|                 -V          --version                     show version number and exit |  | ||||||
|                 -c          --cashflow                    also show all revant transactions |  | ||||||
|                 -f FILE     --file=FILE                   input ledger file (pass '-' for stdin) |  | ||||||
|                 -i ACCOUNT  --investment-account=ACCOUNT  investment account |  | ||||||
|                 -t ACCOUNT  --interest-account=ACCOUNT    interest/gain/fees/losses account |  | ||||||
|                 -b DATE     --begin=DATE                  calculate interest from this date |  | ||||||
|                 -e DATE     --end=DATE                    calculate interest until this date |  | ||||||
|                 -D          --daily                       calculate interest for each day |  | ||||||
|                 -W          --weekly                      calculate interest for each week |  | ||||||
|                 -M          --monthly                     calculate interest for each month |  | ||||||
|                 -Y          --yearly                      calculate interest for each year |  | ||||||
| 
 |  | ||||||
|               $ cat irr.journal |  | ||||||
|               2011-01-01 Some wild speculation - I wonder if it pays off |  | ||||||
|                  Speculation   100.00 |  | ||||||
|                  Cash |  | ||||||
| 
 |  | ||||||
|               2011-02-01 More speculation (and adjustment of value) |  | ||||||
|                  Cash         -10.00 |  | ||||||
|                  Rate Gain     -1.00 |  | ||||||
|                  Speculation |  | ||||||
| 
 |  | ||||||
|               2011-03-01 Lets pull out some money (and adjustment of value) |  | ||||||
|                  Cash          30.00 |  | ||||||
|                  Rate Gain     -3.00 |  | ||||||
|                  Speculation |  | ||||||
| 
 |  | ||||||
|               2011-04-01 More speculation (and it lost some money!) |  | ||||||
|                  Cash         -50.00 |  | ||||||
|                  Rate Gain      5.00 |  | ||||||
|                  Speculation |  | ||||||
| 
 |  | ||||||
|               2011-05-01 Getting some money out (and adjustment of value) |  | ||||||
|                  Speculation  -44.00 |  | ||||||
|                  Rate Gain    - 3.00 |  | ||||||
|                  Cash |  | ||||||
| 
 |  | ||||||
|               2011-06-01 Emptying the account (after adjusting the value) |  | ||||||
|                  Speculation   -85.00 |  | ||||||
|                  Cash           90.00 |  | ||||||
|                  Rate Gain     - 5.00 |  | ||||||
| 
 |  | ||||||
|               $ hledger-irr -f irr.journal -t "Rate Gain" -i Speculation  --monthly |  | ||||||
|               2011/01/01 - 2011/02/01: 12.49% |  | ||||||
|               2011/02/01 - 2011/03/01: 41.55% |  | ||||||
|               2011/03/01 - 2011/04/01: -51.44% |  | ||||||
|               2011/04/01 - 2011/05/01: 32.24% |  | ||||||
|               2011/05/01 - 2011/06/01: 95.92% |  | ||||||
| 
 |  | ||||||
|        hledger-irr computes the internal rate of return,  also  known  as  the |  | ||||||
|        effective  interest rate, of a given investment.  After specifying what |  | ||||||
|        account holds the investment, and what account  stores  the  gains  (or |  | ||||||
|        losses,  or  fees, or cost), it calculates the hypothetical annual rate |  | ||||||
|        of fixed rate investment that would have provided the exact  same  cash |  | ||||||
|        flow.  See the package page for more. |  | ||||||
| 
 |  | ||||||
|    print-unique |  | ||||||
|        Print only only journal entries which have a unique description. |  | ||||||
| 
 |  | ||||||
|               $ cat unique.journal |  | ||||||
|               1/1 test |  | ||||||
|                (acct:one)  1 |  | ||||||
|               2/2 test |  | ||||||
|                (acct:two)  2 |  | ||||||
|               $ LEDGER_FILE=unique.journal hledger print-unique |  | ||||||
|               (-f option not supported) |  | ||||||
|               2015/01/01 test |  | ||||||
|                   (acct:one)             1 |  | ||||||
| 
 |  | ||||||
|    rewrite |  | ||||||
|        Prints all journal entries, adding specified custom postings to matched |  | ||||||
|        entries. |  | ||||||
| 
 |  | ||||||
|        hledger-rewrite.hs,   in   hledger's   extra   directory   (compilation |  | ||||||
|        optional),  adds  postings to existing transactions, optionally with an |  | ||||||
|        amount based on the  existing  transaction's  first  amount.   See  the |  | ||||||
|        script for more details. |  | ||||||
| 
 |  | ||||||
|               $ hledger rewrite -- [QUERY]        --add-posting "ACCT  AMTEXPR" ... |  | ||||||
|               $ hledger rewrite -- ^income        --add-posting '(liabilities:tax)  *.33' |  | ||||||
|               $ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts)  *-1"' |  | ||||||
| 
 |  | ||||||
|    ui |    ui | ||||||
|        Curses-style interface, see hledger-ui. |        Curses-style interface, see hledger-ui. | ||||||
| 
 | 
 | ||||||
|    web |    web | ||||||
|        Web interface, see hledger-web. |        Web interface, see hledger-web. | ||||||
| 
 | 
 | ||||||
|  |    Third party add-ons | ||||||
|  |        These  are  maintained  separately  from  hledger,  and usually updated | ||||||
|  |        shortly after a hledger release. | ||||||
|  | 
 | ||||||
|  |    diff | ||||||
|  |        hledger-diff Shows differences in an account's transactions between one | ||||||
|  |        journal file and another. | ||||||
|  | 
 | ||||||
|  |    iadd | ||||||
|  |        hledger-iadd  A  curses-style, more interactive replacement for the add | ||||||
|  |        command. | ||||||
|  | 
 | ||||||
|  |    interest | ||||||
|  |        hledger-interest Generates interest transactions for an account accord- | ||||||
|  |        ing to various schemes. | ||||||
|  | 
 | ||||||
|  |    irr | ||||||
|  |        hledger-irr  Calculates  the  internal  rate of return of an investment | ||||||
|  |        account. | ||||||
|  | 
 | ||||||
|  |    Experimental add-ons | ||||||
|  |        These add-ons are  available  in  source  form  in  the  hledger  repo. | ||||||
|  |        Installing  them  is  pretty easy.  Reading and copying these is a good | ||||||
|  |        way to start making your own add-ons. | ||||||
|  | 
 | ||||||
|  |    budget | ||||||
|  |        hledger-budget.hs  A  tool  adding  more  budget-tracking  features  to | ||||||
|  |        hledger. | ||||||
|  | 
 | ||||||
|  |    chart | ||||||
|  |        hledger-chart.hs An old pie chart generator, in need of some love. | ||||||
|  | 
 | ||||||
|  |    check-dates | ||||||
|  |        hledger-check-dates.hs Checks that journal entries are ordered by date. | ||||||
|  | 
 | ||||||
|  |    dupes | ||||||
|  |        hledger-dupes.hs Checks for account names sharing the same leaf name. | ||||||
|  | 
 | ||||||
|  |    equity | ||||||
|  |        hledger-equity.hs  Prints  balance-resetting  transactions  useful  for | ||||||
|  |        bringing account balances across file boundaries. | ||||||
|  | 
 | ||||||
|  |    print-unique | ||||||
|  |        hledger-print-unique.hs  Prints  transactions  which  do  not  reuse an | ||||||
|  |        already-seen description. | ||||||
|  | 
 | ||||||
|  |    register-match | ||||||
|  |        hledger-register-match.hs     Helps      ledger-autosync      recognise | ||||||
|  |        already-imported transactions. | ||||||
|  | 
 | ||||||
|  |    rewrite | ||||||
|  |        hledger-rewrite.hs Adds one or more custom postings to matched transac- | ||||||
|  |        tions. | ||||||
|  | 
 | ||||||
| TROUBLESHOOTING | TROUBLESHOOTING | ||||||
|    Run-time problems |    Run-time problems | ||||||
|        Here  are  some  issues  you  might encounter when you run hledger (and |        Here are some issues you might encounter  when  you  run  hledger  (and | ||||||
|        remember you can also seek help from the IRC channel, mail list or  bug |        remember  you can also seek help from the IRC channel, mail list or bug | ||||||
|        tracker): |        tracker): | ||||||
| 
 | 
 | ||||||
|        Successfully installed, but "No command 'hledger' found" |        Successfully installed, but "No command 'hledger' found" | ||||||
|        stack and cabal install binaries into a special directory, which should |        stack and cabal install binaries into a special directory, which should | ||||||
|        be added to your PATH environment variable.  Eg on  unix-like  systems, |        be  added  to your PATH environment variable.  Eg on unix-like systems, | ||||||
|        that is ~/.local/bin and ~/.cabal/bin respectively. |        that is ~/.local/bin and ~/.cabal/bin respectively. | ||||||
| 
 | 
 | ||||||
|        I set a custom LEDGER_FILE, but hledger is still using the default file |        I set a custom LEDGER_FILE, but hledger is still using the default file | ||||||
|        LEDGER_FILE should be a real environment variable,  not  just  a  shell |        LEDGER_FILE  should  be  a  real environment variable, not just a shell | ||||||
|        variable.   The command env | grep LEDGER_FILE should show it.  You may |        variable.  The command env | grep LEDGER_FILE should show it.  You  may | ||||||
|        need to use export.  Here's an explanation. |        need to use export.  Here's an explanation. | ||||||
| 
 | 
 | ||||||
|        "Illegal byte sequence" or "Invalid or  incomplete  multibyte  or  wide |        "Illegal  byte  sequence"  or  "Invalid or incomplete multibyte or wide | ||||||
|        character" errors |        character" errors | ||||||
|        In order to handle non-ascii letters and symbols (like ), hledger needs |        In order to handle non-ascii letters and symbols (like ), hledger needs | ||||||
|        an appropriate locale.  This is usually configured system-wide; you can |        an appropriate locale.  This is usually configured system-wide; you can | ||||||
|        also configure it temporarily.  The locale may need to be one that sup- |        also configure it temporarily.  The locale may need to be one that sup- | ||||||
|        ports UTF-8, if you built hledger with GHC < 7.2 (or  possibly  always, |        ports  UTF-8,  if you built hledger with GHC < 7.2 (or possibly always, | ||||||
|        I'm not sure yet). |        I'm not sure yet). | ||||||
| 
 | 
 | ||||||
|        Here's  an  example  of  setting  the  locale  temporarily,  on  ubuntu |        Here's  an  example  of  setting  the  locale  temporarily,  on  ubuntu | ||||||
| @ -1909,7 +1672,7 @@ TROUBLESHOOTING | |||||||
|               $ echo "export LANG=en_US.UTF-8" >>~/.bash_profile |               $ echo "export LANG=en_US.UTF-8" >>~/.bash_profile | ||||||
|               $ bash --login |               $ bash --login | ||||||
| 
 | 
 | ||||||
|        If we preferred to use eg fr_FR.utf8, we might  have  to  install  that |        If  we  preferred  to  use eg fr_FR.utf8, we might have to install that | ||||||
|        first: |        first: | ||||||
| 
 | 
 | ||||||
|               $ apt-get install language-pack-fr |               $ apt-get install language-pack-fr | ||||||
| @ -1930,45 +1693,45 @@ TROUBLESHOOTING | |||||||
|    Known limitations |    Known limitations | ||||||
|        Command line interface |        Command line interface | ||||||
| 
 | 
 | ||||||
|        Add-on command options, unless they are also  understood  by  the  main |        Add-on  command  options,  unless  they are also understood by the main | ||||||
|        hledger   executable,   must   be   written   after   --,   like  this: |        hledger  executable,   must   be   written   after   --,   like   this: | ||||||
|        hledger web -- --server |        hledger web -- --server | ||||||
| 
 | 
 | ||||||
|        Differences from Ledger |        Differences from Ledger | ||||||
| 
 | 
 | ||||||
|        Not all of Ledger's journal file syntax is supported.  See file  format |        Not  all of Ledger's journal file syntax is supported.  See file format | ||||||
|        differences. |        differences. | ||||||
| 
 | 
 | ||||||
|        hledger  is  slower  than  Ledger,  and uses more memory, on large data |        hledger is slower than Ledger, and uses  more  memory,  on  large  data | ||||||
|        files. |        files. | ||||||
| 
 | 
 | ||||||
|        Windows limitations |        Windows limitations | ||||||
| 
 | 
 | ||||||
|        In a windows CMD window, non-ascii characters and colours are not  sup- |        In  a windows CMD window, non-ascii characters and colours are not sup- | ||||||
|        ported. |        ported. | ||||||
| 
 | 
 | ||||||
|        In a windows Cygwin/MSYS/Mintty window, the tab key is not supported in |        In a windows Cygwin/MSYS/Mintty window, the tab key is not supported in | ||||||
|        hledger add. |        hledger add. | ||||||
| 
 | 
 | ||||||
| ENVIRONMENT | ENVIRONMENT | ||||||
|        COLUMNS The screen width used by the register  command.   Default:  the |        COLUMNS  The  screen  width used by the register command.  Default: the | ||||||
|        full terminal width. |        full terminal width. | ||||||
| 
 | 
 | ||||||
|        LEDGER_FILE The journal file path when not specified with -f.  Default: |        LEDGER_FILE The journal file path when not specified with -f.  Default: | ||||||
|        ~/.hledger.journal (on  windows,  perhaps  C:/Users/USER/.hledger.jour- |        ~/.hledger.journal  (on  windows,  perhaps C:/Users/USER/.hledger.jour- | ||||||
|        nal). |        nal). | ||||||
| 
 | 
 | ||||||
| FILES | FILES | ||||||
|        Reads  data from one or more files in hledger journal, timeclock, time- |        Reads data from one or more files in hledger journal, timeclock,  time- | ||||||
|        dot,  or  CSV  format  specified   with   -f,   or   $LEDGER_FILE,   or |        dot,   or   CSV   format   specified   with  -f,  or  $LEDGER_FILE,  or | ||||||
|        $HOME/.hledger.journal           (on          windows,          perhaps |        $HOME/.hledger.journal          (on          windows,           perhaps | ||||||
|        C:/Users/USER/.hledger.journal). |        C:/Users/USER/.hledger.journal). | ||||||
| 
 | 
 | ||||||
| BUGS | BUGS | ||||||
|        The need to precede options with -- when invoked from hledger  is  awk- |        The  need  to precede options with -- when invoked from hledger is awk- | ||||||
|        ward. |        ward. | ||||||
| 
 | 
 | ||||||
|        hledger  can't render non-ascii characters when run from a Windows com- |        hledger can't render non-ascii characters when run from a Windows  com- | ||||||
|        mand prompt (up to Windows 7 at least). |        mand prompt (up to Windows 7 at least). | ||||||
| 
 | 
 | ||||||
|        When input data contains non-ascii characters, a suitable system locale |        When input data contains non-ascii characters, a suitable system locale | ||||||
| @ -1978,7 +1741,7 @@ BUGS | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel |        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -1992,7 +1755,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), |        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user