fix: Enhancement in credit note (#18510)
* fix: Credit note enhancement
* Fix: Print format for Sales Invoice Return
* fix: Zero quantity validation fix for credit note
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index ca59a39..288aa08 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -60,7 +60,9 @@
def validate(self):
- self.validate_qty_is_not_zero()
+ if not self.get('is_return'):
+ self.validate_qty_is_not_zero()
+
if self.get("_action") and self._action != "update_after_submit":
self.set_missing_values(for_validate=True)
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index 8d24e7a..b774037 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -81,7 +81,12 @@
item.discount_amount = item.price_list_rate - item.rate
item.net_rate = item.rate
- item.amount = flt(item.rate * item.qty, item.precision("amount"))
+
+ if not item.qty and self.doc.is_return:
+ item.amount = flt(-1 * item.rate, item.precision("amount"))
+ else:
+ item.amount = flt(item.rate * item.qty, item.precision("amount"))
+
item.net_amount = item.amount
self._set_in_company_currency(item, ["price_list_rate", "rate", "net_rate", "amount", "net_amount"])