-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
perf: improve responsiveness of payment reconciliation tool #36650
Merged
ruthra-kumar
merged 5 commits into
frappe:develop
from
ruthra-kumar:refactor_payment_reconcliation_ui
Aug 23, 2023
Merged
perf: improve responsiveness of payment reconciliation tool #36650
ruthra-kumar
merged 5 commits into
frappe:develop
from
ruthra-kumar:refactor_payment_reconcliation_ui
Aug 23, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #36650 +/- ##
===========================================
+ Coverage 64.82% 64.94% +0.12%
===========================================
Files 792 792
Lines 61798 61854 +56
===========================================
+ Hits 40063 40174 +111
+ Misses 21735 21680 -55
|
e86c288
to
d01f0f2
Compare
ruthra-kumar
added a commit
that referenced
this pull request
Aug 23, 2023
…-36650 perf: improve responsiveness of payment reconciliation tool (backport #36650)
This was referenced Oct 31, 2023
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
accounts
backport version-14-hotfix
backport to version 14
needs-tests
This PR needs automated unit-tests.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
There are cases where customers have outstanding invoices in 10s of thousands and the reconciliation tool timesout on normal operations like fetching and allocating. This happens because, the
Invoice Limit
andPayment Limit
are applied after pulling in all outstanding invoices and payments. This is inefficient.Goal
To fix this permanently, a default limit of 50(which is still editable by customer) is applied and a search field is supplied for outstanding invoices and payments.
Search uses Indexed columns -
voucher_no
andagainst_voucher_no
in Payment Ledger. This along with limit variable, makes the DB query fast. Fetch(Get Unreconciled Entries
) becomes a constant time operation(O(n)
->O(50)
) for default settings.Changes
Limits are set to 50 as a default and are passed directly to the DB query. 2 new fields -
Filter on Invoice
andFilter on Payment
, are added which pass its value to DB query. This way Vouchers are filtered at the query level.before
after
after.mp4