About the package

Expenses is an Emacs package for keeping track of expenses. It uses org files to save as well view and calculate expenses for a given period of time in one or more categories. For each month, a separate org file is created with the month and date as prefix in the file name. Expense entries are saved in an org-table inside the org file. All the calculation of expenses are done using table formulas that comes with org-mode.

It comes with convenient interactive functions

  • expenses-add-expense to add an expnese entry with date, amount, category and details.
  • expenses-view-expense to view expense file for a given month.
  • expenses-calc-expense-for-day to calculate expenses for a given day.
  • expenses-calc-expense-for-month to calculate expenses for a given month.
  • expenses-calc-expense-for-months to calculate expenses for a given range of months.
  • expenses-calc-expense-for-year to calculate expenses for a given year
  • expenses-calc-expense-by-category to calculate expenses in one or more category for a given date or month.


Expenses is available on MELPA. One can also install from source using straight and use-package

(use-package expenses
    :straight (expenses :type git :host github :repo "md-arif-shaikh/expenses"))


  • Directory for saving the expense files using
(setq expenses-directory "/path/to/directory")
  • Category list
(setq expenses-category-list '("category-1" "category-2"))
  • Currency
(setq expenses-currency "$")