automatically write off feature in sales invoice
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index 4e7a51a..cddb92e 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -86,13 +86,19 @@
if(cint(doc.is_pos) == 1) {
hide_field(par_flds);
+ $(cur_frm.fields_dict.payments_section.row.wrapper).toggle(true);
+ $(cur_frm.fields_dict.advances.row.wrapper).toggle(false);
for(f in item_flds_normal) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal[f], false);
for(f in item_flds_pos) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_pos[f], (doc.update_stock==1?true:false));
} else {
unhide_field(par_flds);
+ $(cur_frm.fields_dict.payments_section.row.wrapper).toggle(false);
+ $(cur_frm.fields_dict.advances.row.wrapper).toggle(true);
for(f in item_flds_normal) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal[f], true);
for(f in item_flds_pos) cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_pos[f], false);
}
+ if (doc.docstatus==1) $(cur_frm.fields_dict.recurring_invoice.row.wrapper).toggle(true);
+ else $(cur_frm.fields_dict.recurring_invoice.row.wrapper).toggle(false);
// India related fields
var cp = wn.control_panel;
@@ -236,9 +242,21 @@
//refresh advance amount
//-------------------------------------------------
-cur_frm.cscript.paid_amount = function(doc,dt,dn){
+
+cur_frm.cscript.write_off_outstanding_amount_automatically = function(doc) {
+ if (doc.write_off_outstanding_amount_automatically == 1)
+ doc.write_off_amount = flt(doc.grand_total) - flt(doc.paid_amount);
+
doc.outstanding_amount = flt(doc.grand_total) - flt(doc.paid_amount) - flt(doc.write_off_amount);
- refresh_field('outstanding_amount');
+ refresh_field(['write_off_amount', 'outstanding_amount']);
+}
+
+cur_frm.cscript.paid_amount = function(doc) {
+ cur_frm.cscript.write_off_outstanding_amount_automatically(doc);
+}
+
+cur_frm.cscript.write_off_amount = function(doc) {
+ cur_frm.cscript.write_off_outstanding_amount_automatically(doc);
}
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt b/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
index c851e75..6e76145 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- 'creation': '2012-04-11 13:17:25',
+ 'creation': '2012-04-13 11:56:18',
'docstatus': 0,
- 'modified': '2012-04-13 11:26:44',
+ 'modified': '2012-04-20 11:52:36',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@@ -27,7 +27,7 @@
'server_code_error': u' ',
'show_in_menu': 0,
'subject': u'To %(customer_name)s worth %(currency)s %(grand_total_export)s due on %(due_date)s | %(outstanding_amount)s outstanding',
- 'version': 418
+ 'version': 1
},
# These values are common for all DocField
@@ -582,23 +582,6 @@
# DocField
{
- 'doctype': u'DocField',
- 'fieldname': u'section_break1',
- 'fieldtype': u'Section Break',
- 'permlevel': 0
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'column_break3',
- 'fieldtype': u'Column Break',
- 'permlevel': 0,
- 'width': u'50%'
- },
-
- # DocField
- {
'description': u'Will be calculated automatically when you enter the details',
'doctype': u'DocField',
'fieldname': u'net_total',
@@ -613,83 +596,6 @@
# DocField
{
- 'colour': u'White:FFF',
- 'depends_on': u'eval:doc.is_pos==1',
- 'doctype': u'DocField',
- 'fieldname': u'cash_bank_account',
- 'fieldtype': u'Link',
- 'label': u'Cash/Bank Account',
- 'oldfieldname': u'cash_bank_account',
- 'oldfieldtype': u'Link',
- 'options': u'Account',
- 'permlevel': 0,
- 'print_hide': 1
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'depends_on': u'eval:doc.is_pos==1',
- 'doctype': u'DocField',
- 'fieldname': u'paid_amount',
- 'fieldtype': u'Currency',
- 'label': u'Paid Amount',
- 'oldfieldname': u'paid_amount',
- 'oldfieldtype': u'Currency',
- 'permlevel': 0,
- 'print_hide': 1,
- 'trigger': u'Client'
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'column_break4',
- 'fieldtype': u'Column Break',
- 'permlevel': 0,
- 'width': u'50%'
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'depends_on': u'eval:doc.is_pos==1',
- 'doctype': u'DocField',
- 'fieldname': u'write_off_account',
- 'fieldtype': u'Link',
- 'label': u'Write Off Account',
- 'options': u'Account',
- 'permlevel': 0,
- 'print_hide': 1
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'depends_on': u'eval:doc.is_pos==1',
- 'doctype': u'DocField',
- 'fieldname': u'write_off_cost_center',
- 'fieldtype': u'Link',
- 'label': u'Write Off Cost Center',
- 'options': u'Cost Center',
- 'permlevel': 0,
- 'print_hide': 1
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'depends_on': u'eval:doc.is_pos==1',
- 'doctype': u'DocField',
- 'fieldname': u'write_off_amount',
- 'fieldtype': u'Currency',
- 'label': u'Write Off Amount',
- 'permlevel': 0,
- 'print_hide': 1
- },
-
- # DocField
- {
'doctype': u'DocField',
'fieldname': u'taxes',
'fieldtype': u'Section Break',
@@ -942,6 +848,109 @@
{
'colour': u'White:FFF',
'doctype': u'DocField',
+ 'fieldname': u'payments_section',
+ 'fieldtype': u'Section Break',
+ 'label': u'Payments',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'column_break3',
+ 'fieldtype': u'Column Break',
+ 'permlevel': 0,
+ 'width': u'50%'
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'paid_amount',
+ 'fieldtype': u'Currency',
+ 'label': u'Paid Amount',
+ 'oldfieldname': u'paid_amount',
+ 'oldfieldtype': u'Currency',
+ 'permlevel': 0,
+ 'print_hide': 1,
+ 'trigger': u'Client'
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'cash_bank_account',
+ 'fieldtype': u'Link',
+ 'label': u'Cash/Bank Account',
+ 'oldfieldname': u'cash_bank_account',
+ 'oldfieldtype': u'Link',
+ 'options': u'Account',
+ 'permlevel': 0,
+ 'print_hide': 1
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'column_break4',
+ 'fieldtype': u'Column Break',
+ 'permlevel': 0,
+ 'width': u'50%'
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'write_off_outstanding_amount_automatically',
+ 'fieldtype': u'Check',
+ 'label': u'Write Off Outstanding Amount Automatically',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'write_off_amount',
+ 'fieldtype': u'Currency',
+ 'label': u'Write Off Amount',
+ 'permlevel': 0,
+ 'print_hide': 1
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'write_off_account',
+ 'fieldtype': u'Link',
+ 'label': u'Write Off Account',
+ 'options': u'Account',
+ 'permlevel': 0,
+ 'print_hide': 1
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
+ 'fieldname': u'write_off_cost_center',
+ 'fieldtype': u'Link',
+ 'label': u'Write Off Cost Center',
+ 'options': u'Cost Center',
+ 'permlevel': 0,
+ 'print_hide': 1
+ },
+
+ # DocField
+ {
+ 'colour': u'White:FFF',
+ 'doctype': u'DocField',
'fieldname': u'terms_section_break',
'fieldtype': u'Section Break',
'label': u'Terms and Conditions',
@@ -1232,7 +1241,6 @@
# DocField
{
'colour': u'White:FFF',
- 'depends_on': u'eval:!doc.is_pos',
'doctype': u'DocField',
'fieldname': u'advances',
'fieldtype': u'Section Break',
@@ -1369,7 +1377,7 @@
# DocField
{
- 'depends_on': u'eval:doc.docstatus==1',
+ 'colour': u'White:FFF',
'doctype': u'DocField',
'fieldname': u'recurring_invoice',
'fieldtype': u'Section Break',