For a long time hledger has auto-detected the file format when it's not known, eg when reading from a file with unusual extension (like .dat or .txt), or from standard input (-f-), or when using the include directive (which currently ignores file extensions). Auto-detecting has been done by trying all readers until one succeeds. This could guess wrong in some cases, but it was so rare that it has been working fine. Recently, more conveniences have been added to timedot format, increasing its overlap with journal format, which makes this kind of auto-detection unreliable. Auto-detection and auto-detection failures are (probably) still pretty rare in practice. But when it does happen it's confusing, giving misleading errors or false successes (eg printing timedot entries instead of a journal error). For predictability and to minimise confusion, hledger no longer tries to guess; when there's no file extension or reader prefix, it assumes journal format. To specify one of the other formats, you must use a standard file extension (.timeclock, .timedot, .csv, .ssv, .tsv), or a reader prefix (-f csv:foo.txt, -f timedot:-). For now, the include directive still tries to autodetect (journal/timeclock/timedot), and this can't be overridden; it will be fixed later. Experimental; testing and feedback welcome. |
||
|---|---|---|
| .github | ||
| .sandstorm | ||
| bin | ||
| checks | ||
| doc | ||
| docker | ||
| examples | ||
| hledger | ||
| hledger-install | ||
| hledger-lib | ||
| hledger-ui | ||
| hledger-web | ||
| old/hledger-api | ||
| shell-completion | ||
| tests | ||
| tools | ||
| .appveyor.yml | ||
| .ci | ||
| .ctags | ||
| .dockerignore | ||
| .editorconfig | ||
| .ghci | ||
| .gitignore | ||
| .hlint.yaml | ||
| .mailmap | ||
| .travis-maybe-skip.sh | ||
| .travis.yml | ||
| .version | ||
| azure-pipelines.yml | ||
| bench.sh | ||
| cabal-install.sh | ||
| cabal.project | ||
| CHANGES.md | ||
| CONTRIBUTING.md | ||
| dev.hs | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| Makefile.helpsys | ||
| README.md | ||
| ROADMAP.md | ||
| Shake.hs | ||
| stack-7.10.yaml.disabled | ||
| stack-8.0.yaml | ||
| stack-8.2.yaml | ||
| stack-8.4.yaml | ||
| stack-8.6.yaml | ||
| stack-8.10.yaml | ||
| stack.yaml | ||
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 terminal 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]