46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import frappe
 | |
| from frappe.utils import nowdate
 | |
| 
 | |
| from erpnext.accounts.utils import FiscalYearError, get_fiscal_year
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	# Only do for current fiscal year, no need to repost for all years
 | |
| 	for company in frappe.get_all("Company"):
 | |
| 		try:
 | |
| 			fiscal_year_details = get_fiscal_year(date=nowdate(), company=company.name, as_dict=True)
 | |
| 
 | |
| 			purchase_invoice = frappe.qb.DocType("Purchase Invoice")
 | |
| 
 | |
| 			frappe.qb.update(purchase_invoice).set(
 | |
| 				purchase_invoice.tax_withholding_net_total, purchase_invoice.net_total
 | |
| 			).set(
 | |
| 				purchase_invoice.base_tax_withholding_net_total, purchase_invoice.base_net_total
 | |
| 			).where(
 | |
| 				purchase_invoice.company == company.name
 | |
| 			).where(
 | |
| 				purchase_invoice.apply_tds == 1
 | |
| 			).where(
 | |
| 				purchase_invoice.posting_date >= fiscal_year_details.year_start_date
 | |
| 			).where(
 | |
| 				purchase_invoice.docstatus == 1
 | |
| 			).run()
 | |
| 
 | |
| 			purchase_order = frappe.qb.DocType("Purchase Order")
 | |
| 
 | |
| 			frappe.qb.update(purchase_order).set(
 | |
| 				purchase_order.tax_withholding_net_total, purchase_order.net_total
 | |
| 			).set(
 | |
| 				purchase_order.base_tax_withholding_net_total, purchase_order.base_net_total
 | |
| 			).where(
 | |
| 				purchase_order.company == company.name
 | |
| 			).where(
 | |
| 				purchase_order.apply_tds == 1
 | |
| 			).where(
 | |
| 				purchase_order.transaction_date >= fiscal_year_details.year_start_date
 | |
| 			).where(
 | |
| 				purchase_order.docstatus == 1
 | |
| 			).run()
 | |
| 		except FiscalYearError:
 | |
| 			pass
 |