Commit Graph

300 Commits

Author SHA1 Message Date
Sagar Sharma
31cdfa395a
Merge branch 'develop' into FIX-ISS-22-23-06298 2023-04-25 13:57:34 +05:30
s-aga-r
e782a054c8 refactor: get_stock_value_on() to get stock value of multiple warehouses at once 2023-04-25 13:54:36 +05:30
ruthra kumar
ed14d1ce44
feat: Reconcile Payments in background (#34596)
* feat: auto reconcile in background

* chore: Option to enable auto reconciliation in settings

* refactor: validate if feature is enabled in settings

* refactor: check for running job while using reconciliation tool

* chore: using doc to get filter values

* chore: use frappe.db.get_value in validations

* chore: cleanup commented out code

* chore: replace get_list with get_all

* chore: use block scope variable

* chore: type information for functions

* refactor: flag to ignore job validation check

* refactor: update parent doc status if all reconciled

* chore: create test_records file

* test: create a bunch of vouchers for testing auto reconcile

* chore: renamed auto_reconcile to process_payment_reconciliation

* chore: another child doctype to hold payments

* chore: remove duplicate field

* chore: add fetched payments to log

* chore: Popup comment message update

* chore: replace get_all with get_value

* chore: replace label in settings page

* chore: remove unit test and records

* refactor: status in reconciliation log

* refactor: set status in log as well

* chore: fix field name

* chore: change triggered job name

* chore: use status field in list view of log

* chore: status while there are no allocations

* refactor: split trigger function into two

* chore: adding cancelled status

* refactor: function trigger queued docs

* chore: cron job scheduled

* chore: fixing accouts settings json file

* chore: typos and variable scope

* chore: use 'pluck' in db call

* chore: remove redundant whitelist decorator

* chore: use single DB call to fetch values

* chore: replace get_all with get_value

* refactor: use raw db calls to fetch reconciliation log records

Using get_doc on `Process Payment Reconciliation Log` is costly when
handling large volumes of invoices.

Use raw frappe.db.get_all to selectively pull status and reconciled count

* chore: update status on successful batch operation

* chore: make payment table readonly

* chore: ability to pause the background job

* chore: remove isolate_each_allocation

* chore: more description in progress bar

* refactor: partially working state

* refactor: update reconcile flag and setting hard limits for fetching

* chore: make allocation editable -- NEED TO REVERT

* chore: pause button

* refactor: skip setter function in Payment Entry for better performan

* refactor: split reconcile function and skip a setter function

1. Split reconcile function into 2
2. While reconciling against payment entry, skip a
set_missing_ref_details setter method

* chore: increase payment limit

* refactor: replace frappe.db.get_all with frappe.db.get_value

* chore: remove unwanted doctypes

* refactor: make allocation table readonly

* perf: update ref_details only for newly linked invoices

* chore: rename skip flag

* refactor(UI): receivable_payable field should auto populate

* refactor: no control statements in finally block

* chore: cleanup section and rename checkbox

* chore: update new fieldname in code

* chore: update error msg

* refactor: start and pause integrated into status

pause checkbox has been removed

* refactor: added cancelled status to the log doctype

1. Moved the status section to the bottom in parent doc
2. Using alerts to indicate Job trigger status
2023-04-22 17:24:35 +05:30
ruthra kumar
11cb2db3fe refactor: move set_missing_ref_detials out of set_missing_values 2023-04-19 11:54:08 +05:30
ruthra kumar
d52f7e2820 fix: removing redundant validation 2023-03-28 13:44:23 +05:30
Deepesh Garg
0aadb680eb chore: Add missing validations 2023-03-19 12:46:42 +05:30
Danny
ca10e2bb9f
fix: bad strings format for command get-untraslated (#34361)
* fix: bad string foramt

* fix: bad string format

* fix: pre-commit format

---------

Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
2023-03-17 16:13:32 +05:30
ruthra kumar
b9a7ff7c3d fix: IntegrityError while cancelling journals against cr note 2023-02-12 14:06:40 +05:30
ruthra kumar
11cf694d9a perf: improve reconciliation speed on JE's with 1000's of rows
1. No need to keep old PLE's on reconciliation.
2. Added Validation to catch debit-credit mismatch on JE's
3. Only update outstanding amount for newly reconciled invoices
2023-01-15 17:51:46 +05:30
Devin Slauenwhite
98c39c4f5f
fix: update payment entry references (#33274)
* fix: set_amounts after deductions and losses are set

* test: difference_amount changes after update_references_in_payment_entry

* chore: linter

* fix: use kwargs instad of destructing a dict

[skip ci]

* fix(test): test payment entry difference_amount after payment reconciliation.
2023-01-02 08:55:12 +05:30
ruthra kumar
6d9d730759 fix: cost_center filter gives incorrect output
filtering on cost center gives invoices that are reconciled as having outstanding
2022-12-14 16:05:15 +05:30
Daizy Modi
fdfe5cbf93 fix: use get_cached_value to avoid db call with db.exists 2022-11-17 19:14:10 +05:30
Daizy Modi
678a4c33da fix: resolved merge conflicts 2022-11-17 19:13:10 +05:30
ruthra kumar
9209ec59c2 refactor: split delete gl utility function into two 2022-11-06 11:39:44 +05:30
Daizy Modi
27df455b98 perf: use get_cached_value instead of db.get_value in accounts module 2022-11-03 13:38:48 +05:30
ruthra kumar
f844097f8e
Merge pull request #32635 from ruthra-kumar/fix_tax_or_charges_acc_updating_voucher_outstanding
fix: Integrity Error on PLE while submitting sales invoice
2022-10-19 09:43:24 +05:30
ruthra kumar
43b80683eb fix: party type and party mandatory on updating outstanding 2022-10-18 09:33:37 +05:30
ruthra kumar
9b50221bf0 refactor: split ple creation function into two
refactor create_payment_ledger_entry function into 2.
one for generating ple map and one for DB entry creation
2022-10-17 18:02:52 +05:30
Deepesh Garg
dc3fe85921
chore: Remove HRMS related code (#32607)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-10-17 11:37:50 +05:30
ruthra kumar
65992304bc fix: delete old ple's on item value repost 2022-10-12 15:34:50 +05:30
ruthra kumar
65194efa97
Merge pull request #32548 from ruthra-kumar/suppress_linked_doc_valdiation_on_delete
fix: allow deletion of cancelled Invoices once payments are unlinked
2022-10-10 16:41:07 +05:30
ruthra kumar
537d953f4c fix: unlink payment on invoice cancellation 2022-10-10 10:17:19 +05:30
Shridhar Patil
69efd2ee24
fix: fixes query builder order by issue in postgres (#32441)
* fix: fixes query builder order by issue in postgres

* fix: linter
2022-10-03 11:07:24 +05:30
Nabin Hait
af21a11e1e fix: abbreviation issue on renaming cost center 2022-09-15 12:09:18 +05:30
ruthra kumar
5782c4469a refactor: re-add remarks field to payment ledger and AR/AP report 2022-08-29 15:59:37 +05:30
ruthra kumar
5f1562c5b2 fix: posting_date of linked vouchers should not affect outstanding
posting_date filter should not be applied for linked vouchers.
2022-08-04 09:38:01 +05:30
Rucha Mahabal
108cce2785 refactor: rewrite raw sql queries with frappe.qb and database API 2022-07-07 19:00:19 +05:30
Rucha Mahabal
ef02e58859 Merge branch 'develop' into hr-separation 2022-07-07 13:46:54 +05:30
ruthra kumar
219855311d fix: wrong amount fetched in payment reconciliation tool
- fetch amount on account currency for outstanding invoices and
- unreconcilied dr/cr notes
- fix currency field name in payment ledger entry creation
2022-07-01 12:47:07 +05:30
Rucha Mahabal
3051f6e7f2 fix: Update triggers on Payment Reconciliation 2022-06-30 21:37:55 +05:30
ruthra kumar
7312f22f35 refactor: update voucher outstanding from payment ledger
Outstanding amount is updated from payment ledger, only for
receivable/payable accounts. For remaining account types, update happens
from GL Entry.
2022-06-17 17:57:07 +05:30
ruthra kumar
524c175cf0 refactor: delink gl entry from reconciliation 2022-06-17 17:57:07 +05:30
ruthra kumar
8c87674c62 refactor: outstanding_invoice function and helper class
outstanding invoice function has been refactored to use payment ledger
2022-06-17 17:57:07 +05:30
ruthra kumar
7b383880c6 feat: helper class for quering Payment Ledger 2022-06-17 17:57:07 +05:30
Conor
74a782d81d
refactor: DB independent quoting and truthy/falsy values (#31358)
* refactor: DB independent quoting and truthy/falsy values

* style: reformat to black spec

* fix: ifnull -> coalesce

* fix: coalesce -> Coalesce

* fix: revert pypika comparison

* refactor: convert queries to QB

* fix: incorrect value types for query

`=` query makes no sense with list of values

* fix: remove warehouse docstatus condition

* fix: keep using base rate as rate

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-06-17 17:01:27 +05:30
Ankush Menat
86919d2a6d
test: silent test failure in stock assertions (#31377)
If actual values are not present then test is silently passing, # of
actual values should be at least equal to expected values.
2022-06-15 21:19:09 +05:30
Ankush Menat
5c6f22f275
refactor: simpler batching for GLE reposting (#31374)
* refactor: simpler batching for GLE reposting

* test: add "actual" test for chunked GLE reposting
2022-06-15 19:30:26 +05:30
Ankush Menat
2535d5edd0
perf: GLE reposting with progress and chunking (#31343)
If stock voucher count goes >1000 then fetching all gles and reposting
them all at once requires much more memory and can cause crash.

- This PR ensures that GLE reposting is done in chunks of 100 vouchers.
- This PR also starts keeping track of how many such chunks were
  processed so in future progress is resumed in event of timeout.
2022-06-14 18:20:33 +05:30
Gavin D'souza
0727d1d99b refactor: get_fiscal_years API
* Optimize fiscal year options generation
* Don't pass unrequired criterions / values to prepared query
* Use QB notation for raw query
2022-06-13 12:43:08 +05:30
Ankush Menat
eb53a9727d perf: commit GL reposting periodically
If you have a huge list of docs to repost then maintaining transaction
throughtout entire GL reposting is not only unnecessary but also creates
performance issues. Periodically commiting the changes prevents lost
progress and reduces memory usage.
2022-06-09 11:37:43 +05:30
Ankush Menat
67c26325ee fix: unnecessary GLE reposts
In Sales/Purchase invoices credit/debit are flipped and negated while making GLE,
this is unflipped while posting them but if we compare the flipped ones
it will always result in comparison failure and repost it.
2022-06-09 11:37:40 +05:30
ruthra kumar
451cf3a937 refactor: helper class for ple creation and delinking
Helper functions for delinking ple and for creating payment ledger
entry for transactions on receivable/payable account types
2022-05-20 18:21:47 +05:30
Ankush Menat
700e864d90 fix: sort stock vouchers before reposting GLE 2022-04-19 17:40:26 +05:30
marination
d75d5ebe8d chore: Remove Values Out of Sync from Repost hourly job
- It runs after repost (after commiting), so it has 0 impact on repost itself
- Just that scheduled job log shows up as failed, while actually repost is done and repost document is "Completed"
- The check is inaccurate also, so best to remove this
- Users cant do anything about it anyway. This just piles up phantom failed jobs unneccessarily
2022-04-14 12:30:06 +05:30
Ankush Menat
494bd9ef78 style: format code with black 2022-03-28 18:52:46 +05:30
Ankush Menat
9c7df2eec5 fix: ignore duplicates explicitly 2022-02-23 14:27:45 +05:30
Ankush Menat
8fe5feb6a4 chore: remove all six compat code 2021-11-05 11:16:29 +05:30
Ankush Menat
6098e92ba9 chore: remove utf-8 compat code 2021-11-05 11:16:29 +05:30
Anuja Pawar
1a6e98ed48
fix(Payment Reconciliation): clear child tables on company/party change (#28008) 2021-10-29 20:52:47 +05:30
Saqib
9051735529
perf: fetching of account balance in chart of accounts (#27661) 2021-10-04 11:44:46 +05:30