diff --git a/erpnext/accounts/doctype/budget/budget.json b/erpnext/accounts/doctype/budget/budget.json index 404b66359d8..7f066568517 100644 --- a/erpnext/accounts/doctype/budget/budget.json +++ b/erpnext/accounts/doctype/budget/budget.json @@ -28,6 +28,10 @@ "applicable_on_booking_actual_expenses", "action_if_annual_budget_exceeded", "action_if_accumulated_monthly_budget_exceeded", + "control_action_for_cumulative_expense_section", + "applicable_on_cumulative_expense", + "action_if_annual_exceeded_on_cumulative_expense", + "action_if_accumulated_monthly_exceeded_on_cumulative_expense", "section_break_21", "accounts" ], @@ -202,12 +206,39 @@ "print_hide": 1, "read_only": 1, "set_only_once": 1 + }, + { + "fieldname": "control_action_for_cumulative_expense_section", + "fieldtype": "Section Break", + "label": "Control Action for Cumulative Expense" + }, + { + "default": "0", + "description": "(Purchase Order + Material Request + Actual Expense)", + "fieldname": "applicable_on_cumulative_expense", + "fieldtype": "Check", + "label": "Applicable on Cumulative Expense" + }, + { + "depends_on": "eval:doc.applicable_on_cumulative_expense == 1", + "fieldname": "action_if_annual_exceeded_on_cumulative_expense", + "fieldtype": "Select", + "label": "Action if Anual Budget Exceeded on Cumulative Expense", + "options": "\nStop\nWarn\nIgnore" + }, + { + "depends_on": "eval:doc.applicable_on_cumulative_expense == 1", + "fieldname": "action_if_accumulated_monthly_exceeded_on_cumulative_expense", + "fieldtype": "Select", + "label": "Action if Accumulative Monthly Budget Exceeded on Cumulative Expense", + "options": "\nStop\nWarn\nIgnore" } ], + "grid_page_length": 50, "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2024-03-27 13:06:42.675933", + "modified": "2025-05-22 13:46:28.510566", "modified_by": "Administrator", "module": "Accounts", "name": "Budget", @@ -231,8 +262,9 @@ "write": 1 } ], + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/accounts/doctype/budget/budget.py b/erpnext/accounts/doctype/budget/budget.py index 8e58f294505..2362ddf731b 100644 --- a/erpnext/accounts/doctype/budget/budget.py +++ b/erpnext/accounts/doctype/budget/budget.py @@ -36,11 +36,14 @@ class Budget(Document): action_if_accumulated_monthly_budget_exceeded: DF.Literal["", "Stop", "Warn", "Ignore"] action_if_accumulated_monthly_budget_exceeded_on_mr: DF.Literal["", "Stop", "Warn", "Ignore"] action_if_accumulated_monthly_budget_exceeded_on_po: DF.Literal["", "Stop", "Warn", "Ignore"] + action_if_accumulated_monthly_exceeded_on_cumulative_expense: DF.Literal["", "Stop", "Warn", "Ignore"] action_if_annual_budget_exceeded: DF.Literal["", "Stop", "Warn", "Ignore"] action_if_annual_budget_exceeded_on_mr: DF.Literal["", "Stop", "Warn", "Ignore"] action_if_annual_budget_exceeded_on_po: DF.Literal["", "Stop", "Warn", "Ignore"] + action_if_annual_exceeded_on_cumulative_expense: DF.Literal["", "Stop", "Warn", "Ignore"] amended_from: DF.Link | None applicable_on_booking_actual_expenses: DF.Check + applicable_on_cumulative_expense: DF.Check applicable_on_material_request: DF.Check applicable_on_purchase_order: DF.Check budget_against: DF.Literal["", "Cost Center", "Project"]