accounting software based on ledger(1)

Kevin "The Nuclear" Bloom 6b6589dff5 added PREFIX to makefile vor 4 Monaten
.gitignore 514532086e added more info vor 6 Monaten
LICENSE ae31dc624e init vor 6 Monaten
README.md a640d9d4f0 cleaned up argument parsing; finished up date options vor 5 Monaten
aledger a640d9d4f0 cleaned up argument parsing; finished up date options vor 5 Monaten
balance.awk 54529bbc5b added start and end flags for balance vor 5 Monaten
final.awk e1c02abe28 added enhancements to balance command vor 5 Monaten
ledge.awk e1c02abe28 added enhancements to balance command vor 5 Monaten
makefile 6b6589dff5 added PREFIX to makefile vor 4 Monaten
reg_values.awk a640d9d4f0 cleaned up argument parsing; finished up date options vor 5 Monaten
register.awk a640d9d4f0 cleaned up argument parsing; finished up date options vor 5 Monaten
replace-share-path.awk d8ba046436 awk is more portable than sed vor 5 Monaten

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