bud(1) # NAME bud - simple monthly budget tracker # DESCRIPTION *bud* is intended to replace the customary spreadsheet as a means of recording routine expenses. It parses enumerated expenses, summing up which ones are expected on which days of which months, and displays this information in either an annual summary overview or a month-specific view. # USAGE ## bud daily [month] Shows total expenses for each day of the current month. Days with zero totals are skipped. Lastly, shows total expenses for the first and second half of each month. In the future this may be configurable, but right now it uses the 1st though 14th and the 15th through end of month. This is intended to align with semi-monthly pay cycles. This will fail if any expenses in the given month do not have a day associated with them. Calling *bud* with no argument calls this. ## bud show [month] Shows all expenses applicable to the given month, sorted by date then amount, with a total at the bottom. Shows all available metadata for each expense. If you don't specify a month, the current month is used. ## bud overview Shows an overview of all expenses across all months. The "base" amount is the minimum amount for any month (that is, the sum of all expenses incurred in _all_ months). Amounts for other months are only shown if they differ from the base amount. # EXPENSE SYNTAX The file containing expenses must be located at *$HOME/.config/bud/expenses*. Expenses are organized in a newline-delimited *Key = Value* format, e.g. Name = Rent++ Category = Essentials++ Amount = 27500++ Method = Checking Account++ Months = \*++ Day = 1 *Name*, *Amount*, and *Months* are required. Other items are optional. Amounts are indicated in the smallest possible currency denomination (i.e. cents for USD, yen for JPY). This is for future-proofing when/if custom currency formating becomes possible. Months are comma-delimited three-letter abbreviations, e.g. "Jan,Feb". The asterisk (\*) is a special case meaning all months. In this way you can easily represent an e.g. quarterly expense like "Jan,Jul". Each expense must be separated by exactly one empty line, and the file must end with a newline character. Lines beginning with the hash (#) are treated as comments and ignored. # CONFIGURATION No configuration options exist. These may or may not exist in the future.