Skip to content

jimm/expensive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expensive

A bank statement manager / budget reporter. Imports CSV files from my bank, assigns categories to transactions, reports on monthly and yearly expenditures, and more.

I'm using this project to learn the Phoenix Web framework.

Application Notes

Models

  • Category categories

    • description:string
  • CategoryRegex category_regexes

    • category_id:references:categories
    • regex:string
  • Transaction transactions

    • year:integer
    • month:integer
    • day:integer
    • amount:integer
    • description:string
    • type:text
    • notes:text
    • category_id:references:categories
  • Check checks

    • transaction_id:references:transactions
    • description:text

Major Functionality

  • Import bank statements
    • Old statements, one-time import must handle older formats
    • New statements
  • Categories
    • Automatic assignment
    • Store regexes in database?
    • Edit them
  • Checks
    • Id is check number
    • Created manually or when txn is imported
  • Export tax info
  • Export/display monthly and yearly spend individually and by category

To Do

  • Upgrade Poison to 2.0.

  • Fatal flaw: if importing a check that does not yet have a transaction, the transaction that comes along later will never be linked to the check because the check table does not store the check number so we have no way of finding it.

Phoenix

To start your Phoenix app:

  1. Install dependencies with mix deps.get
  2. Create and migrate your database with mix ecto.create && mix ecto.migrate
  3. Start Phoenix endpoint with mix phoenix.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more

About

Expense tracker, written in Elixir and using Phoenix

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published