2022-10-19 14:33:02 +05:30
|
|
|
import frappe
|
2022-11-04 01:03:45 +05:30
|
|
|
from frappe.utils import nowdate
|
2022-10-19 14:33:02 +05:30
|
|
|
|
2022-11-04 08:11:38 +05:30
|
|
|
from erpnext.accounts.utils import FiscalYearError, get_fiscal_year
|
2022-10-28 20:18:55 +05:30
|
|
|
|
|
|
|
|
2022-10-19 14:33:02 +05:30
|
|
|
def execute():
|
2022-10-28 20:18:55 +05:30
|
|
|
# Only do for current fiscal year, no need to repost for all years
|
|
|
|
for company in frappe.get_all("Company"):
|
2022-11-04 08:11:38 +05:30
|
|
|
try:
|
|
|
|
fiscal_year_details = get_fiscal_year(date=nowdate(), company=company.name, as_dict=True)
|
2022-10-28 20:18:55 +05:30
|
|
|
|
2022-11-04 08:11:38 +05:30
|
|
|
purchase_invoice = frappe.qb.DocType("Purchase Invoice")
|
2022-10-19 14:33:02 +05:30
|
|
|
|
2022-11-04 08:11:38 +05:30
|
|
|
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()
|
|
|
|
except FiscalYearError:
|
|
|
|
pass
|