---
name: "pem"
section: "1"
platform: "linux"
package: "pem"
version: "0.7.9-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pem"
---

# pem(1)

GNU personal expenses manager

## NAME

**pem** - GNU personal expenses manager

## SYNOPSIS

- **pem** \[**OPTIONS**\] \[\<description\> \<amount\> ...\]

  ## DESCRIPTION

**GNU Pem** is a handy tool to help you keep track of your personal income and expenses. Needless to say, using **pem** is extremely simple and easy. A command of the following form is all it takes\
     $ pem "Bus ticket" 10.75\
     $ pem -f myexpenses.txt Breakfast 20 **Pem** stores these details in a CSV file, named after the current month, and placed in the \`~/.pem' directory under your $HOME directory. You may specify some other file using the \`-f' option. Also, each amount is considered as an expenditure unless indicated otherwise by \`-e'.

Tags/Categories: ================ From version 0.7.4, **pem** introduced support for tags & categories of records. You can tag an income and/or expense record as\
     $ pem -c bills "Cell phone bill" 830.50\
     $ pem -c 'travel fun leisure' "Trip to Goa" 4500 These are saved with the tags 'bills' & 'travel fun leisure' respectively. Later, you can see very useful reports showing your category wise expense traits. Now **pem** also facilitates filtering of records using tags and description. Note that, while filtering records, **pem** first looks into the tags and when they don't match, goes for the description field. Ex. To see all your expenses on \`travel', you can say\
     $ pem -s travel\
     $ pem -m travel While the first will list all your \`travel' expenses in a month; The later will show the cumulative results for each month till date. Other than this, **pem** supports these following options

## OPTIONS

**-b --bare**\
  show unformatted report **-c --category \<name\>**\
  categorise/tag your expenses **-e --earned**\
  indicates income **-f --file \<name\>**\
  specify file name **-s \[n\]**\
  show daily report with total after \[n\] days **-m \[n\]**\
  show monthly report with total after \[n\] months **-C**\
  show category/tag-wise report **-t --total** shows just the total when used it with -s **-M \<mm\>**\
  select the start month (01 \<= mm \<= 12) **-N \<mm\>**\
  select an end month (01 \<= mm \<= 12) **-Y \<yy\>**\
  select an year (00 \<= yy \<= 99) **-h --help**\
  show this help **-v --version** show version information

## ENVIRONMENT

PEMTIME **Pem** recognizes the PEMTIME environment variable. PEMTIME defines the format in which you want the \`Date & Time' to be displayed. For example, if you export PEMTIME="%F", the date "May 31 2007" will be displayed as 2007-05-31. For more information/options please see [strftime(3)](/strftime/3.md).

## REPORTING BUGS

Report bugs to \<pj.pandit@yahoo.co.in\>

## AUTHOR

Written by Prasad J Pandit

Initial category patch: John Westlund
