'SalesOrder' object has no attribute 'ecommerce_gstin'

,

Hi all,
I have installed a new instance of Erpnext using docker. While creating a new sales order i get an error pop-up of ‘SalesOrder’ object has no attribute ‘ecommerce_gstin’

### App Versions

{
“erpnext”: “15.60.1”,
“frappe”: “15.67.0”,
“hrms”: “15.44.2”,
“india_compliance”: “15.17.1”
}

### Route

Form/Sales Order/new-sales-order-glzrpxcskc

### Traceback

Traceback (most recent call last):
File “apps/frappe/frappe/app.py”, line 115, in application
response = frappe.api.handle(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/api/init.py”, line 49, in handle
data = endpoint(**arguments)
^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/api/v1.py”, line 36, in handle_rpc_call
return frappe.handler.handle()
^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/handler.py”, line 51, in handle
data = execute_cmd(cmd)
^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/handler.py”, line 84, in execute_cmd
return frappe.call(method, **frappe.form_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/init.py”, line 1742, in call
return fn(*args, **newargs)
^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/utils/typing_validations.py”, line 31, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/desk/form/save.py”, line 42, in savedocs
run_onload(doc)
File “apps/frappe/frappe/desk/form/load.py”, line 358, in run_onload
doc.run_method(“onload”)
File “apps/frappe/frappe/model/document.py”, line 1007, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/model/document.py”, line 1367, in composer
return composed(self, method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/model/document.py”, line 1351, in runner
add_to_return_value(self, f(self, method, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/india_compliance/india_compliance/gst_india/overrides/transaction.py”, line 1842, in onload
set_ecommerce_supply_type(doc)
File “apps/india_compliance/india_compliance/gst_india/overrides/transaction.py”, line 1929, in set_ecommerce_supply_type
if not doc.ecommerce_gstin:
^^^^^^^^^^^^^^^^^^^
AttributeError: ‘SalesOrder’ object has no attribute ‘ecommerce_gstin’

### Request Data

{
“type”: “POST”,
“args”: {
“doc”: “{"docstatus":0,"doctype":"Sales Order","name":"new-sales-order-glzrpxcskc","__islocal":1,"__unsaved":1,"owner":"joelfernando@engineeredsolutions.in","title":"{customer_name}","naming_series":"SAL-ORD-25-26-.####.","order_type":"Sales","transaction_date":"2025-05-04","company":"Engineered Solutions","skip_delivery_note":0,"is_reverse_charge":0,"is_export_with_gst":0,"currency":"INR","selling_price_list":"Standard Selling","price_list_currency":"INR","ignore_pricing_rule":0,"set_warehouse":"Stores - ES","reserve_stock":0,"items":[{"docstatus":0,"doctype":"Sales Order Item","name":"new-sales-order-item-yhraiqngdz","__islocal":1,"__unsaved":1,"owner":"joelfernando@engineeredsolutions.in","ensure_delivery_based_on_produced_serial_no":0,"is_stock_item":1,"reserve_stock":1,"stock_uom":"Nos","stock_reserved_qty":0,"margin_type":"","is_free_item":0,"grant_commission":1,"delivered_by_supplier":0,"against_blanket_order":null,"page_break":0,"cost_center":"Main - ES","parent":"new-sales-order-glzrpxcskc","parentfield":"items","parenttype":"Sales Order","idx":1,"warehouse":"Stores - ES","qty":1,"conversion_factor":1,"stock_qty":1,"price_list_rate":0,"base_price_list_rate":0,"margin_rate_or_amount":0,"rate_with_margin":0,"discount_amount":0,"distributed_discount_amount":0,"base_rate_with_margin":0,"rate":9500,"amount":9500,"base_rate":9500,"base_amount":9500,"stock_uom_rate":9500,"net_rate":9500,"net_amount":9500,"base_net_rate":9500,"base_net_amount":9500,"taxable_value":0,"igst_rate":0,"cgst_rate":0,"sgst_rate":0,"cess_rate":0,"cess_non_advol_rate":0,"igst_amount":0,"cgst_amount":0,"sgst_amount":0,"cess_amount":0,"cess_non_advol_amount":0,"billed_amt":0,"valuation_rate":0,"gross_profit":0,"weight_per_unit":0,"total_weight":0,"blanket_order_rate":0,"actual_qty":0,"company_total_stock":0,"projected_qty":0,"ordered_qty":0,"planned_qty":0,"production_plan_qty":0,"work_order_qty":0,"delivered_qty":0,"produced_qty":0,"returned_qty":0,"picked_qty":0,"delivery_date":"2025-05-09","gst_hsn_code":"84145930","item_code":"MTD 125","weight_uom":null,"barcode":null,"pricing_rules":"","item_name":"MTD 125","description":"MTD 125","image":"","income_account":"Sales - ES","expense_account":"Cost of Goods Sold - ES","discount_account":null,"provisional_expense_account":null,"has_serial_no":0,"has_batch_no":0,"batch_no":null,"uom":"Nos","min_order_qty":"","discount_percentage":0,"update_stock":0,"is_fixed_asset":0,"last_purchase_rate":0,"transaction_date":"2025-05-04","bom_no":null,"item_group":"Products","brand":null,"manufacturer":null,"manufacturer_part_no":null,"item_tax_rate":"{}","customer_item_code":null,"reserved_qty":0,"has_margin":false,"free_item_data":,"child_docname":"new-sales-order-item-yhraiqngdz"}],"taxes":[{"docstatus":0,"doctype":"Sales Taxes and Charges","name":"new-sales-taxes-and-charges-kugnfrffbh","__islocal":1,"__unsaved":1,"owner":"joelfernando@engineeredsolutions.in","charge_type":"On Net Total","included_in_print_rate":0,"included_in_paid_amount":0,"cost_center":"Main - ES","account_currency":null,"dont_recompute_tax":0,"parent":"new-sales-order-glzrpxcskc","parentfield":"taxes","parenttype":"Sales Order","idx":1,"row_id":null,"account_head":"Output Tax SGST - ES","description":"SGST","rate":9,"gst_tax_type":null,"tax_amount":855,"total":10355,"tax_amount_after_discount_amount":855,"base_tax_amount":855,"base_total":10355,"base_tax_amount_after_discount_amount":855,"item_wise_tax_detail":"{\"MTD 125\":[9,855]}"},{"docstatus":0,"doctype":"Sales Taxes and Charges","name":"new-sales-taxes-and-charges-hvgvktspbt","__islocal":1,"__unsaved":1,"owner":"joelfernando@engineeredsolutions.in","charge_type":"On Net Total","included_in_print_rate":0,"included_in_paid_amount":0,"cost_center":"Main - ES","account_currency":null,"dont_recompute_tax":0,"parent":"new-sales-order-glzrpxcskc","parentfield":"taxes","parenttype":"Sales Order","idx":2,"row_id":null,"account_head":"Output Tax CGST - ES","description":"CGST","rate":9,"gst_tax_type":null,"tax_amount":855,"total":11210,"tax_amount_after_discount_amount":855,"base_tax_amount":855,"base_total":11210,"base_tax_amount_after_discount_amount":855,"item_wise_tax_detail":"{\"MTD 125\":[9,855]}"}],"disable_rounded_total":0,"apply_discount_on":"Grand Total","packed_items":,"pricing_rules":,"payment_schedule":,"status":"Draft","delivery_status":"Not Delivered","billing_status":"Not Billed","sales_team":,"group_same_items":0,"is_internal_customer":0,"party_account_currency":"INR","advance_paid":0,"conversion_rate":1,"plc_conversion_rate":1,"company_address":"Engineered Solutions-Billing","base_net_total":9500,"net_total":9500,"base_total":9500,"total":9500,"total_qty":1,"grand_total":11210,"base_grand_total":11210,"total_taxes_and_charges":1710,"base_total_taxes_and_charges":1710,"rounded_total":11210,"rounding_adjustment":0,"base_rounding_adjustment":0,"base_rounded_total":11210,"in_words":"","base_in_words":"","base_discount_amount":0,"amount_eligible_for_commission":9500,"total_commission":null,"company_gstin":"33BSBPA5951Q1ZK","company_address_display":"7, Astalakshmi street
Muthulakshmi nagar, Chitlapakkam
Chennai
\nTamil Nadu, State Code: 33
PIN Code: 600064
India
\nPhone: 9840289813
Email: contact@engineeredsolutions.in
GSTIN: 33BSBPA5951Q1ZK
","tax_id":"33AWOPV5774C1Z3","customer_name":"Chennai Kitchen Exhaust Air Systems","represents_company":null,"customer":"Chennai Kitchen Exhaust Air Systems","customer_address":"Chennai Kitchen Exhaust Air Systems-Billing","billing_address_gstin":"33AWOPV5774C1Z3","gst_category":"Registered Regular","address_display":"No 4/1,Valluvar Salai Micheal Garden Ramapuram,
Chennai
\nTamil Nadu, State Code: 33
PIN Code: 600089
India
\nGSTIN: 33AWOPV5774C1Z3
","shipping_address_name":"Chennai Kitchen Exhaust Air Systems-Billing","shipping_address":"No 4/1,Valluvar Salai Micheal Garden Ramapuram,
Chennai
\nTamil Nadu, State Code: 33
PIN Code: 600089
India
\nGSTIN: 33AWOPV5774C1Z3
","tax_category":"","place_of_supply":"33-Tamil Nadu","taxes_and_charges":"Output GST In-state - ES","contact_person":"Chennai Kitchen Exhaust Air Systems-Chennai Kitchen Exhaust Air Systems","contact_display":"Chennai Kitchen Exhaust Air Systems","contact_email":"","contact_mobile":"9840449870","contact_phone":"","customer_group":null,"territory":null,"language":"en","payment_terms_template":null,"delivery_date":"2025-05-09","total_net_weight":0}”,
“action”: “Save”
},
“btn”: {
“jQuery370091176631693508811”: {
“events”: {
“click”: [
{
“type”: “click”,
“origType”: “click”,
“guid”: 6255,
“namespace”: “”
}
]
}
}
},
“freeze”: true,
“headers”: {},
“error_handlers”: {},
“url”: “/api/method/frappe.desk.form.save.savedocs”,
“request_id”: null
}

### Response Data

{
“exception”: “AttributeError: ‘SalesOrder’ object has no attribute ‘ecommerce_gstin’”,
“exc_type”: “AttributeError”,
“_exc_source”: “india_compliance (app)”,
“_server_messages”: “["{\"message\": \"Item Price added for MTD 125 in Price List Standard Selling\", \"title\": \"Message\", \"alert\": 1}"]”
}

I have “Enable Sales through E-commerce Operators” option unchecked in GST settings. I am a newbie here, any help would be appreciated. Thanks!