[mapper] sales order-sales invoice added condition
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index ce32d9b..b8362b5 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -471,7 +471,8 @@
"parent": "sales_order",
"reserved_warehouse": "warehouse"
},
- "postprocess": update_item
+ "postprocess": update_item,
+ "condition": lambda doc: doc.amount==0 or doc.billed_amt < doc.amount
},
"Sales Taxes and Charges": {
"doctype": "Sales Taxes and Charges",
diff --git a/selling/doctype/sales_order/test_sales_order.py b/selling/doctype/sales_order/test_sales_order.py
index 6ec8802..dd0cd44 100644
--- a/selling/doctype/sales_order/test_sales_order.py
+++ b/selling/doctype/sales_order/test_sales_order.py
@@ -43,10 +43,19 @@
sales_order = webnotes.bean("Sales Order", so.doc.name)
sales_order.submit()
- dn = make_sales_invoice(so.doc.name)
+ si = make_sales_invoice(so.doc.name)
- self.assertEquals(dn[0]["doctype"], "Sales Invoice")
- self.assertEquals(len(dn), len(sales_order.doclist))
+ self.assertEquals(si[0]["doctype"], "Sales Invoice")
+ self.assertEquals(len(si), len(sales_order.doclist))
+ self.assertEquals(len([d for d in si if d["doctype"]=="Sales Invoice Item"]), 1)
+
+ si = webnotes.bean(si)
+ si.insert()
+ si.submit()
+
+ si1 = make_sales_invoice(so.doc.name)
+ self.assertEquals(len([d for d in si1 if d["doctype"]=="Sales Invoice Item"]), 0)
+
def create_so(self, so_doclist = None):
if not so_doclist:
diff --git a/stock/doctype/item/test_item.py b/stock/doctype/item/test_item.py
index 35cad9d..38f1d97 100644
--- a/stock/doctype/item/test_item.py
+++ b/stock/doctype/item/test_item.py
@@ -62,7 +62,8 @@
"is_pro_applicable": "No",
"is_sub_contracted_item": "No",
"stock_uom": "_Test UOM",
- "default_warehouse": "_Test Warehouse"
+ "default_income_account": "Sales - _TC",
+ "default_warehouse": "_Test Warehouse",
}, {
"doctype": "Item Reorder",
"parentfield": "item_reorder",
@@ -85,6 +86,7 @@
"description": "_Test Item Home Desktop 100",
"item_group": "_Test Item Group Desktops",
"default_warehouse": "_Test Warehouse",
+ "default_income_account": "Sales - _TC",
"is_stock_item": "Yes",
"is_asset_item": "No",
"has_batch_no": "No",
@@ -110,6 +112,7 @@
"description": "_Test Item Home Desktop 200",
"item_group": "_Test Item Group Desktops",
"default_warehouse": "_Test Warehouse",
+ "default_income_account": "Sales - _TC",
"is_stock_item": "Yes",
"is_asset_item": "No",
"has_batch_no": "No",
@@ -129,6 +132,7 @@
"item_name": "_Test Sales BOM Item",
"description": "_Test Sales BOM Item",
"item_group": "_Test Item Group Desktops",
+ "default_income_account": "Sales - _TC",
"is_stock_item": "No",
"is_asset_item": "No",
"has_batch_no": "No",
@@ -150,6 +154,7 @@
"item_group": "_Test Item Group Desktops",
"is_stock_item": "Yes",
"default_warehouse": "_Test Warehouse",
+ "default_income_account": "Sales - _TC",
"is_asset_item": "No",
"has_batch_no": "No",
"has_serial_no": "No",