beancount-n26
beancount-n26 copied to clipboard
Beancount Importers for N26 CSV Exports
Beancount N26 Importer
beancount-n26
provides a Beancount Importer for converting CSV exports of
N26 account summaries to the Beancount format.
Installation
$ pip install beancount-n26
In case you prefer installing from the Github repository, please note that
main
is the development branch so stable
is what you should be installing
from.
Usage
from beancount_n26 import N26Importer
CONFIG = [
N26Importer(
IBAN_NUMBER,
'Assets:N26',
language='en',
file_encoding='utf-8',
),
]
Classification
To classify specific recurring transactions automatically, you can specify an
account_patterns
as follows:
from beancount_n26 import N26Importer
CONFIG = [
N26Importer(
IBAN_NUMBER,
'Assets:N26',
language='en',
file_encoding='utf-8',
account_patterns={
"Expenses:Food:Restaurants": [
"amorino",
"five guys.*",
]
}
),
]
The keys should be accounts
while the items in the list are regular
expressions that should match a payee
.
Some helper functions in beancount_n26/utils/patterns_generation.py
are here
to help you generate this dictionnary.
Multiple-currency transactions
To mark transaction fees associated with multiple-currency transactions, you can
specify the exchange_fees_account
parameter as follows:
from beancount_n26 import N26Importer
CONFIG = [
N26Importer(
IBAN_NUMBER,
'Assets:N26',
language='en',
file_encoding='utf-8',
exchange_fees_account='Expenses:TransferWise',
),
]
With this in place, for transactions where both the amount in EUR and amount in
foreign currency are given, the importer will calculate the transaction fee
based on the exchange rate included in the CSV export and automatically allocate
the value to the account specified in exchange_fees_account
.
Contributing
Please make sure you have Python 3.7+ and Poetry installed.
-
Git clone the repository -
git clone https://github.com/siddhantgoel/beancount-n26
-
Install the packages required for development -
poetry install
-
That's basically it. You should now be able to run the test suite -
poetry run py.test
.