Skip to main content

Importers, plugins and price fetchers for Beancount

Project description

https://img.shields.io/pypi/l/tariochbctools.svg https://img.shields.io/pypi/v/tariochbctools.svg

tariochbctools

Some importers, plugins and price fetchers for the double-entry bookkeeping software Beancount.

plugins

generate_base_ccy_prices

Dynamically generates prices to the base ccy by applying the fx rate to the base ccy for non base ccy prices

plugin "tariochbctools.plugins.generate_base_ccy_prices" "CHF"

price fetchers

alphavantage

Fetches prices from Alphavantage Requires the environment variable ALPHAVANTAGE_API_KEY to be set with your personal api key.

2019-01-01 commodity VWRL
  price: "CHF:tariochbctools.plugins.prices.alphavantage/VWRL.SW"

alphavantagefx

Fetches fx rates from Alphavantage Requires the environment variable ALPHAVANTAGE_API_KEY to be set with your personal api key.

2019-01-01 commodity BTC
  price: "CHF:tariochbctools.plugins.prices.alphavantagefx/BTC"

bitstamp

Fetches prices from Bitstamp

2019-01-01 commodity BTC
  price: "EUR:tariochbctools.plugins.prices.bitstamp/BTC"

exchangeratesapi

Fetches prices from exchangeratesapi.io

2019-01-01 commodity EUR
  price: "CHF:tariochbctools.plugins.prices.exchangeratesapi/EUR"

interactivebrokers

Fetches prices from interactivebrokers Only works if you have open positions with the symbols. Requires the environment variables IBKR_TOKEN to be set with your flex query token and IBKR_QUERY_ID with a flex query that contains the open positions.

2019-01-01 commodity VWRL
  price: "CHF:tariochbctools.plugins.prices.ibkr/VWRL"

importers

bitstamp

Import transactions from Bitstamp

Create a file called bitstamp.yaml in your import location (e.g. downloads folder).

username: "12345"
key: "MyKey"
secret: "MySecret"
account: 'Assets:Bitstamp'
otherExpensesAccount: 'Expenses:Fee'
capGainAccount: 'Income:Capitalgain'
monthCutoff: 3
currencies:
  - eur
  - btc
from tariochbctools.importers.bitst import importer as bitstimp
CONFIG = [bitstimp.Importer()]

revolut

Import CSV from Revolut

from tariochbctools.importers.revolut import importer as revolutimp
CONFIG = [revolutimp.Importer('/Revolut-CHF.*\.csv', 'Assets:Revolut:CHF', 'CHF')]

transferwise

Import from Transferwise using their api

from tariochbctools.importers.transferwise import importer as twimp
CONFIG = [twimp.Importer()]

Create a file called transferwise.yaml in your import location (e.g. download folder).

token: <your api token>
baseAccount: <Assets:Transferwise:>

TrueLayer

Import from TrueLayer using their api services. e.g. supports Revolut. You need to create a dev account and see their documentation about how to get a refresh token.

from tariochbctools.importers.truelayer import importer as tlimp
CONFIG = [tlimp.Importer()]

Create a file called truelayer.yaml in your import location (e.g. download folder).

baseAccount: <Assets:MyBank:>
client_id: <CLIENT ID>
client_secret: <CLIENT SECRET>
refresh_token: <REFRESH TOKEN>

zkb

Import mt940 from Zürcher Kantonalbank

from tariochbctools.importers.zkb import importer as zkbimp
CONFIG = [zkbimp.ZkbImporter('/\d+\.mt940', 'Assets:ZKB')]

ibkr

Import dividends from Interactive Brokers

Create a file called ibkr.yaml in your import location (e.g. downloads folder).

token: <flex web query token>
queryId: <flex query id>
baseCcy: CHF

zak

Currently not working reliably. Import PDF from Bank Cler ZAK

mt940

Import Swift mt940 files.

schedule

Generate scheduled transactions.

Define a file called schedule.yaml in your import location (e.g. downloads folder). That describes the schedule transactions. They will be added each month at the end of the month.

transactions:
  - narration: 'Save'
    postings:
        - account: 'Assets:Normal'
          amount: '-10'
          currency: CHF
        - account: 'Assets:Saving'
from tariochbctools.importers.schedule import importer as scheduleimp
CONFIG = [ scheduleimp.Importer() ]

Cembra Mastercard Montly Statement

Import Monthly Statement PDF from Cembra Money Bank (e.g. Cumulus Mastercard). Requires the dependencies for camelot to be installed. See https://camelot-py.readthedocs.io/en/master/user/install-deps.html#install-deps

from tariochbctools.importers.cembrastatement import importer as cembrastatementimp
CONFIG = [cembrastatementimp.Importer('\d+.pdf', 'Liabilities:Cembra:Mastercard')]

blockchain

Import transactions from Blockchain

Create a file called blockchain.yaml in your import location (e.g. downloads folder).

base_ccy: CHF
addresses:
  - address: 'SOMEADDRESS'
    currency: 'BTC'
    narration: 'Some Narration'
    asset_account: 'Assets:MyCrypto:BTC'
  - address: 'SOMEOTHERADDRESS'
    currency: 'LTC'
    narration: 'Some Narration'
    asset_account: 'Assets:MyCrypto:LTC'
from tariochbctools.importers.blockchain import importer as bcimp
CONFIG = [bcimp.Importer()]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tariochbctools-0.14.0.tar.gz (17.9 kB view hashes)

Uploaded Source

Built Distribution

tariochbctools-0.14.0-py2.py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page