diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index f83528c..ade0d32 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -174,7 +174,7 @@
 			frappe.model.round_floats_in(this.frm.doc, ["base_grand_total", "paid_amount"]);
 			// this will make outstanding amount 0
 			this.frm.set_value("write_off_amount",
-				flt(this.frm.doc.base_grand_total - this.frm.doc.paid_amount, precision("write_off_amount"))
+				flt(this.frm.doc.base_grand_total - this.frm.doc.paid_amount - this.frm.doc.total_advance, precision("write_off_amount"))
 			);
 			this.frm.toggle_enable("write_off_amount", false);
 
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
index 70e79b0..11ae3b5 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -664,14 +664,6 @@
   }, 
   {
    "depends_on": "is_pos", 
-   "fieldname": "column_break3", 
-   "fieldtype": "Column Break", 
-   "permlevel": 0, 
-   "read_only": 0, 
-   "width": "50%"
-  }, 
-  {
-   "depends_on": "is_pos", 
    "fieldname": "paid_amount", 
    "fieldtype": "Currency", 
    "label": "Paid Amount", 
@@ -685,6 +677,14 @@
   }, 
   {
    "depends_on": "is_pos", 
+   "fieldname": "column_break3", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "read_only": 0, 
+   "width": "50%"
+  }, 
+  {
+   "depends_on": "is_pos", 
    "fieldname": "cash_bank_account", 
    "fieldtype": "Link", 
    "label": "Cash/Bank Account", 
@@ -696,24 +696,16 @@
    "read_only": 0
   }, 
   {
-   "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)", 
+   "depends_on": "grand_total", 
    "fieldname": "column_break4", 
-   "fieldtype": "Column Break", 
+   "fieldtype": "Section Break", 
+   "label": "Write Off", 
    "permlevel": 0, 
    "read_only": 0, 
    "width": "50%"
   }, 
   {
-   "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)", 
-   "fieldname": "write_off_outstanding_amount_automatically", 
-   "fieldtype": "Check", 
-   "label": "Write Off Outstanding Amount", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "read_only": 0
-  }, 
-  {
-   "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)", 
+   "depends_on": "", 
    "fieldname": "write_off_amount", 
    "fieldtype": "Currency", 
    "label": "Write Off Amount", 
@@ -724,7 +716,23 @@
    "read_only": 0
   }, 
   {
+   "depends_on": "", 
+   "fieldname": "write_off_outstanding_amount_automatically", 
+   "fieldtype": "Check", 
+   "label": "Write Off Outstanding Amount", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0
+  }, 
+  {
    "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)", 
+   "fieldname": "column_break_74", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
+   "depends_on": "", 
    "fieldname": "write_off_account", 
    "fieldtype": "Link", 
    "label": "Write Off Account", 
@@ -734,7 +742,7 @@
    "read_only": 0
   }, 
   {
-   "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)", 
+   "depends_on": "", 
    "fieldname": "write_off_cost_center", 
    "fieldtype": "Link", 
    "label": "Write Off Cost Center", 
@@ -1246,8 +1254,8 @@
  "icon": "icon-file-text", 
  "idx": 1, 
  "is_submittable": 1, 
- "modified": "2015-04-01 06:50:49.748285", 
- "modified_by": "Administrator", 
+ "modified": "2015-04-02 13:42:22.985078", 
+ "modified_by": "anand@erpnext.com", 
  "module": "Accounts", 
  "name": "Sales Invoice", 
  "owner": "Administrator", 
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 9cb63b2..2a4c331 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -48,10 +48,10 @@
 		self.clear_unallocated_advances("Sales Invoice Advance", "advances")
 		self.validate_advance_jv("advances", "sales_order")
 		self.add_remarks()
+		self.validate_write_off_account()
 
 		if cint(self.is_pos):
 			self.validate_pos()
-			self.validate_write_off_account()
 
 		if cint(self.update_stock):
 			self.validate_item_code()
@@ -453,8 +453,10 @@
 		if gl_entries:
 			from erpnext.accounts.general_ledger import make_gl_entries
 
+			# if POS and amount is written off, there's no outstanding and hence no need to update it
 			update_outstanding = cint(self.is_pos) and self.write_off_account \
 				and 'No' or 'Yes'
+
 			make_gl_entries(gl_entries, cancel=(self.docstatus == 2),
 				update_outstanding=update_outstanding, merge_entries=False)
 
@@ -483,6 +485,8 @@
 
 		self.make_pos_gl_entries(gl_entries)
 
+		self.make_write_off_gl_entry(gl_entries)
+
 		return gl_entries
 
 	def make_customer_gl_entry(self, gl_entries):
@@ -555,29 +559,31 @@
 					"remarks": self.remarks,
 				})
 			)
-			# write off entries, applicable if only pos
-			if self.write_off_account and self.write_off_amount:
-				gl_entries.append(
-					self.get_gl_dict({
-						"account": self.debit_to,
-						"party_type": "Customer",
-						"party": self.customer,
-						"against": self.write_off_account,
-						"credit": self.write_off_amount,
-						"remarks": self.remarks,
-						"against_voucher": self.name,
-						"against_voucher_type": self.doctype,
-					})
-				)
-				gl_entries.append(
-					self.get_gl_dict({
-						"account": self.write_off_account,
-						"against": self.debit_to,
-						"debit": self.write_off_amount,
-						"remarks": self.remarks,
-						"cost_center": self.write_off_cost_center
-					})
-				)
+
+	def make_write_off_gl_entry(self, gl_entries):
+		# write off entries, applicable if only pos
+		if self.write_off_account and self.write_off_amount:
+			gl_entries.append(
+				self.get_gl_dict({
+					"account": self.debit_to,
+					"party_type": "Customer",
+					"party": self.customer,
+					"against": self.write_off_account,
+					"credit": self.write_off_amount,
+					"remarks": self.remarks,
+					"against_voucher": self.name,
+					"against_voucher_type": self.doctype,
+				})
+			)
+			gl_entries.append(
+				self.get_gl_dict({
+					"account": self.write_off_account,
+					"against": self.debit_to,
+					"debit": self.write_off_amount,
+					"remarks": self.remarks,
+					"cost_center": self.write_off_cost_center
+				})
+			)
 
 def get_list_context(context=None):
 	from erpnext.controllers.website_list_for_contact import get_list_context
