minor fixes for deferred calculations
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 0e70338..cf45cc4 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -273,7 +273,7 @@
"transaction_date": args.get("transaction_date")
})
- if item.enable_deferred_revenue:
+ if item.get("enable_deferred_revenue") or item.get("enable_deferred_expense"):
out.update(calculate_service_end_date(args, item))
# calculate conversion factor
@@ -310,9 +310,10 @@
if not item:
item = frappe.get_cached_doc("Item", args.item_code)
- enable_deferred = "enable_deferred_revenue" if args.doctype=="Sales Invoice" else "enable_deferred_expense"
- no_of_months = "no_of_months" if args.doctype=="Sales Invoice" else "no_of_months_exp"
- account = "deferred_revenue_account" if args.doctype=="Sales Invoice" else "deferred_expense_account"
+ doctype = args.get("parenttype") or args.get("doctype")
+ enable_deferred = "enable_deferred_revenue" if doctype=="Sales Invoice" else "enable_deferred_expense"
+ no_of_months = "no_of_months" if doctype=="Sales Invoice" else "no_of_months_exp"
+ account = "deferred_revenue_account" if doctype=="Sales Invoice" else "deferred_expense_account"
service_start_date = args.service_start_date if args.service_start_date else args.transaction_date
service_end_date = add_months(service_start_date, item.get(no_of_months))
@@ -336,7 +337,7 @@
or args.expense_account)
def get_default_deferred_account(args, item, fieldname=None):
- if item.enable_deferred_revenue:
+ if item.get("enable_deferred_revenue") or item.get("enable_deferred_expense"):
return (item.get(fieldname)
or args.get(fieldname)
or frappe.get_cached_value('Company', args.company, "default_"+fieldname))