sage

command module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2019 License: GPL-3.0 Imports: 14 Imported by: 0

README

Sage Build Status Coverage Status

Be your own accountant, without the stress.

Automatically download transactions from your banks and credit cards, then categorize them based on your own rules.

Features

  • Automatically sync your ledger with banks and credit card institutions
  • Uses double-entry bookkeeping to keep things in check
  • Can deploy as a single binary or as a Docker container

For future features, see below

Install

Choose one of the following options:

  • Download and install the latest release from the releases page or this script:
curl -fsSL -H 'Accept: application/vnd.github.v3+json' https://api.github.com/repos/JohnStarich/sage/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -i "$(uname -s)-$(uname -m)" | xargs curl -fSL -o sage
chmod +x sage
./sage -help  # Optionally move sage into your PATH
  • Download the source and build it: go get github.com/johnstarich/sage
  • Or pull the container image from Docker Hub: docker pull johnstarich/sage

Note: If you use the Docker image, the default command will look for the ledger and other setup files in /data. Example run command:

# ./data should contain ofxclient.ini, ledger.rules, and ledger.journal
docker run -d \
    --name sage \
    --volume "$PWD/data":/data \
    johnstarich/sage

Usage

For available options, run sage -help

Setup

Sage requires a ledger (plain text accounting) file, an ofxclient.ini credentials file, and an hledger rules file.

The ledger will store all of your transactions in plain text so you can easily read it with any text editor. It also supports several other tools that can generate reports based on your ledger.

The ofxclient.ini file is currently generated by the ofxclient CLI. Install it and run ofxclient --open to create your ofxclient.ini. Note: Sage only supports passwords in the clear right now. (Plans for encrypted password stores coming in the future.)

Warning: Some banks, like Bank of America, may charge a fee for downloading transactions. While this is uncommon, we are not responsible for these charges. Do your homework if you want to be certain these charges won't apply to you.

The rules file is a format designed by the hledger project for importing CSVs. This file will help Sage automatically categorize incoming transactions into the appropriate accounts for your ledger. After a transaction has been imported, it is assigned an account (category) from this file. To follow convention, only include rules to change the account2 field or a comment. While changing account1 is supported, it will likely cause problems with Sage since account1 is assumed to be the source institution of the transaction.

Future work

  • Web UI to view transactions, accounts, and balances
  • Budget tracking (maybe add over-budget notifications)
  • Automatic version control to reduce risk of data loss
  • Smarter categorization by training on current ledger
  • Web UI to add credentials for new accounts

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL