blob: b70b2ec48cc112e717e44c9a2a7c9c70d2d477b0 [file] [log] [blame]
Deepesh Garg6e2c13f2019-12-10 15:55:05 +05301erpnext.setup_auto_gst_taxation = (doctype) => {
2 frappe.ui.form.on(doctype, {
3 company_address: function(frm) {
4 frm.trigger('get_tax_template');
5 },
6 shipping_address: function(frm) {
7 frm.trigger('get_tax_template');
8 },
Deepesh Gargcebf8032020-09-01 16:15:28 +05309 supplier_address: function(frm) {
10 frm.trigger('get_tax_template');
11 },
Deepesh Garg6e2c13f2019-12-10 15:55:05 +053012 tax_category: function(frm) {
13 frm.trigger('get_tax_template');
14 },
15 get_tax_template: function(frm) {
Marica0c818922020-08-05 16:47:41 +053016 if (!frm.doc.company) return;
17
Deepesh Garg6e2c13f2019-12-10 15:55:05 +053018 let party_details = {
19 'shipping_address': frm.doc.shipping_address || '',
20 'shipping_address_name': frm.doc.shipping_address_name || '',
21 'customer_address': frm.doc.customer_address || '',
Deepesh Garga7670852020-12-04 18:07:46 +053022 'supplier_address': frm.doc.supplier_address,
Deepesh Garg6e2c13f2019-12-10 15:55:05 +053023 'customer': frm.doc.customer,
24 'supplier': frm.doc.supplier,
25 'supplier_gstin': frm.doc.supplier_gstin,
26 'company_gstin': frm.doc.company_gstin,
27 'tax_category': frm.doc.tax_category
28 };
29
30 frappe.call({
31 method: 'erpnext.regional.india.utils.get_regional_address_details',
32 args: {
33 party_details: JSON.stringify(party_details),
34 doctype: frm.doc.doctype,
pateljannat1d5d8632020-11-19 20:11:45 +053035 company: frm.doc.company
Deepesh Garg6e2c13f2019-12-10 15:55:05 +053036 },
37 callback: function(r) {
38 if(r.message) {
39 frm.set_value('taxes_and_charges', r.message.taxes_and_charges);
pateljannat8c9b60e2020-11-18 12:51:13 +053040 frm.set_value('place_of_supply', r.message.place_of_supply);
Deepesh Garg15ff6a52020-02-18 12:28:41 +053041 } else if (frm.doc.is_internal_supplier || frm.doc.is_internal_customer) {
42 frm.set_value('taxes_and_charges', '');
43 frm.set_value('taxes', []);
Deepesh Garg6e2c13f2019-12-10 15:55:05 +053044 }
45 }
46 });
47 }
48 });
49};
50