Skip to content

Commit

Permalink
fix(tds): use doctype reference when mapping keys across multiple doc…
Browse files Browse the repository at this point in the history
…types (#42258)

* fix(tds): use doctype reference when mapping keys across multiple doctypes

* fix: changes as per review

---------

Co-authored-by: ljain112 <ljain112@gmail.com>
(cherry picked from commit 5c0d52f)

# Conflicts:
#	erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py
  • Loading branch information
vorasmit authored and mergify[bot] committed Jul 10, 2024
1 parent b005d7a commit 8264e3b
Showing 1 changed file with 15 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def execute(filters=None):
else:
party_naming_by = frappe.db.get_single_value("Buying Settings", "supp_master_name")

filters.update({"naming_series": party_naming_by})
filters["naming_series"] = party_naming_by

validate_filters(filters)
(
Expand Down Expand Up @@ -63,21 +63,28 @@ def get_result(filters, tds_docs, tds_accounts, tax_category_map, journal_entry_
tax_withholding_category = tds_accounts.get(entry.account)
# or else the consolidated value from the voucher document
if not tax_withholding_category:
tax_withholding_category = tax_category_map.get(name)
tax_withholding_category = tax_category_map.get((voucher_type, name))
# or else from the party default
if not tax_withholding_category:
tax_withholding_category = party_map.get(party, {}).get("tax_withholding_category")

rate = tax_rate_map.get(tax_withholding_category)
<<<<<<< HEAD
if net_total_map.get(name):
if voucher_type == "Journal Entry":
=======
if net_total_map.get((voucher_type, name)):
if voucher_type == "Journal Entry" and tax_amount and rate:
>>>>>>> 5c0d52f783 (fix(tds): use doctype reference when mapping keys across multiple doctypes (#42258))
# back calcalute total amount from rate and tax_amount
if rate:
total_amount = grand_total = base_total = tax_amount / (rate / 100)
elif voucher_type == "Purchase Invoice":
total_amount, grand_total, base_total, bill_no, bill_date = net_total_map.get(name)
total_amount, grand_total, base_total, bill_no, bill_date = net_total_map.get(
(voucher_type, name)
)
else:
total_amount, grand_total, base_total = net_total_map.get(name)
total_amount, grand_total, base_total = net_total_map.get((voucher_type, name))
else:
total_amount += entry.credit

Expand All @@ -97,7 +104,7 @@ def get_result(filters, tds_docs, tds_accounts, tax_category_map, journal_entry_
}

if filters.naming_series == "Naming Series":
row.update({"party_name": party_map.get(party, {}).get(party_name)})
row["party_name"] = party_map.get(party, {}).get(party_name)

row.update(
{
Expand Down Expand Up @@ -279,7 +286,6 @@ def get_tds_docs(filters):
journal_entries = []
tax_category_map = frappe._dict()
net_total_map = frappe._dict()
frappe._dict()
journal_entry_party_map = frappe._dict()
bank_accounts = frappe.get_all("Account", {"is_group": 0, "account_type": "Bank"}, pluck="name")

Expand Down Expand Up @@ -412,7 +418,7 @@ def get_doc_info(vouchers, doctype, tax_category_map, net_total_map=None):
)

for entry in entries:
tax_category_map.update({entry.name: entry.tax_withholding_category})
tax_category_map[(doctype, entry.name)] = entry.tax_withholding_category
if doctype == "Purchase Invoice":
value = [
entry.base_tax_withholding_net_total,
Expand All @@ -427,7 +433,8 @@ def get_doc_info(vouchers, doctype, tax_category_map, net_total_map=None):
value = [entry.paid_amount, entry.paid_amount_after_tax, entry.base_paid_amount]
else:
value = [entry.total_amount] * 3
net_total_map.update({entry.name: value})

net_total_map[(doctype, entry.name)] = value


def get_tax_rate_map(filters):
Expand Down

0 comments on commit 8264e3b

Please sign in to comment.