fix: Make additional GL Entries for discount applied on taxes
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 0a11582..8fc4023 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -852,6 +852,42 @@
"project": item.project or self.project
}, account_currency, item=item)
)
+
+ if self.get('discount_amount') and self.get('additional_discount_account'):
+ self.make_gle_for_additional_discount_applied_on_taxes(gl_entries)
+
+ def make_gle_for_additional_discount_applied_on_taxes(self, gl_entries):
+ for tax in self.get("taxes"):
+ if flt(tax.base_tax_amount_after_discount_amount) and flt(tax.base_tax_amount):
+ account_currency = get_account_currency(tax.account_head)
+ additional_discount_applied_on_taxes = flt(tax.base_tax_amount) - flt(tax.base_tax_amount_after_discount_amount)
+
+ gl_entries.append(
+ self.get_gl_dict({
+ "account": tax.account_head,
+ "against": self.customer,
+ "credit": flt(additional_discount_applied_on_taxes,
+ tax.precision("tax_amount_after_discount_amount")),
+ "credit_in_account_currency": (flt(additional_discount_applied_on_taxes,
+ tax.precision("base_tax_amount_after_discount_amount")) if account_currency==self.company_currency else
+ flt(additional_discount_applied_on_taxes, tax.precision("tax_amount_after_discount_amount"))),
+ "cost_center": tax.cost_center
+ }, account_currency, item=tax)
+ )
+
+ gl_entries.append(
+ self.get_gl_dict({
+ "account": self.additional_discount_account,
+ "against": self.customer,
+ "debit": flt(additional_discount_applied_on_taxes,
+ tax.precision("tax_amount_after_discount_amount")),
+ "debit_in_account_currency": (flt(additional_discount_applied_on_taxes,
+ tax.precision("base_tax_amount_after_discount_amount")) if account_currency==self.company_currency else
+ flt(additional_discount_applied_on_taxes, tax.precision("tax_amount_after_discount_amount"))),
+ "cost_center": tax.cost_center
+ }, account_currency, item=tax)
+ )
+
def allocate_advance_taxes(self, gl_entries):
tax_map = self.get_tax_map()