Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
 
 
nix
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Build Status

beans - A Plain-Text Accounting Tool

beans is a plain text accounting tool in the tradition of ledger, hledger and beancount. Read the overview below, or check out the manual for details!

Track your net worth

Print a formatted balance sheet in USD:

beans balance -j examples/example.bean

Output:

|------------------+------------+------------|
| Account          | 2018-01-01 | 2018-11-01 |
|------------------+------------+------------|
| Assets           |            |            |
|   Checking       |            |            |
|     USD          |   15000.00 |   14600.00 |
|   Portfolio      |            |            |
|     AAPL         |            |      10.00 |
|   Wallet         |            |            |
|     BTC          |            |       0.25 |
|------------------+------------+------------|
| Equity           |            |            |
|   Gains          |            |            |
|     AAPL         |            |     -10.00 |
|     BTC          |            |      -0.25 |
|     USD          |            |    5200.00 |
|   OpeningBalance |            |            |
|     USD          |  -15000.00 |  -15000.00 |
|------------------+------------+------------|
| Income           |            |            |
|   Salary         |            |            |
|     USD          |            |  -12000.00 |
|------------------+------------+------------|
| Expenses         |            |            |
|   Books          |            |            |
|     USD          |            |     100.00 |
|   Groceries      |            |            |
|     USD          |            |    1100.00 |
|   Rent           |            |            |
|     USD          |            |    6000.00 |
|------------------+------------+------------|
| Total            |            |            |
|   AAPL           |            |            |
|   BTC            |            |            |
|   USD            |            |            |
|------------------+------------+------------|

Convert arbitrary commodities and currencies

Convert all amounts to USD, using latest market prices:

beans balance -j examples/example.bean --val USD

Output:

|------------------+------------+------------|
| Account          | 2018-01-01 | 2018-11-01 |
|------------------+------------+------------|
| Assets           |            |            |
|   Checking       |   15000.00 |   14600.00 |
|   Portfolio      |            |    2220.00 |
|   Wallet         |            |    1589.50 |
|------------------+------------+------------|
| Equity           |            |            |
|   Equity         |            |    1233.50 |
|   Gains          |            |     157.00 |
|   OpeningBalance |  -15000.00 |  -15000.00 |
|------------------+------------+------------|
| Income           |            |            |
|   Salary         |            |  -12000.00 |
|------------------+------------+------------|
| Expenses         |            |            |
|   Books          |            |     100.00 |
|   Groceries      |            |    1100.00 |
|   Rent           |            |    6000.00 |
|------------------+------------+------------|
| Total            |            |            |
|------------------+------------+------------|

Convert all amounts to bitcoin, using latest market prices:

beans balance -j examples/example.bean --val BTC

Output:

|------------------+------------+------------|
| Account          | 2018-01-01 | 2018-11-01 |
|------------------+------------+------------|
| Assets           |            |            |
|   Checking       |       1.12 |       2.30 |
|   Portfolio      |            |       0.35 |
|   Wallet         |            |       0.25 |
|------------------+------------+------------|
| Equity           |            |            |
|   Equity         |            |      -1.34 |
|   Gains          |            |       0.01 |
|   OpeningBalance |      -1.12 |      -1.12 |
|------------------+------------+------------|
| Income           |            |            |
|   Salary         |            |      -1.11 |
|------------------+------------+------------|
| Expenses         |            |            |
|   Books          |            |       0.01 |
|   Groceries      |            |       0.09 |
|   Rent           |            |       0.55 |
|------------------+------------+------------|
| Total            |       0.00 |       0.00 |
|------------------+------------+------------|

Importers and Bayesian Inference

Take a sample bank statement:

Datum von:;2017-05-23
Buchungsart:;Alle Buchungen
Konto:;CHXXXXXXXXXXXXXXXXXXX
Währung:;CHF
Buchungsdatum;Avisierungstext;Gutschrift;Lastschrift;Valuta;Saldo
2017-06-01;"Acme Corp";;-135.00;2017-06-01;

Disclaimer:
Dies ist kein durch PostFinance AG erstelltes Dokument. PostFinance AG ist nicht verantwortlich für den Inhalt.

Import the statement and assign accounts to bookings:

beans import -i ch.postfinance -a Assets:Checking examples/quick/postfinance.csv

Output:

2017-06-01 "Acme Corp"
Assets:Checking -135 CHF
TBD 135 CHF

Use Bayesian inference (aka "machine learning") to automatically assign accounts to the TBD account. Use your journal both as training and target file, and beans will replace TBD accounts with its best guess, based on your existing data.

beans infer --help

Usage: beans infer (-t|--training-file TRAINING_FILE) TARGET_FILE
  Infer accounts

Available options:
  -t,--training-file TRAINING_FILE
                           The file containing the training data
  -h,--help                Show this help text

2017-06-01 "Acme Corp"
Assets:Checking -135 CHF
TBD 135 CHF

Import data from Yahoo! and AlphaVantage

beans has built-in fetchers for prices from Yahoo! and AlphaVantage. Provide a configuration in dhall (see example) and beans will keep up-to-date price files on request.

beans fetch --help

Usage: beans fetch [-c|--commodities COMMODITY] CONFIG_FILE
  Fetch latest prices

Available options:
  -c,--commodities COMMODITY
                           The commodity to fetch
  CONFIG_FILE              The dhall config file to parse
  -h,--help                Show this help text

Other features

  • flexible analysis and filtering
  • written in Haskell

Check out the manual !

License

BSD-3

You can’t perform that action at this time.