fix: place of supply change on address change
diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js
index cb76c87..cd5cc92 100644
--- a/erpnext/public/js/controllers/buying.js
+++ b/erpnext/public/js/controllers/buying.js
@@ -135,6 +135,7 @@
supplier_address: function() {
erpnext.utils.get_address_display(this.frm);
erpnext.utils.set_taxes_from_address(this.frm, "supplier_address", "supplier_address", "supplier_address");
+ erpnext.utils.set_place_of_supply(this.frm)
},
buying_price_list: function() {
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index b4fe412..1555896 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -116,6 +116,19 @@
}
},
+ set_place_of_supply: function(frm){
+ frappe.call({
+ method: "erpnext.regional.india.utils.get_place_of_supply",
+ args: {
+ "party_details": frm.doc,
+ "doctype": frm.doc.doctype
+ },
+ callback: function(r){
+ frm.set_value("place_of_supply", r.message)
+ }
+ })
+ },
+
add_indicator_for_multicompany: function(frm, info) {
frm.dashboard.stats_area.removeClass('hidden');
frm.dashboard.stats_area_row.addClass('flex');
@@ -304,21 +317,6 @@
}
frappe.ui.form.make_quick_entry(doctype, null, null, new_doc);
});
- },
-
- set_place_of_supply: function(frm){
- frappe.call({
- method: "erpnext.regional.india.utils.get_place_of_supply",
- args: {
- "party_details": frm.doc,
- "doctype": frm.doc.doctype
- },
- callback: function(r){
- if(r.message){
- frm.set_value("place_of_supply", r.message)
- }
- }
- })
}
});
diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py
index c774cb0..7ad1c07 100644
--- a/erpnext/regional/india/utils.py
+++ b/erpnext/regional/india/utils.py
@@ -138,6 +138,9 @@
@frappe.whitelist()
def get_place_of_supply(party_details, doctype):
if not frappe.get_meta('Address').has_field('gst_state'): return
+ if isinstance(party_details, string_types):
+ party_details = json.loads(party_details)
+ party_details = frappe._dict(party_details)
if doctype in ("Sales Invoice", "Delivery Note", "Sales Order"):
address_name = party_details.customer_address or party_details.shipping_address_name