ofxstatement is a tool to convert proprietary bank statement to OFX format, suitable for importing to GnuCash. Plugin for ofxstatement parses a particular proprietary bank statement format and produces common data structure, that is then formatted into an OFX file.
ofxstatement-ru provides some Russian banks plugins for ofxstatement.
Supported banks:
- Avangard Bank (http://avangard.ru) plugin 'avangard'
- Tinkoff Bank (http://tinkoff.ru) plugin 'tinkoff'
- SberBank (http://sbrf.ru) plugins 'sberbank_csv', 'sberbank_txt'
- AlfaBank (https://www.alfabank.ru) plugin 'alfabank'
- VTB (https://www.vtb.ru) plugin 'vtb'
- Raiffeisen (https://www.raiffeisen.ru) plugin 'raiffeisen'
CSV statements for credit, debit or current account.
CSV statement for credit, debit and saving account.
CSV statement (available via "request statement by e-mail as Excel sheet" function).
Legacy TXT statement (available via "request statement by e-mail" function) for debit card.
CSV statement for current account.
CSV statement for debit card.
CSV statemenr for account. Basic support for DEBIT and CREDIT transactions.
- bank
- Bank id (default is 'Avangard')
- account
- Account id
- currency
- Currency (default is 'RUB')
- bank
- Bank id (default is 'Tinkoff')
- account
- Account id
- currency
- Currency (if not set, will be extracted from the first record)
- bank
- Bank id (default is 'SberBank')
- account
- Account id (if not set, will be extracted from the statement)
- currency
- Currency (if not set, will be extracted from the statement)
- bank
- Bank id (default is 'Alfabank')
- account
- Account id (if not set, will be extracted from the statement)
- currency
- Currency (if not set, will be extracted from the statement)
- user_date
- if 'true' then transaction date will be set to the date when transaction is created (so called user date) rather then record date. User date is extracted in description if it is present there
- file_encoding
- cp1251 by default. No need to change in regular usage (download statement, then convert), but could be handy in case of some file processing that involves encoding change
- bank
- Bank id (default is 'VTB')
- user_date
- if 'true' then transaction date will be set to the date when transaction is created (so called user date) rather then record date.
- bank
- Bank id (default is 'Raiffeisen')
- account
- Account id
- currency
- Currency
Project is targeting python 3 (3.9 for sure as current widespread version) and pytest is used for testing.
Recommended way to setup is with DevContainer in VSCode.
Manual development setup is as follows:
1. Create virtual environment and activate it .. code-block:: bash
make install poetry shell
2. Run tests using pytest .. code-block:: bash
make test
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. pip install restructuredtext-lint