accounting software based on ledger(1)

Kevin Bloom 9f4bc3bb39 added a little help thingie 4 months ago
.gitignore 514532086e added more info 1 year ago
LICENSE ae31dc624e init 1 year ago
README.md a640d9d4f0 cleaned up argument parsing; finished up date options 10 months ago
aledger 9f4bc3bb39 added a little help thingie 4 months ago
balance.awk d40819616d Closes #1 4 months ago
final.awk e1c02abe28 added enhancements to balance command 11 months ago
ledge.awk e1c02abe28 added enhancements to balance command 11 months ago
makefile 6b6589dff5 added PREFIX to makefile 10 months ago
reg_values.awk a640d9d4f0 cleaned up argument parsing; finished up date options 10 months ago
register.awk d40819616d Closes #1 4 months ago
replace-share-path.awk d8ba046436 awk is more portable than sed 11 months ago

README.md

aledger

plain text accounting software based on ledger(1) written in POSIX awk and shell.

Goals

  • 100% POSIX compliance
  • provide some of the features of ledger(1)
    • doing all of ledger(1) would likely be impossible and too difficult
  • display data in ways that are easy for other unix commands to manipulate
  • don't suck

Why?

ledger(1) is awesome but I only use a handful of the features it provides. This is kind of a test to see if I can make a ledger-like software using only awk and shell without it being really really hard and still being useful.

Supported Commands

  • register
    • --monthly
    • --weekly
  • balance

Usage

aledger command [options] file

command
  balance      display the current balance of all entries
    --start    specify the starting date (must be of form yyyy/mm/dd)
    --end      specify the ending date (must be of form yyyy/mm/dd)
  register     display a day-by-day register of cash flow
    --start    specify the starting date (must be of form yyyy/mm/dd)
    --end      specify the ending date (must be of form yyyy/mm/dd)
    --monthly  group the register by month
    --weekly   group the register by week

TODO

  • better balance output (sub-list everything)
  • --weekly option for register
  • --quarterly option for register
  • date range support
  • order register outputs alphabetically
  • man page