Go to file
Simon Michael c1236fa6e9 journal: account directives can declare account types
Previously you had to use one of the standard english account names
(assets, liabilities..) for top-level accounts, if you wanted to use
the bs/bse/cf/is commands.
Now, account directives can specify which of the big five categories
an account belongs to - asset, liability, equity, revenue or expense -
by writing one of the letters A, L, E, R or X two or more spaces after
the account name (where the numeric account code used to be).

This might change. Some thoughts influencing the current syntax:
- easy to type and read
- does not require multiple lines
- does not depend on any particular account numbering scheme
- allows more types later if needed
- still anglocentric, but only a little
- could be treated as syntactic sugar for account tags later
- seems to be compatible with (ignored by) current Ledger

The current design permits unlimited account type declarations anywhere
in the account tree. So you could declare a liability account somewhere
under assets, and maybe a revenue account under that, and another asset
account even further down. In such cases you start to see oddities like
accounts appearing in multiple places in a tree-mode report. In theory
the reports will still behave reasonably, but this has not been tested
too hard. In any case this is clearly too much freedom. I have left it
this way, for now, in case it helps with:

- modelling contra accounts ?
- multiple files. I suspect the extra expressiveness may come in handy
  when combining multiple files with account type declarations,
  rewriting account names, apply parent accounts etc.
  If we only allowed type declarations on top-level accounts, or
  only allowed a single account of each type, complications seem likely.
2018-10-09 14:24:59 -10:00
.sandstorm Add --capabilities-header to launcher.sh 2018-06-24 17:44:22 +02:00
bin smooth: smoothes out irregular transactions (experimental addon) 2018-07-16 23:36:06 +01:00
checks update dev setup tests 2015-03-16 17:59:06 -07:00
doc doc: announce: add cabal update 2018-10-06 13:16:13 -10:00
examples examples: csv/ssv/tsv examples similar to #829 test 2018-09-07 13:41:59 -07:00
hledger Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
hledger-api update embedded manuals 2018-10-06 09:42:27 -10:00
hledger-install install: bump hledger versions to 1.11.1 2018-10-06 09:40:52 -10:00
hledger-lib journal: account directives can declare account types 2018-10-09 14:24:59 -10:00
hledger-ui Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
hledger-web Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
site site: download: tweaks; start collecting packager contact info 2018-10-07 17:02:39 -10:00
tests tests: protect func. test from shelltest -w flag (#897) 2018-10-09 17:16:47 -07:00
tools tools: drop old alternate hunit runner 2018-09-04 13:54:22 -07:00
.appveyor.yml appveyor: try older ghc again, skip tests for now (#888) 2018-10-07 10:07:31 -10:00
.ci .ci: track generated md files as well 2018-05-21 08:35:49 -07:00
.ctags tools: remove some more hakyll-std traces 2018-05-09 10:20:21 -07:00
.editorconfig fix datepicker not closing, linting 2017-12-30 13:44:40 -05:00
.ghci tools: .ghci file to control prompt 2017-03-29 14:43:00 -07:00
.gitignore csv: merge lucamolteni's cassava/custom separators (squashed) (#829) 2018-09-07 12:34:51 -07:00
.hlint.yaml tools: replace old hlint config with yaml file 2018-02-15 11:53:28 -08:00
.mailmap doc: use consistent spelling of Mykola Orliuk 2017-03-27 05:47:15 -07:00
.travis-maybe-skip.sh tools: travis: note occasional breakage on PRs 2017-10-16 08:03:43 -07:00
.travis.yml travis: comment, webhook test 2018-05-18 13:36:11 -07:00
.version bump version to 1.11.99 2018-10-06 09:42:12 -10:00
bench.sh tools: make bench: disable slowest 10k-txn benchmarks by default 2017-12-05 14:38:55 -08:00
cabal-install.sh cabal-install: do a cabal update 2018-02-16 23:11:10 -08:00
cabal.project Add a cabal.project file (#411) 2016-10-05 07:15:13 -10:00
dev.hs dev.hs fix 2018-05-11 14:17:52 -07:00
help-system.mk tools: make help headings tweak 2017-08-16 06:05:43 -07:00
LICENSE add LICENSE 2008-10-01 07:52:07 +00:00
Makefile tools: make: drop hunittest rule 2018-09-09 08:35:03 -07:00
Makefile.old tools: archive old Makefile and start afresh 2015-07-12 12:29:53 -07:00
README.md doc: fix readme markdown formatting on github 2017-10-31 12:03:26 -07:00
Shake.hs site: shake: also generate the 1.11 web manual 2018-10-06 09:48:03 -10:00
stack-ghc7.10.yaml lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00
stack-ghc8.0.yaml lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00
stack-ghc8.2.yaml lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00
stack-ghc8.6.yaml stack: trial build plan for ghc 8.6 (#883) 2018-10-07 20:20:48 -10:00
stack.yaml lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00

hledger

lightweight, portable, dependable accounting tools

hledger is a computer program for easily tracking money, time, or other commodities, on unix, mac and windows (and web-capable mobile devices, to some extent).

It is first a command-line tool, but there are also curses-style and web interfaces, and a Haskell library (http://hackage.haskell.org/package/hledger-lib) for building your own programs and scripts (hledger is written in Haskell). hledger was inspired by and is largely compatible with Ledger. hledger is free software available under the GNU General Public License v3+.

hledger aims to help both computer experts and regular folks to gain clarity and control in their finances and time management, but currently it is a bit more suited to techies. I use it every day to:

  • track spending and income
  • see time reports by day/week/month/project
  • get accurate numbers for client billing and tax filing
  • track invoices

Though limited in features, hledger is lightweight, usable and reliable. For some, it is a simpler, less distracting, more future-proof alternative to Quicken or GnuCash.

For more, see http://hledger.org.

Support

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

license

OpenCollective OpenCollective bountysource github issues

on hackage on stackage nightly on stackage lts on stackage lts 7

travis build status appveyor windows build status