Merge branch 'develop' into se_alert_develop
This commit is contained in:
		
						commit
						43d08b4c74
					
				| @ -40,7 +40,6 @@ | ||||
|   "discount_amount", | ||||
|   "base_rate_with_margin", | ||||
|   "sec_break2", | ||||
|   "apply_tds", | ||||
|   "rate", | ||||
|   "amount", | ||||
|   "item_tax_template", | ||||
| @ -50,6 +49,7 @@ | ||||
|   "pricing_rules", | ||||
|   "stock_uom_rate", | ||||
|   "is_free_item", | ||||
|   "apply_tds", | ||||
|   "section_break_22", | ||||
|   "net_rate", | ||||
|   "net_amount", | ||||
| @ -871,16 +871,16 @@ | ||||
|    "read_only": 1 | ||||
|   }, | ||||
|   { | ||||
|     "default": "1", | ||||
|     "fieldname": "apply_tds", | ||||
|     "fieldtype": "Check", | ||||
|     "label": "Apply TDS" | ||||
|    "default": "1", | ||||
|    "fieldname": "apply_tds", | ||||
|    "fieldtype": "Check", | ||||
|    "label": "Apply TDS" | ||||
|   } | ||||
|  ], | ||||
|  "idx": 1, | ||||
|  "istable": 1, | ||||
|  "links": [], | ||||
|  "modified": "2022-10-26 16:05:37.304788", | ||||
|  "modified": "2022-11-29 13:01:20.438217", | ||||
|  "modified_by": "Administrator", | ||||
|  "module": "Accounts", | ||||
|  "name": "Purchase Invoice Item", | ||||
|  | ||||
| @ -14,9 +14,17 @@ def execute(filters=None): | ||||
| 	filters.naming_series = frappe.db.get_single_value("Buying Settings", "supp_master_name") | ||||
| 
 | ||||
| 	columns = get_columns(filters) | ||||
| 	tds_docs, tds_accounts, tax_category_map, journal_entry_party_map = get_tds_docs(filters) | ||||
| 	( | ||||
| 		tds_docs, | ||||
| 		tds_accounts, | ||||
| 		tax_category_map, | ||||
| 		journal_entry_party_map, | ||||
| 		invoice_total_map, | ||||
| 	) = get_tds_docs(filters) | ||||
| 
 | ||||
| 	res = get_result(filters, tds_docs, tds_accounts, tax_category_map, journal_entry_party_map) | ||||
| 	res = get_result( | ||||
| 		filters, tds_docs, tds_accounts, tax_category_map, journal_entry_party_map, invoice_total_map | ||||
| 	) | ||||
| 	final_result = group_by_supplier_and_category(res) | ||||
| 
 | ||||
| 	return columns, final_result | ||||
|  | ||||
| @ -8,11 +8,19 @@ from frappe import _ | ||||
| 
 | ||||
| def execute(filters=None): | ||||
| 	validate_filters(filters) | ||||
| 	tds_docs, tds_accounts, tax_category_map, journal_entry_party_map = get_tds_docs(filters) | ||||
| 	( | ||||
| 		tds_docs, | ||||
| 		tds_accounts, | ||||
| 		tax_category_map, | ||||
| 		journal_entry_party_map, | ||||
| 		invoice_net_total_map, | ||||
| 	) = get_tds_docs(filters) | ||||
| 
 | ||||
| 	columns = get_columns(filters) | ||||
| 
 | ||||
| 	res = get_result(filters, tds_docs, tds_accounts, tax_category_map, journal_entry_party_map) | ||||
| 	res = get_result( | ||||
| 		filters, tds_docs, tds_accounts, tax_category_map, journal_entry_party_map, invoice_net_total_map | ||||
| 	) | ||||
| 	return columns, res | ||||
| 
 | ||||
| 
 | ||||
| @ -22,7 +30,9 @@ def validate_filters(filters): | ||||
| 		frappe.throw(_("From Date must be before To Date")) | ||||
| 
 | ||||
| 
 | ||||
| def get_result(filters, tds_docs, tds_accounts, tax_category_map, journal_entry_party_map): | ||||
| def get_result( | ||||
| 	filters, tds_docs, tds_accounts, tax_category_map, journal_entry_party_map, invoice_net_total_map | ||||
| ): | ||||
| 	supplier_map = get_supplier_pan_map() | ||||
| 	tax_rate_map = get_tax_rate_map(filters) | ||||
| 	gle_map = get_gle_map(tds_docs) | ||||
| @ -50,7 +60,10 @@ def get_result(filters, tds_docs, tds_accounts, tax_category_map, journal_entry_ | ||||
| 			if entry.account in tds_accounts: | ||||
| 				tds_deducted += entry.credit - entry.debit | ||||
| 
 | ||||
| 			total_amount_credited += entry.credit | ||||
| 			if invoice_net_total_map.get(name): | ||||
| 				total_amount_credited = invoice_net_total_map.get(name) | ||||
| 			else: | ||||
| 				total_amount_credited += entry.credit | ||||
| 
 | ||||
| 		if tds_deducted: | ||||
| 			row = { | ||||
| @ -179,9 +192,10 @@ def get_tds_docs(filters): | ||||
| 	purchase_invoices = [] | ||||
| 	payment_entries = [] | ||||
| 	journal_entries = [] | ||||
| 	tax_category_map = {} | ||||
| 	or_filters = {} | ||||
| 	journal_entry_party_map = {} | ||||
| 	tax_category_map = frappe._dict() | ||||
| 	invoice_net_total_map = frappe._dict() | ||||
| 	or_filters = frappe._dict() | ||||
| 	journal_entry_party_map = frappe._dict() | ||||
| 	bank_accounts = frappe.get_all("Account", {"is_group": 0, "account_type": "Bank"}, pluck="name") | ||||
| 
 | ||||
| 	tds_accounts = frappe.get_all( | ||||
| @ -218,16 +232,22 @@ def get_tds_docs(filters): | ||||
| 		tds_documents.append(d.voucher_no) | ||||
| 
 | ||||
| 	if purchase_invoices: | ||||
| 		get_tax_category_map(purchase_invoices, "Purchase Invoice", tax_category_map) | ||||
| 		get_doc_info(purchase_invoices, "Purchase Invoice", tax_category_map, invoice_net_total_map) | ||||
| 
 | ||||
| 	if payment_entries: | ||||
| 		get_tax_category_map(payment_entries, "Payment Entry", tax_category_map) | ||||
| 		get_doc_info(payment_entries, "Payment Entry", tax_category_map) | ||||
| 
 | ||||
| 	if journal_entries: | ||||
| 		journal_entry_party_map = get_journal_entry_party_map(journal_entries) | ||||
| 		get_tax_category_map(journal_entries, "Journal Entry", tax_category_map) | ||||
| 		get_doc_info(journal_entries, "Journal Entry", tax_category_map) | ||||
| 
 | ||||
| 	return tds_documents, tds_accounts, tax_category_map, journal_entry_party_map | ||||
| 	return ( | ||||
| 		tds_documents, | ||||
| 		tds_accounts, | ||||
| 		tax_category_map, | ||||
| 		journal_entry_party_map, | ||||
| 		invoice_net_total_map, | ||||
| 	) | ||||
| 
 | ||||
| 
 | ||||
| def get_journal_entry_party_map(journal_entries): | ||||
| @ -244,17 +264,18 @@ def get_journal_entry_party_map(journal_entries): | ||||
| 	return journal_entry_party_map | ||||
| 
 | ||||
| 
 | ||||
| def get_tax_category_map(vouchers, doctype, tax_category_map): | ||||
| 	tax_category_map.update( | ||||
| 		frappe._dict( | ||||
| 			frappe.get_all( | ||||
| 				doctype, | ||||
| 				filters={"name": ("in", vouchers)}, | ||||
| 				fields=["name", "tax_withholding_category"], | ||||
| 				as_list=1, | ||||
| 			) | ||||
| 		) | ||||
| 	) | ||||
| def get_doc_info(vouchers, doctype, tax_category_map, invoice_net_total_map=None): | ||||
| 	if doctype == "Purchase Invoice": | ||||
| 		fields = ["name", "tax_withholding_category", "base_tax_withholding_net_total"] | ||||
| 	else: | ||||
| 		fields = ["name", "tax_withholding_category"] | ||||
| 
 | ||||
| 	entries = frappe.get_all(doctype, filters={"name": ("in", vouchers)}, fields=fields) | ||||
| 
 | ||||
| 	for entry in entries: | ||||
| 		tax_category_map.update({entry.name: entry.tax_withholding_category}) | ||||
| 		if doctype == "Purchase Invoice": | ||||
| 			invoice_net_total_map.update({entry.name: entry.base_tax_withholding_net_total}) | ||||
| 
 | ||||
| 
 | ||||
| def get_tax_rate_map(filters): | ||||
|  | ||||
| @ -44,7 +44,6 @@ | ||||
|   "discount_amount", | ||||
|   "base_rate_with_margin", | ||||
|   "sec_break2", | ||||
|   "apply_tds", | ||||
|   "rate", | ||||
|   "amount", | ||||
|   "item_tax_template", | ||||
| @ -54,6 +53,7 @@ | ||||
|   "pricing_rules", | ||||
|   "stock_uom_rate", | ||||
|   "is_free_item", | ||||
|   "apply_tds", | ||||
|   "section_break_29", | ||||
|   "net_rate", | ||||
|   "net_amount", | ||||
| @ -902,7 +902,7 @@ | ||||
|  "index_web_pages_for_search": 1, | ||||
|  "istable": 1, | ||||
|  "links": [], | ||||
|  "modified": "2022-10-26 16:47:41.364387", | ||||
|  "modified": "2022-11-29 16:47:41.364387", | ||||
|  "modified_by": "Administrator", | ||||
|  "module": "Buying", | ||||
|  "name": "Purchase Order Item", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user