Importers, plugins and price fetchers for Beancount
Project description
tariochbctools
Some importers, plugins and price fetchers for the double-entry bookkeeping software Beancount.
Install it with
pip install tariochbctools
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
Also see Beanprice
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>
Nordigen
Import from Nordigen using their api services. e.g. supports Revolut. You need to create a free account and create a token. I’ve included a small cli to allow to hook up to different banks with nordigen. If you’re country is not supported you can play around with other countries e.g. CH is not allowed but things like revolut still work. You can also create multiple links and they will all be listed in the end.
nordigen-conf list_banks --token YOURTOKEN --country DE nordigen-conf create_link --token YOURTOKEN --bank REVOLUT_REVOGB21 nordigen-conf list_accounts --token YOURTOKEN list_accounts
from tariochbctools.importers.nordigen import importer as nordimp CONFIG = [nordimp.Importer()]
Create a file called nordigen.yaml in your import location (e.g. download folder).
token: <TOKEN> accounts: - id: <ACCOUNT-ID> asset_account: "Assets:MyAccount:CHF"
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
Import PDF from Bank Cler ZAK
from tariochbctools.importers.zak import importer as zakimp CONFIG = [ zakimp.Importer(r'Kontoauszug.*\.pdf', 'Assets:ZAK:CHF') ]
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()]
mail adapter
Instead of expecting files to be in a local directory. Connect per imap to a mail account and search for attachments to import using other importers.
Create a file called mail.yaml in your import location (e.g. downloads folder).
host: "imap.example.tld" user: "myuser" password: "mypassword" folder: "INBOX" targetFolder: "Archive"
The targetFolder is optional, if present, mails that had attachments which were valid, will be moved to this folder.
from tariochbctools.importers.general.mailAdapterImporter import MailAdapterImporter CONFIG = [MailAdapterImporter([MyImporter1(), MyImporter2()])]
neon
Import CSV from Neon
from tariochbctools.importers.neon import importer as neonimp CONFIG = [neonimp.Importer('\d\d\d\d_account_statements\.csv', 'Assets:Neon:CHF')]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tariochbctools-0.19.0.tar.gz
.
File metadata
- Download URL: tariochbctools-0.19.0.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67ebf8a62ffe59fea7d7a156f72b93762ef8432a9d8ac123dd958f1320e1c37c |
|
MD5 | 280de13ec86dcc10c6e2907e62541988 |
|
BLAKE2b-256 | b1cb029e2e346224b567c1b136651d1a3a39692b173cd913fd7c338cb93a867a |
File details
Details for the file tariochbctools-0.19.0-py2.py3-none-any.whl
.
File metadata
- Download URL: tariochbctools-0.19.0-py2.py3-none-any.whl
- Upload date:
- Size: 27.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08fbde3a9c5f8b33054567b0c123a45bf128644533fda9e6ca5b7ba6d831ed68 |
|
MD5 | fc0d668146995c8cab163e6fdb8764fe |
|
BLAKE2b-256 | 86dd9ed57c2a1b014ab2943c4b7c43828fe86f719a8d7e0dad8685a4d206c8ff |