aboutsummaryrefslogblamecommitdiffstats
path: root/README.md
blob: c2f4a9b1a4fccbde5824802623e987e7a15804b9 (plain) (tree)























































                                                                               
# leddy

minimal plain text accounting tool

`leddy` is a [plain text accounting](https://plaintextaccounting.org/) tool,
inspired by similar tools like [ledger](https://ledger-cli.org/),
[hledger](https://hledger.org/) and [beancount](https://beancount.github.io/).
It is implemented in [Hare](https://harelang.org) with an emphasis on parsing
speed, specificity and correctness, and is geared toward the accounting needs
of individuals. (That's somewhat by necessity because it is a young and modest
project.)

`leddy` uses a unique ledger format that differs slightly from other plain text
accounting tools. Most notably, no row contents are inferred, so leaving an
amount blank to auto-balance it with the prior row is not allowed. Other
nuances, largely implemented at the author's preference, may exist; consulting
the man pages is recommended, but overall it should not feel intimidating to
those familiar with other plain text accounting tools.

An example ledger file exists in the repo.

# Installation

Requires a working [Hare](https://harelang.org) toolchain. `scdoc` is optional,
but required if you want the man pages.

```
make
sudo make install
```

# Usage

* Trial balance:
  `leddy -f /path/to/ledgerfile tb`

* Balance sheet (by default, equity and zero-balance accounts omitted):
  `leddy -f /path/to/ledgerfile bs`

* Balance sheet (traditional):
  `leddy -f /path/to/ledgerfile -qz bs`

* Income statement for 2024:
  `leddy -f /path/to/ledgerfile -b 2024-01-01 -e 2024-12-31 is`

* Balance sheet on 10-31-2023:
  `leddy -f /path/to/ledgerfile -e 2023-10-31 bs`

* Summary of currency conversion rates observed in Jan 2022:
  `leddy -f /path/to/ledgerfile -b 2022-01-01 -e 2022-01-31 fx`

# Contributing

This is a modest project with modest goals, but patchsets are welcome. The goal
of this project is not to create a feature-competitive replacement for any of
the projects mentioned above. Emphasis is on simplicity and comprehensibility.