fixed erpnext/frappe#1441 and other pos related cleanups
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 1b48a8e..12aca89 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -403,13 +403,15 @@
// paid_amount and write_off_amount is only for POS Invoice
// total_advance is only for non POS Invoice
if(this.frm.doc.doctype == "Sales Invoice" && this.frm.doc.docstatus==0) {
- frappe.model.round_floats_in(this.frm.doc, ["grand_total", "total_advance", "write_off_amount",
- "paid_amount"]);
- var total_amount_to_pay = this.frm.doc.grand_total - this.frm.doc.write_off_amount - this.frm.doc.total_advance;
- this.frm.doc.paid_amount = this.frm.doc.is_pos? flt(total_amount_to_pay): 0.0;
-
- this.frm.doc.outstanding_amount = flt(total_amount_to_pay - this.frm.doc.paid_amount,
- precision("outstanding_amount"));
+ if(this.frm.doc.paid_amount==null) {
+ frappe.model.round_floats_in(this.frm.doc, ["grand_total", "total_advance", "write_off_amount",
+ "paid_amount"]);
+ var total_amount_to_pay = this.frm.doc.grand_total - this.frm.doc.write_off_amount
+ - this.frm.doc.total_advance;
+ this.frm.doc.paid_amount = this.frm.doc.is_pos ? flt (total_amount_to_pay) : 0.0;
+ this.frm.set_value("outstanding_amount", flt(total_amount_to_pay
+ - this.frm.doc.paid_amount, precision("outstanding_amount")));
+ }
}
},