Merge pull request #18179 from rohitwaghchaure/income_booked_for_deferred_debit_and_credit_note_develop
fix: on credit note / debit note deferred reversed instead of income
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index a6f6ace..1b03896 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -484,9 +484,13 @@
"credit": flt(item.rm_supp_cost)
}, warehouse_account[self.supplier_warehouse]["account_currency"], item=item))
elif not item.is_fixed_asset or (item.is_fixed_asset and is_cwip_accounting_disabled()):
+
+ expense_account = (item.expense_account
+ if (not item.enable_deferred_expense or self.is_return) else item.deferred_expense_account)
+
gl_entries.append(
self.get_gl_dict({
- "account": item.expense_account if not item.enable_deferred_expense else item.deferred_expense_account,
+ "account": expense_account,
"against": self.supplier,
"debit": flt(item.base_net_amount, item.precision("base_net_amount")),
"debit_in_account_currency": (flt(item.base_net_amount,
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index b725c73..71bdc2a 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -783,10 +783,13 @@
asset.db_set("disposal_date", self.posting_date)
asset.set_status("Sold" if self.docstatus==1 else None)
else:
- account_currency = get_account_currency(item.income_account)
+ income_account = (item.income_account
+ if (not item.enable_deferred_revenue or self.is_return) else item.deferred_revenue_account)
+
+ account_currency = get_account_currency(income_account)
gl_entries.append(
self.get_gl_dict({
- "account": item.income_account if not item.enable_deferred_revenue else item.deferred_revenue_account,
+ "account": income_account,
"against": self.customer,
"credit": flt(item.base_net_amount, item.precision("base_net_amount")),
"credit_in_account_currency": (flt(item.base_net_amount, item.precision("base_net_amount"))