From acf8b464f30154ff804b9004e124de6bf362d9b7 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Thu, 29 Dec 2022 10:41:36 +0530 Subject: [PATCH] fix: Conversion factor error for invoices without item code (petty expenses) (#32714) * fix: Set default uom conversion factor to 1 for invoices * chore: set default conversion_factor as 1 * chore: remove print statements (cherry picked from commit 617518389ac0c6459197e27f94efbcb14d409dbf) # Conflicts: # erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json --- .../doctype/sales_invoice_item/sales_invoice_item.json | 4 ++++ erpnext/controllers/accounts_controller.py | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json index 9b62c6a8f37..1ef416cb115 100644 --- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json +++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json @@ -843,7 +843,11 @@ "idx": 1, "istable": 1, "links": [], +<<<<<<< HEAD "modified": "2022-10-10 20:57:38.340026", +======= + "modified": "2022-12-28 16:17:33.484531", +>>>>>>> 617518389a (fix: Conversion factor error for invoices without item code (petty expenses) (#32714)) "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice Item", diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index b2dea226f4e..74f6b6542e5 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -573,7 +573,12 @@ class AccountsController(TransactionBase): if bool(uom) != bool(stock_uom): # xor item.stock_uom = item.uom = uom or stock_uom - item.conversion_factor = get_uom_conv_factor(item.get("uom"), item.get("stock_uom")) + # UOM cannot be zero so substitute as 1 + item.conversion_factor = ( + get_uom_conv_factor(item.get("uom"), item.get("stock_uom")) + or item.get("conversion_factor") + or 1 + ) if self.doctype == "Purchase Invoice": self.set_expense_account(for_validate)