Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(Bank Reconciliation): Redesign #24273

Merged

Conversation

hasnain2808
Copy link
Contributor

@hasnain2808 hasnain2808 commented Jan 1, 2021

Redesign of Bank Reconciliation
Bank Statement Import
image
Bank Reconciliation Tool
image
Matching Vouchers
image
Creating New Voucher
image
Updating Bank Transaction
image

Docs Link: frappe/erpnext_documentation#230

@gwhitney
Copy link
Contributor

Correct me if I am wrong, but this appears to be primarily a user-interface redesign. Is there any chance of incorporating improvements to the underlying significant issue with bank reconciliation as addressed in #23721 that I filed three months ago? The basic problem is illustrated by a transfer between two different bank accounts. Such a transfer shows up in the statements from both accounts. If you reconcile the Bank Transaction from the first account against the (single) Journal Entry for the transfer, then there is no way to reconcile the Bank Transaction from the second account, since the matching Journal Entry is already "used up". The core difficulty is that a single Journal Entry can represent multiple actions against different Bank Accounts. That's why a Bank Transaction has to be reconciled against a single Journal Entry Account row, not against an entire Journal Entry. I would be happy to work on top of this branch and incorporate the sort of changes from #23721 if it would help get this very important improvement into ERPNext more quickly. Please just let me know how I can lend my effort to getting this improved. Much obliged.

@hasnain2808
Copy link
Contributor Author

Correct me if I am wrong, but this appears to be primarily a user-interface redesign. Is there any chance of incorporating improvements to the underlying significant issue with bank reconciliation as addressed in #23721 that I filed three months ago? The basic problem is illustrated by a transfer between two different bank accounts. Such a transfer shows up in the statements from both accounts. If you reconcile the Bank Transaction from the first account against the (single) Journal Entry for the transfer, then there is no way to reconcile the Bank Transaction from the second account, since the matching Journal Entry is already "used up". The core difficulty is that a single Journal Entry can represent multiple actions against different Bank Accounts. That's why a Bank Transaction has to be reconciled against a single Journal Entry Account row, not against an entire Journal Entry. I would be happy to work on top of this branch and incorporate the sort of changes from #23721 if it would help get this very important improvement into ERPNext more quickly. Please just let me know how I can lend my effort to getting this improved. Much obliged.

Hey,
This PR solves a lot of UX issues primarily. Although it does add better ways to create vouchers from Bank Transactions.

Copy link
Contributor

@nameduser0 nameduser0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider all the different use-cases for a function like create_journal_entry_bts compared to #24493.
Please allow #24492 into V12.

@nameduser0

This comment was marked as abuse.

@hasnain2808
Copy link
Contributor Author

With regards the UX changes:

  • I think you're assuming users will generally create documents (e.g. payment entry) to match against before a bank transaction comes in. This may not be the case. The user should be able to create a document straight away, and they may need to create multiple similar documents to the same Supplier/Customer/Employee/GL account. e.g. filter and select all phone bills across multiple months and create payments and journal entries for them all in one step, instead of individually

This is not assumed you can either create a document and then match or create it directly

  • It seems like you're creating brand new forms for existing documents, which takes a different UX approach to the Sales Order for example. You can create a number of different documents from a Sales Order using the action drop-down, which pops up a mapped document in the familiar format. We should be replicating existing patterns to help with user familiarity

This new tool makes the Bank reconciliation process faster with no routes. In the approach, you are suggesting it is necessary to go to each bank transaction and match it with a voucher. This is not at all an upgrade over just updating the clearance dates

  • I don't really see why this functionality can't be done from the Bank Transaction list view
  1. The tool gives you a dashboard to view the balances and feedback when you are reconciling.
  2. The state is stored
  3. It basically makes the bank reconciliation process much faster

@nameduser0

This comment was marked as abuse.

@hasnain2808
Copy link
Contributor Author

Hi @casesolved-co-uk ,
Thanks for your valuable feedback

This new tool breaks the idea of continuous bank import with the Plaid integration. It mandates that bank reconciliation be done on "statements" with an opening and closing balance. With plaid syncing bank accounts every hour, this doesn't make any sense.

I do not think it breaks that idea. You can add and match any transaction from the tool. If in your use case you do not want to use the balance mismatch functionality ignore the balances. You can put any value in the closing balance field. I think we can make the closing balance field non-mandatory so it is not necessary to add any value.

It removes the original Bank Reconciliation tool which was implemented by the person who contributed the Plaid integration, so also removes the manual Plaid "Synchronize this account" button, for those not syncing every hour.

The new tool is better in terms of usability. Manually syncing the plaid transactions is available in Plaid Settings.
image

Bank Reconciliation is a more generic tool and can be used for Bank Transactions from any source.

A new feature that makes no attempt to build on existing functionality, reinvents the existing wheel instead of building on it, and only takes into account one use-case so other existing businesses get a nasty shock when they upgrade.

The new tool does not remove any of the existing functionalities rather adds many more. We had done an extensive survey of the issues being faced by the users in the old tool and then tried solving as many as possible. Most of the changes were UI/UX. Please do tell which use cases were available in the older tool but are not available in the new tool.

@nameduser0

This comment was marked as abuse.

@hasnain2808
Copy link
Contributor Author

hasnain2808 commented Apr 21, 2021

The blog does not include everything that was done in the redesign. The blog includes only some parts. This is mentioned at the end of the blog.

We redesigned the bank reconciliation tool and the bank statement import. Plaid integration was not redesigned hence no mention of it

Moreover we did make sure that the redesign does not break the integration and it is working perfectly fine. Tested it multiple times.

You can add the plaid credentials in plaid settings. You can link new accounts and sync transactions by using the buttons.

The only thing that didn't work was that the tool didn't show the transactions without putting a non zero value in closing balance because depends-on is considering 0 as a falsy value. For this issue I have already given a workaround to put any value. The fix for it is also raised which would make sure it works with zero/ null values too.

If there are still use cases in your mind that are not available in the redesign please do tell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug: V12 Bank Reconciliation multiple attempts creates multiple page filters
5 participants