accounting software based on ledger(1)

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