accounting software based on ledger(1)

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

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