Bank Transactions - Import from OFX

Hi,

I need a way to import my bank transactions from my OFX bank statements (OFX - Open Financial Exchange - Wikipedia).

Today, ERPNext import bank transactions from CSV bank statements files.

How can I support this development?

1 Like

Request added here Bank Transactions - Import OFX Ā· Issue #18602 Ā· frappe/erpnext Ā· GitHub

@rmehta could you please tell me how can I support this feature request?

Hey drop in a mail to hello@erpnext.com

@rmehta I already did and got a few answers and then silence for more than 10 days. Could you help me with that?

ERPNext is really missing this featureā€¦

ā€œERPNext is really missing this featureā€¦ā€

What might explain why the lack of initiative?

ā€œThe OFX Protocol is the standard for two-way exchange of financial data.ā€

https://www.ofx.net/

https://ofxtools.readthedocs.io/en/latest/

1 Like

@clarkej right, letā€™s try to investigate the reasons why OFX isnā€™t being developed.

Lack of Documentation for Community
Our team tried to understand how to start to develop for ERPNext and the lack of clear instructions about how we could contribute to ERPNext + Frappe is a real problem.

Should OFX import be implemented into the Frappe project first or go directly to ERPNext project? What are the code patterns and architecture specifications we should care about?

There is no clear communication or documentation or definition coming from ERPNext+Frappe.

ERPNext Team focus
ERPNext team may be focusing on things they care about and, for small businesses, financial control usually is not a priority - even though it should beā€¦

Can you be specific what is amiss here - a forum search on ā€˜contribution guidelinesā€™ also a Google search on ā€˜site: github erpnext guidelinesā€™ turns up advice

ā€œThere is no clear communication or documentation or definition coming from ERPNext+Frappe.ā€

In light of the code, the docs and this forum, what more do you require?

1 Like

I think that this specifies what you are asking:

In that case probably erpnext -

frappe@ubuntu1804lts:~/frappe-bench$ find . -name ā€˜bank_*.pyā€™
./apps/erpnext/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
./apps/erpnext/erpnext/accounts/doctype/bank_transaction_mapping/bank_transaction_mapping.py
./apps/erpnext/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
./apps/erpnext/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_transaction_settings_item/bank_statement_transaction_settings_item.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_transaction_settings/bank_statement_transaction_settings.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_settings/bank_statement_settings.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_transaction_entry/bank_statement_transaction_entry.py
./apps/erpnext/erpnext/accounts/doctype/bank_guarantee/bank_guarantee.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_transaction_invoice_item/bank_statement_transaction_invoice_item.py
./apps/erpnext/erpnext/accounts/doctype/bank_account/bank_account_dashboard.py
./apps/erpnext/erpnext/accounts/doctype/bank_account/bank_account.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_transaction_payment_item/bank_statement_transaction_payment_item.py
./apps/erpnext/erpnext/accounts/doctype/bank_statement_settings_item/bank_statement_settings_item.py
./apps/erpnext/erpnext/accounts/doctype/bank/bank_dashboard.py
./apps/erpnext/erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.py
./apps/erpnext/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
./apps/erpnext/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py
./apps/erpnext/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
./apps/erpnext/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py
./apps/erpnext/erpnext/hr/report/bank_remittance/bank_remittance.py
./env/lib/python3.6/site-packages/stripe/api_resources/bank_account.py
./env/lib/python3.6/site-packages/gocardless_pro/resources/bank_details_lookup.py
./env/lib/python3.6/site-packages/gocardless_pro/services/bank_details_lookups_service.py

Hereā€™s the file where Bank Statements are uploaded:

As you can see, lines 23 and 27, read_csv_content and read_xlsx_file_from_attached_file functions come from ā€œfrappe.utilsā€. Soā€¦ in order to create a function ā€œread_ofx_contentā€ or something like that I must know where to place it respecting source code patterns, readability and architecture.

1 Like

Yes in that case you may want to add or modify a method here in frappe

frappe/handler.py at develop Ā· frappe/frappe Ā· GitHub

frappe/file_manager.py at develop Ā· frappe/frappe Ā· GitHub

Your case for user transparency concern can be resolved in due course no?

Frappe and the community can advise you here.

Refactoring can fix problems that ariseā€¦