A reliable, user-friendly Plain Text Accounting tool with command line, terminal and web interfaces.
Go to file
Stephen Morgan 4cfd3cb590 lib!: Remove GenericSourcePos, and replace it with either SourcePos or
(SourcePos, SourcePos).

This has been marked for possible removal for a while. We are keeping
strictly more information. Possible edge cases arise with Timeclock and
CsvReader, but I think these are covered.

The particular motivation for getting rid of this is that
GenericSourcePos is creating some awkward import considerations for
little gain. Removing this enables some flattening of the module
dependency tree.
2021-09-20 08:38:33 -10:00
.github ci: fix windows, make bash requirement explicit 2021-08-29 08:10:09 -10:00
.sandstorm Add --capabilities-header to launcher.sh 2018-06-24 17:44:22 +02:00
bin fix: bin: Allow hledger-check-fancyassertions to parse predicates (#1464). 2021-09-08 13:19:31 -10:00
checks update dev setup tests 2015-03-16 17:59:06 -07:00
doc imp: cli: move --today to reportflags (#1674) 2021-09-18 11:24:27 -10:00
docker package: added helper scripts in docker/ 2019-01-31 12:44:12 -08:00
docker-static-arm32v7 Static builds for Linux on x64 (amd64) and arm32v7 architectures (#1571) 2021-06-30 18:05:27 -10:00
examples ;fix: ui: test wording 2021-09-19 06:34:17 -10:00
hledger lib!: Remove GenericSourcePos, and replace it with either SourcePos or 2021-09-20 08:38:33 -10:00
hledger-install install: 1.22.2 2021-08-08 07:49:17 -10:00
hledger-lib lib!: Remove GenericSourcePos, and replace it with either SourcePos or 2021-09-20 08:38:33 -10:00
hledger-ui lib!: Remove GenericSourcePos, and replace it with either SourcePos or 2021-09-20 08:38:33 -10:00
hledger-web lib!: Remove GenericSourcePos, and replace it with either SourcePos or 2021-09-20 08:38:33 -10:00
tools cln: hlint: Clean up some examples of using sortOn. 2021-08-27 06:13:56 -10:00
.ci ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
.ctags cli, lib: move functional tests into hledger/test/ 2020-11-16 08:47:41 -08:00
.dockerignore package: added Dockerfile 2019-01-29 16:14:03 -08:00
.editorconfig fix datepicker not closing, linting 2017-12-30 13:44:40 -05:00
.ghci tools: use pretty-simple for ghci output 2020-11-03 08:19:01 -10:00
.gitignore web: --test [-- HSPECARGS] runs the test suite 2020-11-16 14:02:16 -08:00
.hlint.yaml dev: hlint: Avoid use of reverse. 2021-08-27 06:13:56 -10:00
.mailmap doc: use consistent spelling of Mykola Orliuk 2017-03-27 05:47:15 -07:00
.version ;pkg: bump version to 1.22.99 2021-08-03 00:24:20 -10:00
ACHIEVEMENTS.md ;imp: doc: separate ACHIEVEMENTS 2021-09-19 06:09:59 -10:00
azure-pipelines.yml ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
BACKLOG.org ;doc: backlog: entry command 2021-09-19 17:19:36 -10:00
bench.sh ;tools: update instructions for installing quickbench 2021-06-15 15:19:38 -10:00
cabal.project ;cabal: fix cabal.project error with cabal 3.4 2021-03-12 07:01:48 -08:00
CHANGES.md ;doc: update changelogs 2021-08-26 20:59:45 -10:00
CONTRIBUTING.md ;doc: CONTRIBUTING: update most link to https 2021-09-20 08:23:11 -10:00
CREDITS.md credits: notes for all multi-committers 2021-08-29 09:11:04 -10:00
dev.hs collect some langage pragmas in dev.hs 2019-02-20 18:08:33 -08:00
dir ;dev: doc: update manuals 2021-07-12 18:50:06 -10:00
Dockerfile ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
hie.yaml ;tools: silence hls errors for Shake.hs 2020-12-07 12:27:03 -08:00
LICENSE add LICENSE 2008-10-01 07:52:07 +00:00
Makefile ;tools: revert "make site" for now 2021-09-19 07:53:04 -10:00
Makefile.helpsys make: rename sub-makefiles; start moving site script to make/shake 2019-03-05 18:43:04 -08:00
README.md ;doc: readme: drop badges header 2020-08-21 08:18:26 -07:00
RELEASING.md ;doc: RELEASING: mention hledger-install 2021-08-08 07:49:17 -10:00
ROADMAP.org ;doc: backlog, roadmap 2021-09-19 08:24:29 -10:00
Shake.hs ;tools: Shake: add "orgfiles" for -VVV, fix their deps 2021-09-19 08:04:38 -10:00
stack8.6.yaml fix: web: b64 encode user controlled input (#1525) 2021-08-24 05:04:12 -10:00
stack8.8.yaml fix: web: b64 encode user controlled input (#1525) 2021-08-24 05:04:12 -10:00
stack8.10.yaml test: doctest cleanups, use latest 2021-07-20 20:38:39 -10:00
stack.yaml stack: 9.0: rename yaml file, making 9.0 the default 2021-07-20 20:38:39 -10:00

hledger project README

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 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 the home page: https://hledger.org

Sponsorship

Your support, large or small, helps keep this project strong!
See also https://hledger.org#sponsorship.

Sponsor Simon (project leader): github liberapay paypal

Sponsor the hledger project as an organisation: OpenCollective

Sponsor the hledger project as an individual: OpenCollective

Bounties for specific tasks: all bounties bountysource bounties




license hledger CI on hackage github issues