diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index d2ca49bd1ee5fa458bdb85d6e8dc912addd1ff42..3d60e0a7719290efcea75dfecd6307c6f7f24b8c 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -850,17 +850,18 @@ class AccountsController(TransactionBase): for row in item_tax_rate: account_head = row.get("account") - self.append( - "taxes", - { - "charge_type": row.get("charge_type") or "On Net Total", - "account_head": account_head, - # Rate is zero by convention when applied from item tax template - "rate": 0, - "description": row.get("description") or account_head, - "included_in_print_rate": row.get("included_in_print_rate", 0), - }, - ) + if not self.get_tax_row(account_head): + self.append( + "taxes", + { + "charge_type": row.get("charge_type") or "On Net Total", + "account_head": account_head, + # Rate is zero by convention when applied from item tax template + "rate": 0, + "description": row.get("description") or account_head, + "included_in_print_rate": row.get("included_in_print_rate", 0), + }, + ) def get_tax_row(self, account_head): for row in self.taxes: