burglar

Gem Version Build Status Coverage Status Code Quality MIT Licensed

Tool for parsing data from bank websites into the format of ledger

Usage

Burglar operates on the concept of modules for each bank's site. The module does the heavy lifting to hit the API or scrape the site for data.

Running burglar

Burglar supports a couple of command line flags, each with a sane default:

   -c FILE, --config FILE  Config file to load
   -b DATE, --begin DATE   Beginning of date range
   -e DATE, --end DATE     End of date range

The config file will default to ~/.burglar.yml, begin defaults to 30 days ago, and end defaults to today.

Configuration file

Here's an initial example, which should be mostly self explanatory.

banks:
  amex:
    type: american_express
    user: akerl
    account: Liabilities:Credit:amex

The banks object is a hash of named hashes, each one is an account that will be polled. Each account must have a type, which is the name of the module to use. You can also pass an account, which sets the account name for the ledger output (if not set, modules can attempt to provide a default). Other configuration depends on the module.

Modules

American Express

This pulls from the American Express site by scraping a CSV.

Configuration:

  • [required] user: your American Express username

Ally

This pulls from the Ally site by scraping a CSV.

  • [required] user: your Ally username
  • [required] name: the nickname of the specific account

Helpers

Helpers exist to centralize common activity that modules can rely on.

Creds

This uses keylime to pull creds from an OSX keychain

Ledger

This helps convert transactions into ledger entries using libledger

Mechanize

This provides a Mechanize client for modules that want to scrape the bank website

Installation

gem install burglar

License

burglar is released under the MIT License. See the bundled LICENSE file for details.