clipf(1)

โœจ NAME โœจ

clipf โ€” a personal finance manager with a command line interface ๐Ÿ’– (this is the clipf(1) page from the General Commands Manual, bestie, section 1 energy only)


๐ŸŒธ SYNOPSIS ๐ŸŒธ

clipf [<conf_dir>]

๐Ÿ’… DESCRIPTION ๐Ÿ’…

It's a simple personal finance manager, no cap. You use it to track your income and expenses by accounts and hierarchical categories. And the way it stores everything? Flat text files. That's it. That's the whole vibe. ๐Ÿฆ‹


๐ŸŽ€ ARGUMENTS ๐ŸŽ€

  • <conf_dir> โ€” the directory holding your configuration file and your data files. It defaults to ~/.clipf/. And if that directory isn't there when the program starts up, it just gets created and populated for you with a default configuration and empty data files. So generous. So iconic. ๐Ÿซถ

๐Ÿฆ‹ DEFINITIONS ๐Ÿฆ‹

  • account โ€” describes an independent money storage, for which you want to track remains and turnover. Your little money buckets, basically. ๐Ÿ’ฐ
  • item โ€” describes categories of your incomes/expenses. These can be nested, exactly like files/directories in a file system. ๐ŸŒณ
  • item code โ€” it's a segmented unique identifier of an item/item group. A period . in an item code defines nesting levels. And a period at the end of an item code means this item is a group (it has subling items). ๐Ÿ‘‘
  • operation โ€” defines a single money transaction (income or expense). One lil' moment of money moving. ๐Ÿ’ธ
  • tag โ€” an arbitrary string used for additional classification of operations. It has the same nesting rules as items. Any number of tags can be added to each operation. And honestly? It may be a good idea to store available tags in the item list. iykyk. ๐Ÿท๏ธ

๐Ÿ’œ USAGE ๐Ÿ’œ

Type help to see available commands. Type help <command> to see online help about that particular <command>. Literally so easy. โœจ

For most reporting commands, the output can be piped to an external shell command the same way as shell do. So go off, pipe it wherever you want. ๐Ÿ”ฅ


๐Ÿ‘‘ COMMANDS CONCERNING ITEMS ๐Ÿ‘‘

  • prod add [-d] <item_code> <item_name> โ€” add a new item. Type <item_name> in quotes if it contains spaces.
    • -d โ€” define this item as income (defaults to expense).
  • prod rm <item_code_prefix> โ€” remove all items whose code starts with <item_code_prefix>. This does not affect the operations list. Your history stays, periodt.
  • prod ls [<item_code>] โ€” show one level of the item list โ€” the direct sublings of <item_code>. Defaults to the root level.
  • prod mv <old_item_code_prefix> <new_item_code_prefix> โ€” update all item codes that start with <old_item_code_prefix>, replacing it with <new_item_code_prefix>. And yes, item codes in the operation list get updated as well. ๐Ÿ’…

๐Ÿ“ COMMANDS CONCERNING OPERATIONS ๐Ÿ“

  • op add [-d <date>] [-a <account>] [-t <tag>] <item_code> <amount> [<note>] โ€” add a new operation.
    • -d <date> โ€” override the default operation date to <date>.
    • -a <account> โ€” override the default operation account to <account>
    • -t <tag> โ€” label the operation with <tag>. Any number of -t options can be used to add several tags to the operation.
  • op ls [-t <tag_prefix>] [<item_code_prefix>] โ€” show a list of operations in the current reporting period. If <item_code_prefix> is specified, the list is limited to operations whose item code starts with <item_code_prefix>. If the -t <tag_prefix> option is specified, limit output to operations labelled with a tag that starts with <tag_prefix>. ๐Ÿงš

๐ŸŒˆ COMMANDS CONCERNING REPORTING ๐ŸŒˆ

The reporting period is always between the <date_from> and <date_to> global options, which you set with the set command. โœจ

  • rep prod [-t <tag_prefix>] [-a <account>] [<item_code>] โ€” show a turnover report for items (item groups) which are direct sublings of <item_code> (defaults to root). The turnover for an item group is the sum of the turnovers of all their nested items/groups.
    • -t <tag_prefix> โ€” take into account only operations labelled with a tag that starts with <tag_prefix>
    • -a <account> โ€” take into account only operations by the <account> account.
  • rep acc โ€” show remains and turnovers for all accounts. Every single one. ๐Ÿ‘‘

๐Ÿ’– OTHER COMMANDS ๐Ÿ’–

  • set <option> <value> โ€” set the global option <option> value to <value>. For date options, the base format is Y-M-D. A leading 0 can be omitted. For the current year, the year part can be omitted. For the current month, the year and month parts can be omitted. Available options:
    • date โ€” default date for new operations. Can be overridden by the -d option of op add.
    • date_from
    • date_to โ€” reporting period for op ls and all rep subcommands.
    • acc โ€” default account for new operations. Can be overridden by the -a option of op add.
    • max_lines โ€” if the number of lines in the report output exceeds this value, then less would be used to show the report output.
  • show [<option>] โ€” show current values of all global options, or of the specified <option>.
  • calc <expression> โ€” the embedded calculator. Evaluate a numeric expression and print the result. Math but make it cute. ๐Ÿงฎโœจ

๐ŸŽ€ ALIASES ๐ŸŽ€

Aliases are the simple way to make shortcuts for frequently used commands. An alias can be defined by the pair of strings: <command_line_prefix> and <prefix_substitution_string>. If a command line starts with any of the defined aliases <command_line_prefix>, this prefix would be substituted with the corresponding <prefix_substitution_string>. Examples can be found in the system configuration file (see FILES). ๐Ÿซถ


โญ EXAMPLES โญ

  • set date_from 2008-04-01 โ€” set the reporting start period to 2008-04-01.
  • r prod โ€” show the turnover report by top level items.
  • op ls | grep foo | less โ€” pipe report output to a shell command.
  • op ls | cat - >somefile.txt โ€” save report output to a file

๐Ÿฆ‹ FILES ๐Ÿฆ‹

All configuration files have the same format โ€” plain python code, that would be executed during clipf startup, in the context of the main module. A more specific configuration file can overwrite settings from a more general one. ๐ŸŒธ

  • /etc/clipf.conf โ€” system-wide configuration file
  • ~/.clipf.conf โ€” user-specific configuration
  • <config_path>/clipf.conf โ€” configuration-specific settings.
  • ~/.clipf/ โ€” the default configuration directory. Contains the clipf.conf configuration file, and the db/ subdirectory with data files.

๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Denis Galtsev <galtsevdv@gmail.com>


๐Ÿ’œ SEE ALSO ๐Ÿ’œ

Program site at: http://code.google.com/p/clipf/


okay that's the whole page bestie, every flag, every file, every option, all of it โ€” nothing skipped, nothing invented, fr fr ๐Ÿ™ˆ๐Ÿ’–

and that's a wrap on this clipf(1) page from the General Commands Manual, mwah ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from