fix: POS Closing Entry load all invoices with one request on save (#35819)
fix: load all invoices with one request
(cherry picked from commit 1e20016059)
Co-authored-by: HarryPaulo <paulo_fabris@hotmail.com>
* feat: Party auto-matcher from Bank Transaction data
- Created Bank Party Mapper
- Created class to auto match by account/iban or party name/description(fuzzy)
- Automatch and set in transaction or create mapper
- `rapidfuzz` introduced
* chore: Single query with or filter to search Party Mapper by name/desc
* feat: Store Party bank details in party records (Customer/Supplier/Employee/Shareholder)
* fix: Don't set description as key in Mapper doc if matched by description
- Description is volatile and will keep changing
- It will lead to multiple Bank Party Mapper docs for the same party that will never be referenced again
- Parts of the descripton keep changing which is why it will never match a mapper record
- If matched by desc, dont create mapper record.
* feat: Manually Update/Correct Party in Bank Transaction
- On updating bank trans.n party after submit, the corresponding mapper doc will be updated too
- The mapper doc in turn will update all linked bank transactions that do not have this updated value
- Added Bank Party Mapper hidden link in Bank Transaction
- Rename field in BPM to `Party Name` as it does not hold description data
- If a BT matches with a BPM record, link that record in the BT
* chore: Perform automatch on submit
- misc: Clearer naming
* chore: Make auto matching party configurable
- Checkbox in Accounts settings "Enable Automatic Party Matching"
- Check before invoking automatching methods
- misc: Remove TODO comments
* fix: Match by both Account No and IBAN & other cleanups
- A BT could have both account and iban, and a Supplier could have only IBAN set
- In this case, matching by either (only account) gives no match
- Match by Account OR IBAN, use `or_filters`
- If matched, set both account no. and IBAN in Bank Party Mapper
- Explain AutoMatchParty
- Add type hints to return values
- Use `set_value` to set values in BT after matching since its an after submit event
* test: Match by Account No, IBAN, Party Name, Desc and match correction
* fix: Remove bank details fields from Shareholder
* fix: Use existing bank fields to match by bank account no/IBAN
- Remove newly added fields in Party doctypes to store bank details
- Use Bank Account's fields to match against account no/iban
- For employee, if Bank Account does not exist, find in Employee doctype against account no/iban
* fix: Tests
* feat: Optional Fuzzy Matching & Skip Matches for multiple similar matches
- Fuzzy matching can be enabled optionally in the settings
- If a query gets multiple matches with the same score, do not set a party as it is an extremely close call
- misc: Add 'cancelled' status to Bank transaction
- Test for skipping matching with extremely close matches
* chore: Remove Bank Party Mapper implementation
- Matching by Acc No/IBAN can easily happen with Bank Accounts. It's not a tedious query
- Historical lookups for Party Name/Desc match are very tricky. The user could have manually set a match and we would not know. Also this leaves the Bank Party Mapper only useful for Party Name/Desc lookups, which feels excessive.
- We want to reduce the number of places the same data is stored and reduce confusion
- The Party Name/Desc will optionally happen fuzzily, or not at all
- There will be no Mapper lookups
* chore: Remove instances of `bank_party_mapper` and use `new_doc`
fix: Payment Term must be mandatory if `Allocate Payment based on ..` is checked (#35798)
- Front and Back end validation of condition
- Fix test to accomodate fix
(cherry picked from commit 2868baebab)
Co-authored-by: Marica <maricadsouza221197@gmail.com>
* fix: misc asset capitalisation fixes
* chore: add location in tests and remove unnecessary code
* chore: more fixes and removals
* chore: show company and fix tests
* chore: make target qty read only on capitalization
Fixes issue of asset value_after_depreciation field getting updated twice if workflow is enabled in Journal Entry (#35821)
* Fixes issue of asset value_after_depreciation field getting updated twice if workflow is enabled in Journal Entry
* chore: remove unnecessary line break
* chore: formatting
---------
Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
(cherry picked from commit 000ebe4479)
Co-authored-by: saeedkola <mohammedsaeedk@gmail.com>
* fix: date and finance book fixes in fixed asset register (#35751)
* fix: handle finance books properly and show all assets by default in fixed asset register
* chore: rename value to depr amount
* chore: get asset value for correct fb properly
* chore: rename include_default_book_entries to include_default_book_assets
(cherry picked from commit 0d12588583)
# Conflicts:
# erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
* chore: resolving conflicts and renaming entries to assets
---------
Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
fix: Allocated amount validation for other party types (#35741)
* fix: Allocated amount validation for other party types
* chore: Validation for return allocations
* chore: minor typo
---------
Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
(cherry picked from commit 9d27a25e5f)
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
(cherry picked from commit 5541d68477)
fix: Allocated amount validation for other party types (#35741)
* fix: Allocated amount validation for other party types
* chore: Validation for return allocations
* chore: minor typo
---------
Co-authored-by: anandbaburajan <anandbaburajan@gmail.com>
(cherry picked from commit 9d27a25e5f)
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>