During generation of sales order pragmatically returning error

I need to create sales order pragmatically from one custom doctype but during that i face problem

Error Log:

Traceback (most recent call last):
File “/home/user/tj/project/apps/frappe/frappe/app.py”, line 57, in application
response = frappe.handler.handle()
File “/home/user/tj/project/apps/frappe/frappe/handler.py”, line 22, in handle
data = execute_cmd(cmd)
File “/home/user/tj/project/apps/frappe/frappe/handler.py”, line 53, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/user/tj/project/apps/frappe/frappe/init.py”, line 922, in call
return fn(*args, **newargs)
File “/home/user/tj/project/apps/frappe/frappe/handler.py”, line 81, in runserverobj
frappe.desk.form.run_method.runserverobj(method, docs=docs, dt=dt, dn=dn, arg=arg, args=args)
File “/home/user/tj/project/apps/frappe/frappe/desk/form/run_method.py”, line 36, in runserverobj
r = doc.run_method(method)
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 666, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 887, in composer
return composed(self, method, *args, **kwargs)
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 870, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 660, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/user/tj/project/apps/erpnext/erpnext/selling/doctype/crf_form/crf_form.py”, line 76, in generate_sales_orders
self.create_so_si_pe()
File “/home/user/tj/project/apps/erpnext/erpnext/selling/doctype/crf_form/crf_form.py”, line 82, in create_so_si_pe
so_doc = self.create_sales_order(company)
File “/home/user/tj/project/apps/erpnext/erpnext/selling/doctype/crf_form/crf_form.py”, line 138, in create_sales_order
so_doc = so_doc.insert()
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 192, in insert
self.run_before_save_methods()
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 775, in run_before_save_methods
self.run_method(“validate”)
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 666, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 887, in composer
return composed(self, method, *args, **kwargs)
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 870, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/user/tj/project/apps/frappe/frappe/model/document.py”, line 660, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/user/tj/project/apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py”, line 28, in validate
super(SalesOrder, self).validate()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/selling_controller.py”, line 33, in validate
super(SellingController, self).validate()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/stock_controller.py”, line 17, in validate
super(StockController, self).validate()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 38, in validate
self.calculate_taxes_and_totals()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 101, in calculate_taxes_and_totals
calculate_taxes_and_totals(self)
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 15, in init
self.calculate()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 19, in calculate
self._calculate()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 29, in _calculate
self.calculate_item_values()
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 71, in calculate_item_values
self._set_in_company_currency(item, [“price_list_rate”, “rate”, “net_rate”, “amount”, “net_amount”])
File “/home/user/tj/project/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 78, in set_in_company_currency
val = flt(flt(doc.get(f), doc.precision(f)) * self.doc.conversion_rate, doc.precision("base
" + f))
TypeError: unsupported operand type(s) for *: ‘float’ and ‘NoneType’

**conversion_rate remaining blank during creating sales order from UI of Erpnext but sales order generated successfully **

Looks like you have not passed the value of “conversion rate”

I solved out it but after that i faced problem which attach in screenshot
Hove ever all transaction occur in only one currency Indian still it’s required

exchange rate

I think CRF Form is a customized document. So, you will be known better about the issue. But as the message suggests, “Price List Exchange Rate” value is missing.