aii: patches and default values fetching
diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py
index 3cd131f..410994f 100644
--- a/accounts/doctype/account/account.py
+++ b/accounts/doctype/account/account.py
@@ -48,15 +48,17 @@
from tabAccount where name =%s""", self.doc.parent_account)
if not par:
msgprint("Parent account does not exists", raise_exception=1)
- elif par and par[0][0] == self.doc.name:
+ elif par[0][0] == self.doc.name:
msgprint("You can not assign itself as parent account", raise_exception=1)
- elif par and par[0][1] != 'Group':
+ elif par[0][1] != 'Group':
msgprint("Parent account can not be a ledger", raise_exception=1)
- elif par and self.doc.debit_or_credit and par[0][3] != self.doc.debit_or_credit:
+ elif self.doc.debit_or_credit and par[0][3] != self.doc.debit_or_credit:
msgprint("You can not move a %s account under %s account" %
(self.doc.debit_or_credit, par[0][3]), raise_exception=1)
- elif par and not self.doc.is_pl_account:
+
+ if not self.doc.is_pl_account:
self.doc.is_pl_account = par[0][2]
+ if not self.doc.debit_or_credit:
self.doc.debit_or_credit = par[0][3]
def validate_max_root_accounts(self):
diff --git a/accounts/doctype/pos_setting/pos_setting.txt b/accounts/doctype/pos_setting/pos_setting.txt
index a91c443..a625ad8 100755
--- a/accounts/doctype/pos_setting/pos_setting.txt
+++ b/accounts/doctype/pos_setting/pos_setting.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-01-10 16:34:07",
+ "creation": "2013-01-24 11:03:29",
"docstatus": 0,
- "modified": "2013-01-22 16:55:20",
+ "modified": "2013-03-25 15:27:52",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -142,6 +142,14 @@
},
{
"doctype": "DocField",
+ "fieldname": "expense_account",
+ "fieldtype": "Link",
+ "label": "Expense Account",
+ "options": "Account",
+ "reqd": 1
+ },
+ {
+ "doctype": "DocField",
"fieldname": "warehouse",
"fieldtype": "Link",
"label": "Warehouse",
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 4b0f3b1..15b136b 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -27,8 +27,6 @@
from webnotes.model.code import get_obj
from webnotes import _, msgprint
-session = webnotes.session
-
month_map = {'Monthly': 1, 'Quarterly': 3, 'Half-yearly': 6, 'Yearly': 12}
@@ -156,46 +154,57 @@
def set_pos_fields(self):
"""Set retail related fields from pos settings"""
- pos = webnotes.conn.sql("select * from `tabPOS Setting` where ifnull(user,'') = '%s' and company = '%s'" % (session['user'], self.doc.company), as_dict=1)
- if not pos:
- pos = webnotes.conn.sql("select * from `tabPOS Setting` where ifnull(user,'') = '' and company = '%s'" % (self.doc.company), as_dict=1)
+ pos = self.pos_details
+
if pos:
- val = webnotes.conn.sql("select name from `tabAccount` where name = %s and docstatus != 2", (cstr(self.doc.customer) + " - " + self.get_company_abbr()))
+ val = webnotes.conn.sql("""select name from `tabAccount`
+ where name = %s and docstatus != 2""",
+ (cstr(self.doc.customer) + " - " + self.get_company_abbr()))
+
val = val and val[0][0] or ''
- if not val: val = pos and pos[0]['customer_account'] or ''
+ if not val: val = pos[0]['customer_account'] or ''
+
if not self.doc.debit_to:
webnotes.conn.set(self.doc,'debit_to',val)
- lst = ['territory','naming_series','currency','charge','letter_head','tc_name','price_list_name','company','select_print_heading','cash_bank_account']
+ lst = ['territory', 'naming_series', 'currency', 'charge', 'letter_head', 'tc_name',
+ 'price_list_name', 'company', 'select_print_heading', 'cash_bank_account']
for i in lst:
- val = pos and pos[0][i] or ''
- self.doc.fields[i] = val
+ self.doc.fields[i] = pos[0][i] or ''
+
self.set_pos_item_values()
- val = pos and flt(pos[0]['conversion_rate']) or 0
- self.doc.conversion_rate = val
+ self.doc.conversion_rate = flt(pos[0]['conversion_rate']) or 0
#fetch terms
- if self.doc.tc_name: self.get_tc_details()
+ if self.doc.tc_name:
+ self.get_tc_details()
#fetch charges
- if self.doc.charge: self.get_other_charges()
+ if self.doc.charge:
+ self.get_other_charges()
def set_pos_item_values(self):
"""Set default values related to pos for previously created sales invoice."""
- if cint(self.doc.is_pos) ==1:
- dtl = webnotes.conn.sql("select income_account, warehouse, cost_center from `tabPOS Setting` where ifnull(user,'') = '%s' and company = '%s'" % (session['user'], self.doc.company), as_dict=1)
- if not dtl:
- dtl = webnotes.conn.sql("select income_account, warehouse, cost_center from `tabPOS Setting` where ifnull(user,'') = '' and company = '%s'" % (self.doc.company), as_dict=1)
+ if cint(self.doc.is_pos) == 1:
+ dtl = self.pos_details
+
for d in getlist(self.doclist,'entries'):
# overwrite if mentioned in item
- item = webnotes.conn.sql("select default_income_account, default_sales_cost_center, default_warehouse from tabItem where name = '%s'" %(d.item_code), as_dict=1)
- d.income_account = item and item[0]['default_income_account'] or dtl and dtl[0]['income_account'] or d.income_account
- d.cost_center = item and item[0]['default_sales_cost_center'] or dtl and dtl[0]['cost_center'] or d.cost_center
- d.warehouse = item and item[0]['default_warehouse'] or dtl and dtl[0]['warehouse'] or d.warehouse
-
+ item = webnotes.conn.sql("""select default_income_account,
+ default_sales_cost_center, default_warehouse, purchase_account
+ from tabItem where name = %s""", (d.item_code,), as_dict=1)
+
+ d.income_account = (item and item[0]['default_income_account']) \
+ or (dtl and dtl[0]['income_account']) or d.income_account
+ d.cost_center = (item and item[0]['default_sales_cost_center']) \
+ or (dtl and dtl[0]['cost_center']) or d.cost_center
+ d.warehouse = (item and item[0]['default_warehouse']) \
+ or (dtl and dtl[0]['warehouse']) or d.warehouse
+ d.expense_account = (item and item[0].purchase_account) \
+ or (dtl and dtl[0].expense_account) or d.expense_account
def get_customer_account(self):
"""Get Account Head to which amount needs to be Debited based on Customer"""
@@ -276,15 +285,13 @@
for d in getlist(self.doclist, doctype):
if d.item_code:
item = webnotes.conn.get_value("Item", d.item_code, ["default_income_account",
- "default_sales_cost_center", "purchase_account", "cost_center"], as_dict=True)
+ "default_sales_cost_center", "purchase_account"], as_dict=True)
d.income_account = item['default_income_account'] or ""
d.cost_center = item['default_sales_cost_center'] or ""
if cint(webnotes.defaults.get_global_default("auto_inventory_accounting")) \
and cint(self.doc.is_pos) and cint(self.doc.update_stock):
d.expense_account = item['purchase_account'] or ""
- d.purchase_cost_center = item['cost_center'] or ""
-
def get_item_details(self, args=None):
import json
@@ -301,7 +308,6 @@
'cost_center': doc.fields.get('cost_center'),
'warehouse': doc.fields.get('warehouse'),
'expense_account': doc.fields.get('expense_account'),
- 'purchase_cost_center': doc.fields.get('purchase_cost_center')
}
ret = self.get_pos_details(arg)
@@ -309,14 +315,27 @@
if not doc.fields.get(r):
doc.fields[r] = ret[r]
+ @property
+ def pos_details(self):
+ if not hasattr(self, "_pos_details"):
+ dtl = webnotes.conn.sql("""select income_account, warehouse, cost_center,
+ expense_account from `tabPOS Setting` where user = %s and company = %s""",
+ (webnotes.session['user'], self.doc.company), as_dict=1)
+ if not dtl:
+ dtl = webnotes.conn.sql("""select income_account, warehouse, cost_center,
+ expense_account from `tabPOS Setting` where ifnull(user,'') = ''
+ and company = %s""", self.doc.company, as_dict=1)
+ self._pos_details = dtl
+
+ return self._pos_details
def get_pos_details(self, args, ret = {}):
if args['item_code'] and cint(self.doc.is_pos) == 1:
- dtl = webnotes.conn.sql("select income_account, warehouse, cost_center from `tabPOS Setting` where user = '%s' and company = '%s'" % (session['user'], self.doc.company), as_dict=1)
- if not dtl:
- dtl = webnotes.conn.sql("select income_account, warehouse, cost_center from `tabPOS Setting` where ifnull(user,'') = '' and company = '%s'" % (self.doc.company), as_dict=1)
+ dtl = self.pos_details
- item = webnotes.conn.sql("select default_income_account, default_sales_cost_center, default_warehouse from tabItem where name = '%s'" %(args['item_code']), as_dict=1)
+ item = webnotes.conn.sql("""select default_income_account, default_sales_cost_center,
+ default_warehouse, purchase_account from tabItem where name = %s""",
+ args['item_code'], as_dict=1)
ret['income_account'] = item and item[0].get('default_income_account') \
or (dtl and dtl[0].get('income_account') or args.get('income_account'))
@@ -326,9 +345,14 @@
ret['warehouse'] = item and item[0].get('default_warehouse') \
or (dtl and dtl[0].get('warehouse') or args.get('warehouse'))
+
+ ret['expense_account'] = item and item[0].get('purchase_account') \
+ or (dtl and dtl[0].get('expense_account') or args.get('expense_account'))
if ret['warehouse']:
- actual_qty = webnotes.conn.sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (args['item_code'], ret['warehouse']))
+ actual_qty = webnotes.conn.sql("""select actual_qty from `tabBin`
+ where item_code = %s and warehouse = %s""",
+ (args['item_code'], ret['warehouse']))
ret['actual_qty']= actual_qty and flt(actual_qty[0][0]) or 0
return ret
@@ -545,7 +569,7 @@
def get_warehouse(self):
- w = webnotes.conn.sql("select warehouse from `tabPOS Setting` where ifnull(user,'') = '%s' and company = '%s'" % (session['user'], self.doc.company))
+ w = webnotes.conn.sql("select warehouse from `tabPOS Setting` where ifnull(user,'') = '%s' and company = '%s'" % (webnotes.session['user'], self.doc.company))
w = w and w[0][0] or ''
if not w:
ps = webnotes.conn.sql("select name, warehouse from `tabPOS Setting` where ifnull(user,'') = '' and company = '%s'" % self.doc.company)
diff --git a/accounts/doctype/sales_invoice_item/sales_invoice_item.txt b/accounts/doctype/sales_invoice_item/sales_invoice_item.txt
index 221359c..ca5fae4 100644
--- a/accounts/doctype/sales_invoice_item/sales_invoice_item.txt
+++ b/accounts/doctype/sales_invoice_item/sales_invoice_item.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-03-07 11:42:55",
+ "creation": "2013-03-25 15:35:04",
"docstatus": 0,
- "modified": "2013-03-22 18:40:48",
+ "modified": "2013-03-25 15:35:23",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -215,6 +215,7 @@
"label": "Expense Account",
"options": "Account",
"print_hide": 1,
+ "read_only": 0,
"width": "120px"
},
{
@@ -234,17 +235,6 @@
},
{
"doctype": "DocField",
- "fieldname": "purchase_cost_center",
- "fieldtype": "Link",
- "hidden": 1,
- "in_filter": 1,
- "label": "Purchase Cost Center",
- "options": "Cost Center",
- "print_hide": 1,
- "width": "120px"
- },
- {
- "doctype": "DocField",
"fieldname": "serial_no",
"fieldtype": "Small Text",
"in_filter": 1,
diff --git a/controllers/selling_controller.py b/controllers/selling_controller.py
index ab002be..f3fb47f 100644
--- a/controllers/selling_controller.py
+++ b/controllers/selling_controller.py
@@ -65,4 +65,4 @@
def check_expense_account(self, item):
if item.buying_amount and not item.expense_account:
msgprint(_("""Expense account is mandatory for item: """) + item.item_code,
- raise_exception=1)
\ No newline at end of file
+ raise_exception=1)
\ No newline at end of file
diff --git a/patches/march_2013/p08_create_aii_accounts.py b/patches/march_2013/p08_create_aii_accounts.py
new file mode 100644
index 0000000..c39c206
--- /dev/null
+++ b/patches/march_2013/p08_create_aii_accounts.py
@@ -0,0 +1,26 @@
+import webnotes
+def execute():
+ accounts_to_add = [
+ ["Stock Assets", "Current Assets", "Group", ""],
+ ["Stock In Hand", "Stock Assets", "Ledger", ""],
+ ["Stock Debit But Not Billed", "Stock Assets", "Ledger", ""],
+ ["Stock Expenses", "Direct Expenses", "Group", "Expense Account"],
+ ["Cost of Goods Sold", "Stock Expenses", "Ledger", "Expense Account"],
+ ["Stock Adjustment", "Stock Expenses", "Ledger", "Expense Account"],
+ ["Expenses Included In Valuation", "Stock Expenses", "Ledger", "Expense Account"],
+ ["Stock Liabilities", "Current Liabilities", "Group", ""],
+ ["Stock Received But Not Billed", "Stock Liabilities", "Ledger", ""],
+ ]
+
+ for company, abbr in webnotes.conn.sql_list("""select name, abbr from `tabCompany`"""):
+ for account_name, parent_account_name, group_or_ledger, account_type in accounts_to_add:
+ if not webnotes.conn.exists("Account", "%s - %s" % (account_name, abbr)):
+ account = webnotes.bean({
+ "doctype": "Account",
+ "account_name": account_name,
+ "parent_account": "%s - %s" % (parent_account_name, abbr),
+ "group_or_ledger": group_or_ledger,
+ "account_type": account_type,
+ "company": company
+ })
+ account.insert()
\ No newline at end of file
diff --git a/selling/doctype/sales_common/sales_common.py b/selling/doctype/sales_common/sales_common.py
index fca96b8..729013f 100644
--- a/selling/doctype/sales_common/sales_common.py
+++ b/selling/doctype/sales_common/sales_common.py
@@ -127,29 +127,40 @@
if not obj.doc.price_list_name:
msgprint("Please Select Price List before selecting Items")
raise Exception
- item = webnotes.conn.sql("select description, item_name, brand, item_group, stock_uom, default_warehouse, default_income_account, default_sales_cost_center, purchase_account, cost_center, description_html, barcode from `tabItem` where name = '%s' and (ifnull(end_of_life,'')='' or end_of_life > now() or end_of_life = '0000-00-00') and (is_sales_item = 'Yes' or is_service_item = 'Yes')" % (args['item_code']), as_dict=1)
- tax = webnotes.conn.sql("select tax_type, tax_rate from `tabItem Tax` where parent = %s" , args['item_code'])
+ item = webnotes.conn.sql("""select description, item_name, brand, item_group, stock_uom,
+ default_warehouse, default_income_account, default_sales_cost_center,
+ purchase_account, description_html, barcode from `tabItem`
+ where name = %s and (ifnull(end_of_life,'')='' or end_of_life > now()
+ or end_of_life = '0000-00-00') and (is_sales_item = 'Yes'
+ or is_service_item = 'Yes')""", args['item_code'], as_dict=1)
+ tax = webnotes.conn.sql("""select tax_type, tax_rate from `tabItem Tax`
+ where parent = %s""", args['item_code'])
t = {}
for x in tax: t[x[0]] = flt(x[1])
ret = {
- 'description' : item and item[0]['description_html'] or item[0]['description'],
- 'barcode' : item and item[0]['barcode'] or '',
- 'item_group' : item and item[0]['item_group'] or '',
- 'item_name' : item and item[0]['item_name'] or '',
- 'brand' : item and item[0]['brand'] or '',
- 'stock_uom' : item and item[0]['stock_uom'] or '',
- 'reserved_warehouse' : item and item[0]['default_warehouse'] or '',
- 'warehouse' : item and item[0]['default_warehouse'] or args.get('warehouse'),
- 'income_account' : item and item[0]['default_income_account'] or args.get('income_account'),
- 'expense_account' : item and item[0]['purchase_account'] or args.get('expense_account'),
- 'cost_center' : item and item[0]['default_sales_cost_center'] or args.get('cost_center'),
- 'purchase_cost_center' : item and item[0]['cost_center'] or args.get('purchase_cost_center'),
- 'qty' : 1.00, # this is done coz if item once fetched is fetched again thn its qty shld be reset to 1
- 'adj_rate' : 0,
- 'amount' : 0,
- 'export_amount' : 0,
- 'item_tax_rate' : json.dumps(t),
- 'batch_no' : ''
+ 'description': item and item[0]['description_html'] or \
+ item[0]['description'],
+ 'barcode': item and item[0]['barcode'] or '',
+ 'item_group': item and item[0]['item_group'] or '',
+ 'item_name': item and item[0]['item_name'] or '',
+ 'brand': item and item[0]['brand'] or '',
+ 'stock_uom': item and item[0]['stock_uom'] or '',
+ 'reserved_warehouse': item and item[0]['default_warehouse'] or '',
+ 'warehouse': item and item[0]['default_warehouse'] or \
+ args.get('warehouse'),
+ 'income_account': item and item[0]['default_income_account'] or \
+ args.get('income_account'),
+ 'expense_account': item and item[0]['purchase_account'] or \
+ args.get('expense_account'),
+ 'cost_center': item and item[0]['default_sales_cost_center'] or \
+ args.get('cost_center'),
+ # this is done coz if item once fetched is fetched again than its qty shld be reset to 1
+ 'qty': 1.00,
+ 'adj_rate': 0,
+ 'amount': 0,
+ 'export_amount': 0,
+ 'item_tax_rate': json.dumps(t),
+ 'batch_no': ''
}
if(obj.doc.price_list_name and item): #this is done to fetch the changed BASIC RATE and REF RATE based on PRICE LIST
base_ref_rate = self.get_ref_rate(args['item_code'], obj.doc.price_list_name, obj.doc.price_list_currency, obj.doc.plc_conversion_rate)
@@ -174,14 +185,18 @@
def get_item_defaults(self, args):
- item = webnotes.conn.sql("""select default_warehouse, default_income_account, default_sales_cost_center from `tabItem`
- where name = '%s' and (ifnull(end_of_life,'') = '' or end_of_life > now() or end_of_life = '0000-00-00')
- and (is_sales_item = 'Yes' or is_service_item = 'Yes') """ % (args['item_code']), as_dict=1)
+ item = webnotes.conn.sql("""select default_warehouse, default_income_account,
+ default_sales_cost_center, purchase_account from `tabItem` where name = %s
+ and (ifnull(end_of_life,'') = '' or end_of_life > now() or end_of_life = '0000-00-00')
+ and (is_sales_item = 'Yes' or is_service_item = 'Yes') """,
+ (args['item_code']), as_dict=1)
ret = {
- 'reserved_warehouse' : item and item[0]['default_warehouse'] or '',
- 'warehouse' : item and item[0]['default_warehouse'] or args.get('warehouse'),
- 'income_account' : item and item[0]['default_income_account'] or args.get('income_account'),
- 'cost_center' : item and item[0]['default_sales_cost_center'] or args.get('cost_center')
+ 'reserved_warehouse': item and item[0]['default_warehouse'] or '',
+ 'warehouse': item and item[0]['default_warehouse'] or args.get('warehouse'),
+ 'income_account': item and item[0]['default_income_account'] or \
+ args.get('income_account'),
+ 'expense_account': item and item[0]['purchase_account'] or args.get('expense_account'),
+ 'cost_center': item and item[0]['default_sales_cost_center'] or args.get('cost_center'),
}
return ret
diff --git a/setup/doctype/company/company.py b/setup/doctype/company/company.py
index a2e56eb..47b250d 100644
--- a/setup/doctype/company/company.py
+++ b/setup/doctype/company/company.py
@@ -249,15 +249,17 @@
def on_update(self):
self.set_letter_head()
- ac = sql("select name from tabAccount where company=%s and docstatus<2 limit 1",
- self.doc.name)
- if not ac:
+
+ if not webnotes.conn.sql("""select name from tabAccount
+ where company=%s and docstatus<2 limit 1""", self.doc.name):
self.create_default_accounts()
- self.set_default_accounts()
- cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name))
- if not cc:
+
+ if not webnotes.conn.sql("""select name from `tabCost Center`
+ where cost_center_name = 'Root' and company_name = %s""", self.doc.name):
self.create_default_cost_center()
+ self.set_default_accounts()
+
if self.doc.default_currency:
webnotes.conn.set_value("Currency", self.doc.default_currency, "enabled", 1)
diff --git a/setup/doctype/company/test_company.py b/setup/doctype/company/test_company.py
index fe793ff..e79bd07 100644
--- a/setup/doctype/company/test_company.py
+++ b/setup/doctype/company/test_company.py
@@ -1,4 +1,4 @@
-test_ignore = ["Account"]
+test_ignore = ["Account", "Cost Center"]
test_records = [
[{
diff --git a/stock/doctype/delivery_note/delivery_note.js b/stock/doctype/delivery_note/delivery_note.js
index 7e6031c..c7feb1b 100644
--- a/stock/doctype/delivery_note/delivery_note.js
+++ b/stock/doctype/delivery_note/delivery_note.js
@@ -323,7 +323,7 @@
}
// cost center
-cur_frm.fields_dict["delivery_note_details"].grid.get_field("cost_center").get_query = function(doc) {
+cur_frm.fields_dict.delivery_note_details.grid.get_field("cost_center").get_query = function(doc) {
return {
query: "accounts.utils.get_cost_center_list",
filters: { company_name: doc.company}
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
index 5e3c9e9..fce379e 100644
--- a/stock/doctype/delivery_note/delivery_note.py
+++ b/stock/doctype/delivery_note/delivery_note.py
@@ -85,8 +85,11 @@
obj = get_obj('Sales Common')
for doc in self.doclist:
if doc.fields.get('item_code'):
- arg = {'item_code':doc.fields.get('item_code'), 'income_account':doc.fields.get('income_account'),
- 'cost_center': doc.fields.get('cost_center'), 'warehouse': doc.fields.get('warehouse')};
+ arg = {
+ 'item_code':doc.fields.get('item_code'),
+ 'expense_account':doc.fields.get('expense_account'),
+ 'cost_center': doc.fields.get('cost_center'),
+ 'warehouse': doc.fields.get('warehouse')};
ret = obj.get_item_defaults(arg)
for r in ret:
if not doc.fields.get(r):
diff --git a/stock/doctype/delivery_note_item/delivery_note_item.txt b/stock/doctype/delivery_note_item/delivery_note_item.txt
index ffc19c3..1961e6c 100644
--- a/stock/doctype/delivery_note_item/delivery_note_item.txt
+++ b/stock/doctype/delivery_note_item/delivery_note_item.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-03-07 11:42:59",
+ "creation": "2013-03-25 11:55:16",
"docstatus": 0,
- "modified": "2013-03-22 18:43:10",
+ "modified": "2013-03-25 15:43:04",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -253,14 +253,15 @@
"no_copy": 1,
"options": "Account",
"print_hide": 1,
+ "read_only": 0,
"width": "120px"
},
{
"doctype": "DocField",
- "fieldname": "purchase_cost_center",
+ "fieldname": "cost_center",
"fieldtype": "Link",
"hidden": 1,
- "label": "Purchase Cost Center",
+ "label": "Cost Center",
"no_copy": 1,
"options": "Cost Center",
"print_hide": 1,
diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js
index dc57ec6..9b89d78 100644
--- a/stock/doctype/stock_entry/stock_entry.js
+++ b/stock/doctype/stock_entry/stock_entry.js
@@ -27,7 +27,7 @@
if (sys_defaults.auto_inventory_accounting && !this.frm.doc.expense_adjustment_account) {
if (this.frm.doc.purpose == "Sales Return")
- account_for = "stock_delivered_but_not_billed";
+ account_for = "stock_in_hand_account";
else if (this.frm.doc.purpose == "Purchase Return")
account_for = "stock_received_but_not_billed";
else account_for = "stock_adjustment_account";