Fix: when ref_rate is 0 and basic_rate is > 0, calc ref_rate
diff --git a/erpnext/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js
index 17f19ae..57f449f 100644
--- a/erpnext/selling/doctype/sales_common/sales_common.js
+++ b/erpnext/selling/doctype/sales_common/sales_common.js
@@ -472,11 +472,19 @@
var consider_incl_rate = cur_frm.cscript.consider_incl_rate(doc, other_fname);
for(var i=0;i<cl.length;i++) {
if(n == 1){
- if(!consider_incl_rate && (flt(cl[i].ref_rate) > 0)) {
- set_multiple(tname, cl[i].name, {
- 'export_rate': flt(flt(cl[i].ref_rate) * (100 - flt(cl[i].adj_rate)) / 100)
- }, fname);
-
+ if(!consider_incl_rate) {
+ if(flt(cl[i].ref_rate) > 0) {
+ set_multiple(tname, cl[i].name, {
+ 'export_rate': flt(flt(cl[i].ref_rate) * (100 - flt(cl[i].adj_rate)) / 100)
+ }, fname);
+
+ } else if(flt(cl[i].export_rate) > 0) {
+ var ref_rate = flt(cl[i].adj_rate)!=flt(100) ?
+ flt((100 * flt(cl[i].export_rate))/flt(100 - flt(cl[i].adj_rate))) :
+ flt(0)
+ set_multiple(tname, cl[i].name, { 'ref_rate': ref_rate }, fname);
+ }
+
set_multiple(tname, cl[i].name, {
'export_amount': flt(flt(cl[i].qty) * flt(cl[i].export_rate)),
'basic_rate': flt(flt(cl[i].export_rate) * flt(doc.conversion_rate)),
@@ -487,7 +495,7 @@
set_multiple(tname, cl[i].name, {
'base_ref_rate': flt(base_ref_rate)
}, fname);
-
+
} else if(consider_incl_rate) {
if(flt(cl[i].export_rate) > 0) {
// calculate basic rate based on taxes