• Stars
    star
    2,768
  • Rank 15,831 (Top 0.4 %)
  • Language
    Haskell
  • License
    GNU General Publi...
  • Created about 11 years ago
  • Updated 7 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.

hledger

Robust, intuitive plain text accounting

license on hackage github issues

Welcome! This a brief intro to hledger. For a more detailed version, see the home page: https://hledger.org

hledger is lightweight, cross platform, multi-currency, double-entry accounting software. It lets you track money, investments, cryptocurrencies, invoices, time, inventory and more, in a safe, future-proof plain text data format with full version control and privacy.

hledger aims to help both computer experts and regular folks gain clarity in their finances and time management. Though the UIs are basic, hledger can model any accounting situation and provide precise, clear reports. It is reliable, quick, and backed by the highly supportive Plain Text Accounting ecosystem. Using it is an excellent way to learn double entry accounting.

Compared to other PTA apps, hledger is actively maintained, with regular releases, and a strong focus on being easy to use and practical for everyday accounting.

More features:

  • Installs easily on unix, mac or windows
  • Complete, built-in documentation in multiple formats, beginner videos, tutorials etc.
  • Multiple UIs: command-line, terminal, web, mobile, editors/IDEs
  • Good at importing and exporting CSV; also outputs text/HTML/JSON/SQL
  • A robust, general, well-specified multi-currency accounting engine
  • Fast, analysing 25k transactions per second on a macbook air m1
  • Accurate to 255 decimal places
  • Supports your preferred account names, currencies, number formats
  • Inspired by and partly compatible with Ledger CLI; interconvertible with Beancount
  • Scriptable by CLI, HTTP or API, with plenty of examples
  • Clean Haskell codebase, continually improved since 2007, with $100 regression bounties
  • Free software licensed under GPLv3+.

Examples

I use hledger to:

  • track income and spending, sometimes with budgets
  • see time reports by day/week/month/project
  • track reimbursables, invoices and payments
  • predict cashflow and account balances
  • get accurate numbers for tax filing
  • research past events

Here's an example of the journal file format:

2022-01-01 opening balances as of this date
    assets:bank:checking                $1000
    assets:bank:savings                 $2000
    assets:cash                          $100
    liabilities:creditcard               $-50
    equity:opening/closing balances

2022-01-15 market
    expenses:food             $50
    assets:cash              $-50

2022-02-01 GOODWORKS CORP
    assets:bank:checking           $1000
    income:salary                 $-1000

and some simple reports:

$ hledger bs
Balance Sheet 2022-02-15

                        || 2022-02-15 
========================++============
 Assets                 ||            
------------------------++------------
 assets:bank:checking   ||      $2000 
 assets:bank:savings    ||      $2000 
 assets:cash            ||        $50 
------------------------++------------
                        ||      $4050 
========================++============
 Liabilities            ||            
------------------------++------------
 liabilities:creditcard ||        $50 
------------------------++------------
                        ||        $50 
========================++============
 Net:                   ||      $4000 
$ hledger is --monthly                                            
Income Statement 2022-01-01..2022-02-28                                               
                                                                                      
               ||  Jan    Feb                                                         
===============++=============                                                        
 Revenues      ||                                                                     
---------------++-------------                                                        
 income:salary ||    0  $1000                                                         
---------------++-------------                                                        
               ||    0  $1000                                                         
===============++=============                                                        
 Expenses      ||                                                                     
---------------++-------------                                                        
 expenses:food ||  $50      0                                                         
---------------++-------------                                                        
               ||  $50      0                                                         
===============++=============                                                        
 Net:          || $-50  $1000                                                         

More examples and screenshots: https://hledger.org/#how-to-get-started

Funding

hledger is brought to you by Simon Michael, 140+ contributors, and the generous financial sponsors below.

After enjoying some personal or organisational success with hledger, you might want to become one of them, to help support this work. It's easy! Please see https://hledger.org/sponsor.html for details.

Organisational sponsors

Individual sponsors

If your logo/avatar needs to be added, let me know!

More Repositories

1

shelltestrunner

Easy, repeatable testing of CLI programs/commands
Haskell
119
star
2

haskell-atom-setup

How to set up and use the Atom IDE for Haskell development in 2016. 2020: Obsolete, use VS Code instead.
HTML
84
star
3

hledger_site

The repo for hledger.org, the hledger project's website.
CSS
49
star
4

quickbench

Easily time one or more commands with one or more executables and show tabular results
Haskell
21
star
5

ZWiki

A featureful wiki engine based on Zope 2
Python
16
star
6

games

Small games, experiments, and notes on (Haskell) game development.
Haskell
12
star
7

haskell-links

Exploratory project to gather Haskell links
PHP
10
star
8

hledger_finance

The hledger project's public finances
Shell
8
star
9

hssdl-mac-example

The graphics-drawingcombinators example program, with the adaptations that used to be needed for mac OSX. Obsolete.
Haskell
6
star
10

haskell-finance

Notes on Haskell programming language-related finances.
Makefile
4
star
11

gist

A start at a reliable command-line client for gist.github.com. Obsolete.
Haskell
4
star
12

metapong

Experimental haskell pong-like game collaborative project.
Haskell
3
star
13

symon

Minimal implementation(s) of the classic electronic memory game
Haskell
3
star
14

YACPong

Yet another Pong clone written in Haskell using SDL. Forked from snkkid.
Haskell
3
star
15

aoc2018

My solutions for Advent of Code 2018 puzzles.
Haskell
3
star
16

breakout

A Breakout prototype, for exploring haskell game dev.
Haskell
3
star
17

haskell-extras

Helper scripts for haskell users
Haskell
1
star
18

lambdabot-where

A periodically-updated snapshot of the facts stored by the lambdabot IRC bot's @where command
Makefile
1
star
19

hledgersnapshot

A temporary history-less snapshot of the "hledger" repo, small enough to be imported at https://repl.it
Haskell
1
star