{"id":20091074,"url":"https://github.com/kedder/ofxstatement","last_synced_at":"2025-04-14T04:05:32.719Z","repository":{"id":2694162,"uuid":"3687314","full_name":"kedder/ofxstatement","owner":"kedder","description":"Tool to convert proprietary bank statement to OFX format, suitable for importing to GnuCash or other personal finance applications.","archived":false,"fork":false,"pushed_at":"2025-03-08T08:49:21.000Z","size":642,"stargazers_count":316,"open_issues_count":16,"forks_count":66,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-02T10:09:47.329Z","etag":null,"topics":["banking-applications","financing","ofx","ofxstatement","personal-finance","statement"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kedder.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-03-11T14:47:50.000Z","updated_at":"2025-03-24T02:58:46.000Z","dependencies_parsed_at":"2023-07-06T05:54:54.132Z","dependency_job_id":"5d71671d-f2b1-46c5-abc0-3038fbc3983b","html_url":"https://github.com/kedder/ofxstatement","commit_stats":{"total_commits":320,"total_committers":43,"mean_commits":7.441860465116279,"dds":0.453125,"last_synced_commit":"77a7835e50850765c94c76869f11702f88a4207b"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fofxstatement","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fofxstatement/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fofxstatement/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fofxstatement/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kedder","download_url":"https://codeload.github.com/kedder/ofxstatement/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569113,"owners_count":20959760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["banking-applications","financing","ofx","ofxstatement","personal-finance","statement"],"created_at":"2024-11-13T16:28:03.399Z","updated_at":"2025-04-07T00:08:18.256Z","avatar_url":"https://github.com/kedder.png","language":"Python","readme":"OFX Statement\n-------------\n\n.. image:: https://github.com/kedder/ofxstatement/actions/workflows/test.yml/badge.svg?branch=master\n    :target: https://github.com/kedder/ofxstatement/actions/workflows/test.yml\n.. image:: https://coveralls.io/repos/kedder/ofxstatement/badge.png?branch=master\n    :target: https://coveralls.io/r/kedder/ofxstatement?branch=master\n.. image:: http://www.mypy-lang.org/static/mypy_badge.svg\n    :target: http://mypy-lang.org/\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n\nOfxstatement is a tool to convert proprietary bank statements to OFX format, suitable\nfor importing into personal accounting systems like `GnuCash`_ or `homebank`_. This\npackage provides a command line tool to run: ``ofxstatement``. Run ``ofxstatement -h``\nfor more help.  ``ofxstatement`` works under Python 3 and is not compatible with Python\n2.\n\n.. _GnuCash: https://gnucash.org/\n.. _homebank: https://www.gethomebank.org/\n\n\n\nRationale\n=========\n\nMost internet banking systems are capable of exporting account transactions to\nsome sort of computer readable format, but few support standard data formats,\nlike `OFX`_.  On the other hand, personal accounting systems such as `GnuCash`_\nsupport standard formats only, and will probably never support proprietary\nstatement formats of online banking systems.\n\nTo bridge the gap between them, this ofxstatement tool was created.\n\n.. _GnuCash: https://gnucash.org/\n.. _OFX: https://en.wikipedia.org/wiki/Open_Financial_Exchange\n\nMode of Operation\n=================\n\nThe ``ofxstatement`` tool is intended to be used in the following workflow:\n\n1. At the end of each month, use your online banking service to export\n   statements from all of your bank accounts in a format known to\n   ofxstatement.\n\n2. Run ``ofxstatement`` on each exported file to convert it to OFX.\n   Shell scripts or a Makefile may help to automate this routine.\n\n3. Import the generated OFX file into your personal accounting system.\n\nInstallation and Usage\n======================\n\nBefore using ``ofxstatement``, you have to install a plugin for your bank (or\nwrite your own!). Plugins are installed as regular python packages, with\neasy_install or pip, for example::\n\n  $ pip3 install ofxstatement-lithuanian\n\nNote that ofxstatement itself will be installed automatically this way. After\nthe installation, the ``ofxstatement`` utility will be available.\n\nUsers of *Ubuntu* and *Debian* operating systems can install ofxstatement from \nofficial package repositories::\n\n  $ apt install ofxstatement ofxstatement-plugins \n\nYou can check that ofxstatement is working by running::\n\n  $ ofxstatement list-plugins\n\nYou should get a list of your installed plugins.\n\nAfter installation, the usage is simple::\n\n  $ ofxstatement convert -t \u003cplugin\u003e bank_statement.csv statement.ofx\n\nThe resulting ``statement.ofx`` is then ready to be imported into a personal\naccounting system.\n\nKnown Plugins\n=============\n\nThere are several user-developed plugins available:\n\n================================= ============================================\nPlugin                            Description\n================================= ============================================\n`ofxstatement-mt940`_             Swift MT940 statements\n`ofxstatement-iso20022`_          Generic ISO-20022 format\n`ofxstatement-paypal-2`_          PayPal, ``*.csv`` for private accounts\n`ofxstatement-transferwise`_      Transferwise CSV (international)\n\n`ofxstatement-lithuanian`_        Plugins for several banks, operating in\n                                  Lithuania: Swedbank, Danske and common Lithuanian exchange format - LITAS-ESIS.\n\n`ofxstatement-czech`_             Plugin for Poštovní spořitelna\n                                  (``maxibps``) and banks using GPC\n                                  format (e.g., FIO banka, module\n                                  ``gpc``).\n\n`ofxstatement-airbankcz`_         Plugin for Air Bank a.s. (Czech Republic)\n`ofxstatement-raiffeisencz`_      Plugin for Raiffeisenbank a.s. (Czech Republic)\n`ofxstatement-skippaycz`_         Plugin for Skip Pay s.r.o. (Czech Republic)\n`ofxstatement-unicreditcz`_       Plugin for UniCredit Bank Czech Republic and Slovakia\n`ofxstatement-equabankcz`_        Plugin for Equa Bank a.s. (Czech Republic)\n`ofxstatement-cz-komercni`_       Komerční banka (Czech Republic)\n`ofxstatement-mbankcz`_           mBank S.A. (Czech Republic)\n`ofxstatement-partnersbankacz`_   Partners Banka, a.s. (Czech Republic)\n`ofxstatement-otp`_               Plugin for OTP Bank, operating in Hungary\n`ofxstatement-bubbas`_            Set of plugins, developed by @bubbas:\n                                  ``dkb_cc`` and ``lbbamazon``.\n\n`banking.statements.osuuspankki`_ Finnish Osuuspankki bank\n`banking.statements.nordea`_      Nordea bank (at least Finnish branch of it)\n`ofxstatement-seb`_               SEB (Sweden), it parses Export.xlsx for private accounts\n`ofxstatement-lansforsakringar`_  Länsförsäkringar (Sweden), it parses Kontoutdrag.xls for private accounts\n\n`ofxstatement-be-belfius`_        Belfius (Belgium)\n`ofxstatement-be-keytrade`_       KeytradeBank (Belgium)\n`ofxstatement-be-ing`_            ING (Belgium)\n`ofxstatement-be-kbc`_            KBC (Belgium)\n`ofxstatement-be-argenta`_        Argenta (Belgium) (by @woutbr)\n`ofxstatement-be-argenta-nick`_   Argenta (Belgium, also supports french version) (fork by @Nick-DT)\n`ofxstatement-be-crelan`_         Crelan (Belgium)\n`ofxstatement-be-triodos`_        Belgian Triodos Bank CSV statements\n`ofxstatement-be-newb`_           Belgian cooperative bank newB\n`ofxstatement-be-vdk-fr`_         VDK (Belgium, French statements)\n`ofxstatement-be-hellobank-fr`_   Hello Bank (Belgium, French statements)\n\n`ofxstatement-germany`_           Plugin for several german banks (1822direkt and Postbank at the moment)\n`ofxstatement-dab`_               DAB Bank (Germany)\n`ofxstatement-consors`_           Consorsbank (Germany)\n`ofxstatement-de-triodos`_        German Triodos Bank CSV statements (also works for GLS Bank)\n`ofxstatement-sp-freiburg`_       Sparkasse Freiburg-Nördlicher Breisgau (Germany)\n`ofxstatement-de-ing`_            Ing Diba Bank (Germany)\n`ofxstatement-mastercard-de`_     Mastercard PDF statements (Germany)\n`ofxstatement-sparkasse-de`_      Sparkasse PDF statements (Germany)\n`ofxstatement-austrian`_          Plugins for several banks, operating in Austria:\n                                  Easybank, ING-Diba, Livebank, Raiffeisenbank.\n`ofxstatement-postfinance`_       Swiss PostFinance (E-Finance Java text based bank/credit statements).\n\n`ofxstatement-fineco`_            FinecoBank (Italy)\n`ofxstatement-intesasp`_          Intesa San Paolo xlsx balance file (Italy)\n`ofxstatement-chebanca`_          CheBanca! xlsx format (Italy)\n`ofxstatement-n26`_               N26 Bank (Italy)\n`ofxstatement-it-banks`_          Widiba and Webank (Italy)\n`ofxstatement-bancoposta`_        BancoPosta - Poste Italiane (Italy)\n`ofxstatement-hype`_              Hype - Banca Sella (Italy)\n\n`ofxstatement-betterment`_        Betterment (USA)\n`ofxstatement-us-first-republic`_ First Republic Bank (USA)\n`ofxstatement-simple`_            Simple (USA, defunct) JSON financial statement format\n\n`ofxstatement-mbank-sk`_          MBank.sk (Slovakia)\n`ofxstatement-latvian`_           Latvian banks\n`ofxstatement-ee-seb`_            SEB (Estonia), parses proprietary csv file\n`ofxstatement-ee-swedbank`_       Swedbank (Estonia), parses proprietary csv file\n`ofxstatement-polish`_            Support for some Polish banks and financial institutions\n`ofxstatement-russian`_           Support for several Russian banks: Avangard, AlfaBank, Tinkoff, SberBank (both debit and csv), VTB.\n`ofxstatement-is-arionbanki`_     Arion bank (Iceland)\n`ofxstatement-revolut`_           Revolut Mastercard\n`ofxstatement-al_bank`_           Arbejdernes Landsbank (Denmark)\n`ofxstatement-cd-tmb`_            Trust Merchant Bank (DRC)\n`ofxstatement-zm-stanbic`_        Stanbic Bank (Zambia)\n`ofxstatement-dutch`_             Dutch financial institutes like ICSCards and ING\n`ofxstatement-french`_            French financial institutes like BanquePopulaire\n`ofxstatement-schwab-json`_       Charles Schwab investment history JSON export\n`ofxstatement-bbva`_              BBVA (Spain)\n`ofxstatement-qif`_               Converts Quicken Interchange Format (QIF) formatted bank transaction files\n`ofxstatement-santander`_         Converts Santander transaction files\n================================= ============================================\n\n\n.. _ofxstatement-lithuanian: https://github.com/kedder/ofxstatement-lithuanian\n.. _ofxstatement-czech: https://gitlab.com/mcepl/ofxstatement-czech\n.. _ofxstatement-airbankcz: https://github.com/milankni/ofxstatement-airbankcz\n.. _ofxstatement-raiffeisencz: https://github.com/milankni/ofxstatement-raiffeisencz\n.. _ofxstatement-skippaycz: https://github.com/archont00/ofxstatement-skippaycz\n.. _ofxstatement-unicreditcz: https://github.com/milankni/ofxstatement-unicreditcz\n.. _ofxstatement-equabankcz: https://github.com/kosciCZ/ofxstatement-equabankcz\n.. _ofxstatement-mbankcz: https://github.com/SinyaWeo/ofxstatement-mbankcz\n.. _ofxstatement-partnersbankacz: https://github.com/archont00/ofxstatement-partnersbankacz\n.. _ofxstatement-otp: https://github.com/abesto/ofxstatement-otp\n.. _ofxstatement-bubbas: https://github.com/bubbas/ofxstatement-bubbas\n.. _banking.statements.osuuspankki: https://github.com/koodaamo/banking.statements.osuuspankki\n.. _banking.statements.nordea: https://github.com/koodaamo/banking.statements.nordea\n.. _ofxstatement-germany: https://github.com/MirkoDziadzka/ofxstatement-germany\n.. _ofxstatement-austrian: https://github.com/nblock/ofxstatement-austrian\n.. _ofxstatement-postfinance: https://pypi.python.org/pypi/ofxstatement-postfinance\n.. _ofxstatement-mbank-sk: https://github.com/epitheton/ofxstatement-mbank-sk\n.. _ofxstatement-be-belfius: https://github.com/renardeau/ofxstatement-be-belfius\n.. _ofxstatement-be-keytrade: https://github.com/Scotchy49/ofxstatement-be-keytrade\n.. _ofxstatement-be-ing: https://github.com/jbbandos/ofxstatement-be-ing\n.. _ofxstatement-be-kbc: https://github.com/plenaerts/ofxstatement-be-kbc\n.. _ofxstatement-be-argenta: https://github.com/woutbr/ofxstatement-be-argenta\n.. _ofxstatement-be-argenta-nick: https://github.com/Nick-DT/ofxstatement-be-argenta\n.. _ofxstatement-be-crelan: https://gitlab.com/MagnificentMoustache/ofxstatement-be.crelan\n.. _ofxstatement-be-newb: https://github.com/SDaron/ofxstatement-be-newb\n.. _ofxstatement-betterment: https://github.com/cmayes/ofxstatement-betterment\n.. _ofxstatement-simple: https://github.com/cmayes/ofxstatement-simple\n.. _ofxstatement-latvian: https://github.com/gintsmurans/ofxstatement-latvian\n.. _ofxstatement-iso20022: https://github.com/kedder/ofxstatement-iso20022\n.. _ofxstatement-seb: https://github.com/gerasiov/ofxstatement-seb\n.. _ofxstatement-paypal-2: https://github.com/Alfystar/ofxstatement-paypal-2\n.. _ofxstatement-polish: https://github.com/yay6/ofxstatement-polish\n.. _ofxstatement-russian: https://github.com/gerasiov/ofxstatement-russian\n.. _ofxstatement-dab: https://github.com/JohannesKlug/ofxstatement-dab\n.. _ofxstatement-consors: https://github.com/JohannesKlug/ofxstatement-consors\n.. _ofxstatement-is-arionbanki: https://github.com/Dagur/ofxstatement-is-arionbanki\n.. _ofxstatement-be-triodos: https://github.com/renardeau/ofxstatement-be-triodos\n.. _ofxstatement-de-triodos: https://github.com/pianoslum/ofxstatement-de-triodos\n.. _ofxstatement-lansforsakringar: https://github.com/lbschenkel/ofxstatement-lansforsakringar\n.. _ofxstatement-revolut: https://github.com/mlaitinen/ofxstatement-revolut\n.. _ofxstatement-transferwise: https://github.com/kedder/ofxstatement-transferwise\n.. _ofxstatement-n26: https://github.com/3v1n0/ofxstatement-n26\n.. _ofxstatement-sp-freiburg: https://github.com/omarkohl/ofxstatement-sparkasse-freiburg\n.. _ofxstatement-al_bank: https://github.com/lbschenkel/ofxstatement-al_bank\n.. _ofxstatement-fineco: https://github.com/frankIT/ofxstatement-fineco\n.. _ofxstatement-intesasp: https://github.com/Jacotsu/ofxstatement-intesasp\n.. _ofxstatement-de-ing: https://github.com/fabolhak/ofxstatement-de-ing\n.. _ofxstatement-germany: https://github.com/MirkoDziadzka/ofxstatement-germany\n.. _ofxstatement-us-first-republic: https://github.com/medovina/ofxstatement-us-first-republic\n.. _ofxstatement-cz-komercni: https://github.com/medovina/ofxstatement-cz-komercni\n.. _ofxstatement-cd-tmb: https://github.com/BIZ4Africa/ofxstatement-cd-tmb\n.. _ofxstatement-zm-stanbic: https://github.com/BIZ4Africa/ofxstatement-zm-stanbic\n.. _ofxstatement-dutch: https://github.com/gpaulissen/ofxstatement-dutch\n.. _ofxstatement-french: https://github.com/gpaulissen/ofxstatement-french\n.. _ofxstatement-mt940: https://github.com/gpaulissen/ofxstatement-mt940\n.. _ofxstatement-it-banks: https://github.com/ecorini/ofxstatement-it-banks\n.. _ofxstatement-ee-seb: https://github.com/rsi2m/ofxstatement-ee-seb\n.. _ofxstatement-ee-swedbank: https://github.com/rsi2m/ofxstatement-ee-swedbank\n.. _ofxstatement-chebanca: https://github.com/3v1n0/ofxstatement-chebanca\n.. _ofxstatement-mastercard-de: https://github.com/FliegendeWurst/ofxstatement-mastercard-de\n.. _ofxstatement-sparkasse-de: https://github.com/FliegendeWurst/ofxstatement-sparkasse-de\n.. _ofxstatement-bancoposta: https://github.com/lorenzogiudici5/ofxstatement-bancoposta\n.. _ofxstatement-hype: https://github.com/lorenzogiudici5/ofxstatement-hype\n.. _ofxstatement-schwab-json: https://github.com/edwagner/ofxstatement-schwab-json\n.. _ofxstatement-bbva: https://github.com/3v1n0/ofxstatement-bbva\n.. _ofxstatement-qif: https://github.com/robvadai/ofxstatement-qif\n.. _ofxstatement-santander: https://github.com/robvadai/ofxstatement-santander\n.. _ofxstatement-be-vdk-fr: https://github.com/Jibuus/ofxstatement-be-vdk-fr\n.. _ofxstatement-be-hellobank-fr: https://github.com/Jibuus/ofxstatement-be-hellobank-fr\n\nAdvanced Configuration\n======================\n\nWhile ofxstatement can be used without any configuration, some plugins may\naccept additional configuration parameters. These parameters can be specified\nin a configuration file. The configuration file can be edited using the ``edit-config``\ncommand that opens your favorite editor (defined by environment variable\nEDITOR or else the default for your platform) with the configuration file::\n\n  $ ofxstatement edit-config\n\nThe configuration file format is in the standard .ini format. The\nconfiguration is divided into sections that correspond to the ``--type``\ncommand line parameter. Each section must provide a ``plugin`` option that\npoints to one of the registered conversion plugins. Other parameters are\nplugin specific.\n\nA sample configuration file::\n\n    [swedbank]\n    plugin = swedbank\n\n    [danske:usd]\n    plugin = litas-esis\n    charset = cp1257\n    currency = USD\n    account = LT123456789012345678\n\n\nSuch a configuration will let ofxstatement know about two statement file\nformats handled by the plugins ``swedbank`` and ``litas-esis``. The ``litas-esis``\nplugin will load statements using the ``cp1257`` charset and set a custom currency\nand account number. This way, GnuCash will automatically associate the\ngenerated .ofx file with a particular GnuCash account.\n\nTo convert the proprietary CSV file ``danske.csv`` into the OFX file ``danske.ofx``, run::\n\n    $ ofxstatement -t danske:usd danske.csv danske.ofx\n\nNote that configuration parameters are plugin specific. See the plugin\ndocumentation for more info.\n\nTo use a custom configuration file, pass the ``-c`` / ``--config`` option::\n\n    $ ofxstatement convert -t pluginname -c /path/to/myconfig.ini input.csv output.ofx\n\n\nDevelopment / Testing\n=====================\n\n``ofxstatemnt`` uses `pipenv`_ to manage the development environment and\ndependencies::\n\n  $ pip install pipenv\n  $ git clone https://github.com/\u003cyour_account\u003e/ofxstatement.git\n  $ cd ofxstatement\n  $ pipenv sync --dev\n\n.. _pipenv: https://github.com/pypa/pipenv\n\nAnd finally run the test suite::\n\n  $ pipenv shell\n  $ pytest\n\nWhen satisfied, you may create a pull request.\n\nWriting your own Plugin\n=======================\n\nIf the plugin for your bank has not been developed yet (see `Known plugins`_\nsection above) you can easily write your own, provided you have some knowledge\nabout the Python programming language. There is an `ofxstatement-sample`_\nplugin project available that provides sample boilerplate and describes the\nplugin development process in detail.\n\n.. _ofxstatement-sample: https://github.com/kedder/ofxstatement-sample\n","funding_links":[],"categories":["Bank Files \u0026 Converters","Bank File Converters"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkedder%2Fofxstatement","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkedder%2Fofxstatement","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkedder%2Fofxstatement/lists"}