[Enhancement] Tax Withholding Category (#15064)

* add single, cumulative threshold, remove checkboxes

* remove tds child table from supplier & add tds link field

* add description field in tax withholding category

* add tax withholding data for indian setup, some fixes

* add a checkbox for tax withholding in purchase invoice

* remove supplier's child table for tds

* enable tds field if supplier has tds set inits master

* move rates data to child table - adding fiscal year support

* change bootstrap data according to child table config of tds

* show category name in list view

* loyalty program fixes

* moved tax calculation to tax_withholding.py
- calculation for tds amount for cumulative threshold from gl entry

* add fiscal year dependency in company test

* minor loyalty program fix

* minor tier calculation fix

* minor handling duplicate exception

* toggle apply_tds according to supplier, code rectify

* minor fixes for loyalty program

* test case for single and cumulative threshold

* codacy fix
diff --git a/erpnext/templates/pages/order.py b/erpnext/templates/pages/order.py
index 70bd702..34985d9 100644
--- a/erpnext/templates/pages/order.py
+++ b/erpnext/templates/pages/order.py
@@ -36,8 +36,8 @@
 	# check for the loyalty program of the customer
 	customer_loyalty_program = frappe.db.get_value("Customer", context.doc.customer, "loyalty_program")	
 	if customer_loyalty_program:
-		from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details
-		loyalty_program_details = get_loyalty_program_details(context.doc.customer, customer_loyalty_program)
+		from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details_with_points
+		loyalty_program_details = get_loyalty_program_details_with_points(context.doc.customer, customer_loyalty_program)
 		context.available_loyalty_points = int(loyalty_program_details.get("loyalty_points"))
 
 def get_attachments(dt, dn):