fix: incorrect number of gl entries issue (#20352)
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index b949a0f..04f6fc6 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -783,11 +783,12 @@
for name in non_stock_items:
non_stock_items_cost += flt(items.get(name[0])) * flt(stock_entry.fg_completed_qty) / flt(bom.quantity)
- stock_entry.append('additional_costs', {
- 'expense_account': expense_account,
- 'description': _("Non stock items"),
- 'amount': non_stock_items_cost
- })
+ if non_stock_items_cost:
+ stock_entry.append('additional_costs', {
+ 'expense_account': expense_account,
+ 'description': _("Non stock items"),
+ 'amount': non_stock_items_cost
+ })
def add_operations_cost(stock_entry, work_order=None, expense_account=None):
from erpnext.stock.doctype.stock_entry.stock_entry import get_operating_cost_per_unit
@@ -804,11 +805,12 @@
additional_operating_cost_per_unit = \
flt(work_order.additional_operating_cost) / flt(work_order.qty)
- stock_entry.append('additional_costs', {
- "expense_account": expense_account,
- "description": "Additional Operating Cost",
- "amount": additional_operating_cost_per_unit * flt(stock_entry.fg_completed_qty)
- })
+ if additional_operating_cost_per_unit:
+ stock_entry.append('additional_costs', {
+ "expense_account": expense_account,
+ "description": "Additional Operating Cost",
+ "amount": additional_operating_cost_per_unit * flt(stock_entry.fg_completed_qty)
+ })
@frappe.whitelist()
def get_bom_diff(bom1, bom2):
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 02e7abd..a43ac85 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -682,6 +682,8 @@
if item_account_wise_additional_cost:
for d in self.get("items"):
for account, amount in iteritems(item_account_wise_additional_cost.get((d.item_code, d.name), {})):
+ if not amount: continue
+
gl_entries.append(self.get_gl_dict({
"account": account,
"against": d.expense_account,