fix: TDS deduction via journal entry
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 63c6547..52690e1 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -184,7 +184,9 @@
}
)
- tax_withholding_details = get_party_tax_withholding_details(inv, self.tax_withholding_category)
+ tax_withholding_details, advance_taxes, voucher_wise_amount = get_party_tax_withholding_details(
+ inv, self.tax_withholding_category
+ )
if not tax_withholding_details:
return
diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py
index 15f75d1..0b5df9e 100644
--- a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py
+++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py
@@ -344,23 +344,25 @@
def get_taxes_deducted_on_advances_allocated(inv, tax_details):
- advances = [d.reference_name for d in inv.get("advances")]
tax_info = []
- if advances:
- pe = frappe.qb.DocType("Payment Entry").as_("pe")
- at = frappe.qb.DocType("Advance Taxes and Charges").as_("at")
+ if inv.get("advances"):
+ advances = [d.reference_name for d in inv.get("advances")]
- tax_info = (
- frappe.qb.from_(at)
- .inner_join(pe)
- .on(pe.name == at.parent)
- .select(at.parent, at.name, at.tax_amount, at.allocated_amount)
- .where(pe.tax_withholding_category == tax_details.get("tax_withholding_category"))
- .where(at.parent.isin(advances))
- .where(at.account_head == tax_details.account_head)
- .run(as_dict=True)
- )
+ if advances:
+ pe = frappe.qb.DocType("Payment Entry").as_("pe")
+ at = frappe.qb.DocType("Advance Taxes and Charges").as_("at")
+
+ tax_info = (
+ frappe.qb.from_(at)
+ .inner_join(pe)
+ .on(pe.name == at.parent)
+ .select(at.parent, at.name, at.tax_amount, at.allocated_amount)
+ .where(pe.tax_withholding_category == tax_details.get("tax_withholding_category"))
+ .where(at.parent.isin(advances))
+ .where(at.account_head == tax_details.account_head)
+ .run(as_dict=True)
+ )
return tax_info