德国银行储蓄银行freiburg-north breisgau的ofxstatement插件
ofxstatement-sparkasse-freiburg的Python项目详细描述
用于sparkasse freiburg-nórdlicher breisgau的ofxstatement插件
这是一个ofxstatement插件,用于德国银行sparkasse 弗赖堡-恩德利赫-布雷斯高(简称:斯巴卡斯-弗赖堡)。
此插件与Sparkasse Freiburg-Nördlicher Breisgau没有关联,也没有Sparkasse Freiburg-Nördlicher Breisgau的认可。唯一的 使用该名称的原因是为了帮助人们寻找转换该名称的工具 银行的csv交易导出到ofx。
ofxstatement是一个转换的工具 专有的银行对账单格式为ofx,适合导入gnucash。 ofxstatement的插件解析特定的专有银行对账单格式 并生成公共数据结构,然后将其格式化为ofx文件。
ofxstatement的用户已经为他们的银行开发了几个插件。他们是 列在主ofxstatement站点上。 如果你的银行不见了,你可以自己开发插件。
用法
要使用这个插件,请安装它。例如:
pip3 install --user ofxstatement-sparkasse-freiburg
编辑配置:
ofxstatement edit-config
添加如下内容:
[sparkasse_freiburg]
plugin = germany_sparkasse_freiburg
account = 123456789
account是您的银行帐号(kontonummer)。
其他可能的设置有:
- 编码:CSV文件的编码(默认为Windows 1252 ANSI: CP1252)
然后从您的网上银行帐户下载csv文件(csv-camt格式) 并按如下方式转换:
ofxstatement convert -t sparkasse_freiburg EXAMPLE.csv EXAMPLE.ofx
生成的.ofx文件可以导入到gnucash或类似的软件中。
注意:注意一些事情(如余额计算)被遗漏了 因为Gnucash不需要它们。如果 您的用例缺少一些东西。
开发
建议使用virtualenv创建一个干净的开发环境。
git clone https://github.com/omarkohl/ofxstatement-sparkasse-freiburg cd ofxstatement-sparkasse-freiburg make venv source .venv/bin/activate
这将下载所有依赖项并将它们安装到您的虚拟机中 环境。在此之后,您应该可以执行以下操作:
ofxstatement list-plugins
预期输出:
The following plugins are available:
germany_sparkasse_freiburg Plugin for German bank Sparkasse Freiburg
测试
执行:
make test
集成测试
部分测试是集成(或端到端)测试,用于测试 从csv到ofx文件的转换。您可以在tests/data下找到这些文件。 验证每个.csv文件是否转换为相应的.ofx文件。 另外,-pretty.xml文件包含结果的漂亮版本 ofx(实际上只是xml)。
要添加新的.csv示例,只需将其包含在所述目录中并编辑
tests/test_integration.py。将OVERWRITE_EXPECTED_FILES
设置为True
,然后
执行测试。提交tests/data的内容。
因为不幸的是,ofxstatement配置是一个没有选项的全局文件 若要传入其他路径,集成测试将在每个 测试然后还原。这是使用pytest夹具完成的。跑步 集成测试和与 因此,同一个系统上的同一个用户是一个坏主意。
改进
一般来说,插件尽量简单,不转换任何 目前不需要。如果丢失了什么,请随意打开问题或 最好发送一个请求。
一些值得修改的内容:
- 银行ID当前硬编码为Sparkasse Freiburg的BIC
- 账户货币也硬编码为欧元
- statementline.id(成为ofx的fitid)是通过散列日期计算的, 收款人、备忘和金额,然后被截断。fitid应该始终是 检测事务重复的整个帐户历史记录。
- ofx的名称字段(代码中的收款人)由发送者/接收者组成+ 主题(Verwendungszweck)。这是可以配置的。
- ofx的memo字段(代码中的memo)由kontonummer的buchungstext组成 还有比克。
- 尝试是目前只设置为借记或贷记。使用“buchungstext” 这是可以改进的。