[Fixes] RFQ minor fixes
@ -18,6 +18,7 @@ class RequestforQuotation(BuyingController):
|
||||
def validate(self):
|
||||
self.validate_duplicate_supplier()
|
||||
self.validate_common()
|
||||
self.update_email_id()
|
||||
|
||||
def validate_duplicate_supplier(self):
|
||||
supplier_list = [d.supplier for d in self.suppliers]
|
||||
@ -28,6 +29,11 @@ class RequestforQuotation(BuyingController):
|
||||
pc = frappe.get_doc('Purchase Common')
|
||||
pc.validate_for_items(self)
|
||||
|
||||
def update_email_id(self):
|
||||
for rfq_supplier in self.suppliers:
|
||||
if not rfq_supplier.email_id:
|
||||
rfq_supplier.email_id = frappe.db.get_value("Contact", rfq_supplier.contact, "email_id")
|
||||
|
||||
def on_submit(self):
|
||||
frappe.db.set(self, 'status', 'Submitted')
|
||||
|
||||
@ -37,12 +43,14 @@ class RequestforQuotation(BuyingController):
|
||||
def send_to_supplier(self):
|
||||
link = get_url("/rfq/" + self.name)
|
||||
for rfq_supplier in self.suppliers:
|
||||
if rfq_supplier.email_id and rfq_supplier.send_email_to_supplier:
|
||||
if rfq_supplier.email_id:
|
||||
|
||||
# make new user if required
|
||||
update_password_link = self.create_supplier_user(rfq_supplier, link)
|
||||
|
||||
self.supplier_rfq_mail(rfq_supplier, update_password_link, link)
|
||||
else:
|
||||
frappe.throw(_("For supplier {0} email id is required to send email").format(rfq_supplier.supplier))
|
||||
|
||||
def create_supplier_user(self, rfq_supplier, link):
|
||||
'''Create a new user for the supplier if not set in contact'''
|
||||
|
@ -2,6 +2,7 @@
|
||||
"allow_copy": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"beta": 0,
|
||||
"creation": "2016-03-29 05:59:11.896885",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
@ -60,33 +61,6 @@
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"default": "1",
|
||||
"description": "",
|
||||
"fieldname": "send_email_to_supplier",
|
||||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Send Email to Supplier",
|
||||
"length": 0,
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
@ -142,7 +116,7 @@
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"fieldname": "email_id",
|
||||
"fieldtype": "Read Only",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
@ -173,13 +147,14 @@
|
||||
"issingle": 0,
|
||||
"istable": 1,
|
||||
"max_attachments": 0,
|
||||
"modified": "2016-04-06 05:39:47.516470",
|
||||
"modified": "2016-05-10 11:36:04.171180",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Buying",
|
||||
"name": "Request for Quotation Supplier",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [],
|
||||
"quick_entry": 0,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"sort_field": "modified",
|
||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 78 KiB |
BIN
erpnext/docs/assets/img/buying/request-for-quotation.gif
Normal file
After Width: | Height: | Size: 4.7 MiB |
BIN
erpnext/docs/assets/img/buying/send-rfq-link.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
erpnext/docs/assets/img/buying/send-supplier-emails.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
erpnext/docs/assets/img/buying/set-email-id.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
erpnext/docs/assets/img/buying/supplier-password-update-link.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
erpnext/docs/assets/img/buying/supplier-portal-rfq.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
erpnext/docs/assets/img/buying/supplier-quotation-from-rfq.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
erpnext/docs/assets/img/buying/supplier-selection-from-rfq.png
Normal file
After Width: | Height: | Size: 105 KiB |
@ -2,13 +2,51 @@ A Request for Quotation is a document that an organization submits to one or mor
|
||||
|
||||
In ERPNext, You can create request for quotation directly by going to:
|
||||
|
||||
`Buying > Documents > Request for Quotation > New Request for Quotation`
|
||||
|
||||
Create Request for Quotation:
|
||||
> Buying > Documents > Request for Quotation > New Request for Quotation
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/request-for-quotation.png)
|
||||
|
||||
Create Supplier Quotation from Request for Quotation form:
|
||||
After creation of request for quotation, there are two ways to generate supplier quotation from request for quotation.
|
||||
|
||||
#### For User
|
||||
|
||||
__Step 1:__ Open request for quotation and click on make supplier quotation.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/make-supplier-quotation-from-rfq.png)
|
||||
|
||||
|
||||
__Step 2:__ Select supplier and click on make supplier quotation.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/supplier-selection-from-rfq.png)
|
||||
|
||||
__Step 3:__ System will open the supplier quotation, user has to enter the rate and submit it.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/supplier-quotation-from-rfq.png)
|
||||
|
||||
#### For Supplier
|
||||
|
||||
__Step 1:__ User has to create contact or enter email id against the supplier on request for quotation.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/set-email-id.png)
|
||||
|
||||
__Step 2:__ User has to click on send supplier emails button.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/send-supplier-emails.png)
|
||||
|
||||
* If supplier's user not available: system will create supplier's user and send details to the supplier, supplier will need to click on the link(Password Update) present in the email. After password update supplier can access his portal with the request for quotation form.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/supplier-password-update-link.png)
|
||||
|
||||
* If supplier's user available: system will send request for quotation link to supplier, supplier has to login using his credentials to view request for quotation form on portal.
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/send-rfq-link.png)
|
||||
|
||||
__Step 3:__ Supplier has to enter amount and notes(payment terms) on the form and click on submit
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/supplier-portal-rfq.png)
|
||||
|
||||
__Step 4:__ On submission, system will create supplier quotation(draft mode) against the supplier. User has to review the supplier quotation
|
||||
and submit it.
|
||||
|
||||
More details:-
|
||||
|
||||
![Request For Quotation]({{docs_base_url}}/assets/img/buying/request-for-quotation.gif)
|
@ -12,12 +12,6 @@
|
||||
{% include "templates/includes/breadcrumbs.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block style %}
|
||||
<style>
|
||||
{% include "templates/includes/order/order.css" %}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block header_actions %}
|
||||
{% if doc.items %}
|
||||
<button class="btn btn-primary btn-sm"
|
||||
@ -35,8 +29,7 @@
|
||||
{{ doc.get_formatted("transaction_date") }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rfq-content">
|
||||
<div class="rfq-content" style="margin-top:15px">
|
||||
<div id="order-container">
|
||||
<div id="rfq-items">
|
||||
<div class="row cart-item-header">
|
||||
|