accounting software based on ledger(1)

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

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