* perf: make post depr entries job daily_long
* perf: optimise post_depreciation_entries and make_depreciation_entry
* chore: more optimisation and dont fail all schedule dates if one date fails
* chore: don't post entries before acc_frozen_upto
* chore: using get_single_value
* refactor: destructure asset object
perf: move project status reminder to hourly (#36372)
Only used for sending daily/weekly/bi-daily
[skip ci]
(cherry picked from commit e36c8ce5be)
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix: Remove current fiscal year from Global Defaults (#35960)
* fix: Remove current fiscal year from Global Defaults
* fix: Remove button to set default
* fix: Add utils to get fiscal year
* fix: Incorrect import
* feat: Add hook for naming series parser
(cherry picked from commit 6270607c6d)
# Conflicts:
# erpnext/accounts/doctype/fiscal_year/fiscal_year.py
# erpnext/patches.txt
# erpnext/public/js/utils.js
* chore: resolve conflicts
---------
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
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
(cherry picked from commit ed14d1ce44)
Co-authored-by: ruthra kumar <ruthra@erpnext.com>
fix!: require sender and message for contact us page (#34707)
* fix: require sender and message for contact us page
* refactor: dont override frappe.send_message from client side
used override_whitelisted_method hook for the same
(cherry picked from commit f193393f57)
Co-authored-by: Ritwik Puri <ritwikpuri5678@gmail.com>
refactor: make payments app a soft dependency (#33245)
refactor: make payment app a soft dependency
(cherry picked from commit 0b86b1baca)
Co-authored-by: Ankush Menat <ankush@frappe.io>
If your site has multiple background workers then there's possibility
that two jobs will execute in parallal, this creates problem when both
are on operating on same data.
This PR adds a separate section for hourly and daily jobs which have
frequency offset from default frequency to avoid such conflicts.
- Added hooks `advance_payment_doctypes`, `invoice_doctypes`, `period_closing_doctypes` for other apps to extend accounting functionality
- Removed `set_query` code from `journal_entry.js` and `payment_entry.js`
- removed `update_status_for_full_and_final_statement` trigger on JE submission/cancellation
- refactored `payment_entry.py`: split functions for validating reference doctypes for easy overriding, removed hrms references from `get_reference_details` and `get_payment_entry`
- removed dead code: functions `get_bill_no_and_update_amounts`, `get_total_amount_exchange_rate_base_on_currency`, `get_total_amount_exchange_rate_for_employee_advance`, `get_amounts_based_on_ref_doc`, `get_amounts_based_on_reference_doctype`
- Process BOMs level wise and Pause after level is complete
- Cron job will resume Paused jobs, which will again process the new level and pause at the end
- This will go on until all BOMs are updated
- Added Progress section with fields to track updated BOMs in Log
- Cleanup: Add BOM Updation utils file to contain helper functions/sub-functions
- Cleanup: BOM Update Log file will only contain functions that are in direct context of the Log
Co-authored-by: Gavin D'souza <gavin18d@gmail.com>