refactor: control monitoring through settings page
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 0dbb3f2..2ce2026 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -2106,37 +2106,41 @@
def run_ledger_health_checks():
- # run for last 1 month
- period_end = getdate()
- period_start = add_days(period_end, -100)
+ health_monitor_settings = frappe.get_doc("Ledger Health Monitor")
+ if health_monitor_settings.enable_health_monitor:
+ period_end = getdate()
+ period_start = add_days(period_end, -abs(health_monitor_settings.monitor_for_last_x_days))
- run_date = get_datetime()
+ run_date = get_datetime()
- # Debit-Credit mismatch report
- voucher_wise = frappe.get_doc("Report", "Voucher-wise Balance")
+ # Debit-Credit mismatch report
+ if health_monitor_settings.debit_credit_mismatch:
+ voucher_wise = frappe.get_doc("Report", "Voucher-wise Balance")
+ filters = {"company": "நுண்ணறி", "from_date": period_start, "to_date": period_end}
- # todo: company and dates should be configurable
- filters = {"company": "நுண்ணறி", "from_date": period_start, "to_date": period_end}
+ res = voucher_wise.execute_script_report(filters=filters)
+ for x in res[1]:
+ doc = frappe.new_doc("Ledger Health")
+ doc.voucher_type = x.voucher_type
+ doc.voucher_no = x.voucher_no
+ doc.debit_credit_mismatch = True
+ doc.checked_on = run_date
+ doc.save()
- res = voucher_wise.execute_script_report(filters=filters)
- for x in res[1]:
- doc = frappe.new_doc("Ledger Health")
- doc.voucher_type = x.voucher_type
- doc.voucher_no = x.voucher_no
- doc.debit_credit_mismatch = True
- doc.checked_on = run_date
- doc.save()
+ # General Ledger and Payment Ledger discrepancy
+ if health_monitor_settings.general_and_payment_ledger_mismatch:
+ gl_pl_comparison = frappe.get_doc("Report", "General and Payment Ledger Comparison")
+ filters = {
+ "company": "நுண்ணறி",
+ "period_start_date": period_start,
+ "period_end_date": period_end,
+ }
+ res = gl_pl_comparison.execute_script_report(filters=filters)
- # General Ledger and Payment Ledger discrepancy
- gl_pl_comparison = frappe.get_doc("Report", "General and Payment Ledger Comparison")
- # todo: company and dates should be configurable
- filters = {"company": "நுண்ணறி", "period_start_date": period_start, "period_end_date": period_end}
- res = gl_pl_comparison.execute_script_report(filters=filters)
-
- for x in res[1]:
- doc = frappe.new_doc("Ledger Health")
- doc.voucher_type = x.voucher_type
- doc.voucher_no = x.voucher_no
- doc.general_and_payment_ledger_mismatch = True
- doc.checked_on = run_date
- doc.save()
+ for x in res[1]:
+ doc = frappe.new_doc("Ledger Health")
+ doc.voucher_type = x.voucher_type
+ doc.voucher_no = x.voucher_no
+ doc.general_and_payment_ledger_mismatch = True
+ doc.checked_on = run_date
+ doc.save()