[IMP] purchase: split purchase agreements docs

closes odoo/documentation#4290

X-original-commit: a217787ad3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
This commit is contained in:
Brandon Seltenrich (BRSE) 2023-02-08 20:21:05 +00:00 committed by Zachary Straub (ZST)
parent 8c29d1fd6a
commit 819864f0c2
29 changed files with 476 additions and 154 deletions

View File

@ -7,6 +7,7 @@ Manage deals
.. toctree::
:titlesonly:
manage_deals/agreements
manage_deals/blanket_orders
manage_deals/calls_for_tenders
manage_deals/control_bills
manage_deals/manage

View File

@ -1,153 +0,0 @@
=========================================================
Purchase agreements: blanket orders and calls for tenders
=========================================================
There are two main types of purchase agreements preconfigured in Odoo: blanket orders and call for
tenders.
#. Blanket orders are long-term agreements between a company and a vendor to deliver products on a
recurring basis with predetermined pricing. Your company should consider using them when you
frequently purchase the same products from the same vendor in varying quantities and/or at
different times. Among their many benefits, you can save time as the ordering process is
simplified, and money thanks to more advantageous bulk pricing.
#. Calls for tenders use a special procedure to request offers from multiple vendors at the same
time. While public sector organizations are often legally bound to release calls for tenders when
they want to purchase goods or services, private organizations can also use them to get the best
deal among several vendors.
Enable purchase agreements
==========================
From the Purchase app, go to :menuselection:`Configuration --> Settings` and activate *Purchase
Agreements*.
.. image:: agreements/agreements-enable-purchase-agreements.png
:align: center
:alt: Enable purchase agreements in Odoo Purchase
Configure or create new types of purchase agreements
====================================================
Before you start using purchase agreements, make sure they are configured the way you want by going
to :menuselection:`Configuration --> Purchase Agreement Types`. From there, you can edit the way
blanket orders and calls for tenders or *Create* a new type of purchase agreement. You can configure
the:
#. Agreement Type: the name you want to give to the agreement.
#. Agreement Selection Type: you can either select multiple offers using *Select multiple RFQ
(non-exclusive)*, which is the default setting for both blanket orders and calls for tenders, or
a single offer using *Select only one RFQ (exclusive)*, which is sometimes needed for calls for
tenders where you only want to select a single vendor.
#. Lines: generally, you would always want to select *Use lines of agreement*, which are the
different product lines you can configure when you set up your purchase agreement. However, you
can select *Do not create RfQ lines automatically* if you don't want your requests for quotations
to be pre-filled in with that information.
#. Quantities: if you use lines of agreements, you can also specify independently if the products'
quantities should be used to pre-fill new requests for quotations. The default option for blanket
orders is *Set quantities manually*, while for calls for tenders are set to *Use quantities of
agreement*.
.. image:: agreements/agreements-configure-types.png
:align: center
:alt: Configure purchase agreements types in Odoo Purchase
Set up a blanket order
======================
Go to :menuselection:`Orders --> Purchase Agreements` and click on *Create*. Select *Blanket Order*
as your *Agreement Type*. Next, select the vendor. The other fields aren't mandatory.
Next, add the products you want to order and their price. Note that you can also add a *Quantity*
for each product, for example, if you have agreed with your vendor to order a specific minimum
quantity each time or in total. If you have configured your blanket order to *Set quantities
manually*, this is only used for informational purposes.
.. image:: agreements/agreements-set-blanket-order.png
:align: center
:alt: Set up a blanket order in Odoo Purchase
You can also write any *Terms and Conditions* at the bottom of the agreement. Once you are satisfied
with your blanket order, click on *Confirm*. Its status then changes from *Draft* to *Ongoing* and
it's ready to be used.
Create requests for quotation from the blanket order
----------------------------------------------------
You can now create new quotations from the blanket order whenever you need it by clicking on *New
Quotation*. Odoo automatically fills in requests for quotation with the information initially
defined when you set up the blanket order. Depending on the way you configured the *Purchase
Agreement Type*, product lines can also be pre-filled.
From here, you can quickly view all the requests for quotations made under that blanket order by
clicking on *RFQs/Orders*.
.. image:: agreements/agreements-ongoing-blanket-order.png
:align: center
:alt: Create new quotations for an ongoing blanket order in Odoo Purchase
.. tip::
You can also create a *Request for Quotation* the usual way and then link it to an existing
*Blanket Order*.
Blanket orders and replenishment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Blanket orders can be used for :doc:`automated replenishment <../../purchase/products/reordering>`,
as once a blanket order is confirmed, a new vendor line is added to your product. Make sure the
related vendor is in the first position if you have several vendors linked to your product.
.. image:: agreements/agreements-blanket-order-replenishment.png
:align: center
:alt: Blanket order added to product configuration in Odoo Purchase
Set up a call for tenders
=========================
Go to :menuselection:`Orders --> Purchase Agreements` and click on *Create*. Select *Call for
Tenders* as your *Agreement Type*. The other fields aren't mandatory, but you can add the date you
want to be delivered and set an agreement deadline. You usually don't want to select a vendor for
calls for tenders as you are looking to get quotations from multiple vendors.
Next, add the products you want to order and in what quantity. For calls for tenders, you typically
don't add a price, as the vendors should give you their best quote.
You can also write any *Terms and Conditions* at the bottom of the agreement. Once you are ready,
click on *Confirm*.
.. image:: agreements/agreements-set-call-for-tenders.png
:align: center
:alt: Set up a call for tenders in Odoo Purchase
Requests quotations from the call for tenders
---------------------------------------------
You can now request new quotations from the call for tenders. Click on *New Quotation* and select
one of your vendors you want to invite to the call for tenders. Product lines should also be
pre-filled in, depending on how you configured the *Purchase Agreement Type*. Click on *Send by
email* to send it to the vendor. Go back to the call for tenders and repeat this process for each
vendor.
.. image:: agreements/agreements-request-quotation.png
:align: center
:alt: Request a quotation from a call for tenders in Odoo Purchase
Once you have sent a request for quotation to every vendor and receiving their quotes, click on
*Validate* to proceed to the bid selection. Next, click on the RFQs/Orders smart button to view all
your vendors' quotations.
.. image:: agreements/agreements-validate-call-for-tenders.png
:align: center
:alt: Validate a call for tenders and view all quotations in Odoo Purchase
Click on each request for quotation to add the price communicated by your vendors manually. When
that's done, select the most advantageous offer and click on *Confirm Order*. This automatically
closes the call for tenders. You can now proceed with the purchase order as you would for a regular
one.
.. image:: agreements/agreements-confirm-order.png
:align: center
:alt: Confirm an order in Odoo Purchase

View File

@ -0,0 +1,204 @@
=============================================================
Use blanket orders to create purchase agreements with vendors
=============================================================
Blanket orders are long-term purchase agreements between a company and a vendor to deliver products
on a recurring basis with predetermined pricing. Using blanket orders are useful when products are
always purchased from the same vendor, but in different quantities at different times.
By simplifying the ordering process, blanket orders not only save time, they also save money, since
they can be advantageous when negotiating bulk pricing with vendors.
.. seealso::
:doc:`calls_for_tenders`
Create a new blanket order
==========================
To create blanket orders, the *Purchase Agreements* feature first needs to be enabled in the
settings of the *Purchase* app. To do this, go to :menuselection:`Purchase --> Configuration -->
Settings`, and under the :guilabel:`Orders` section, click the checkbox next to :guilabel:`Purchase
Agreements`. Doing so will enable the ability to create blanket orders, as well as alternative
requests for quotation (RFQs).
.. image:: blanket_orders/blanket-orders-settings-page.png
:align: center
:alt: Purchase Agreements enabled in the Purshase app settings.
To create a blanket order, go to :menuselection:`Purchase --> Orders --> blanket orders`, and click
:guilabel:`New`. This creates (and navigates to) a new blanket order form.
From this new blanket order form, different fields and settings can be configured, so there are
pre-determined rules that the recurring long-term agreement must follow:
- :guilabel:`Purchase Representative`: is the user assigned to this specific blanket order. By
default, this is the user who created the agreement; the user can be changed directly from the
drop-down menu next to this field.
- :guilabel:`Agreement Type`: is the type of purchase agreement this blanket order is classified
as. In Odoo, blanket orders are the only official purchase agreement.
- :guilabel:`Vendor`: is the supplier to whom this agreement is tied, either once or on a recurring
basis. The vendor can be selected directly from the drop-down menu next to this field.
- :guilabel:`Currency`: is the agreed-upon currency that will be used for this exchange. If multiple
currencies have been activated in the database, the currency can be changed from the drop-down
menu next to this field.
- :guilabel:`Agreement Deadline`: is the date that this purchase agreement will be set to expire on
(if desired). If this blanket order should not expire, leave this field blank.
- :guilabel:`Ordering Date`: is the date that this blanket order should be placed on if a new
quotation is created directly from the blanket order form. If a new quotation is created, this
value will automatically populate the *Order Deadline* field on the :abbr:`RFQ (Request for
Quotation)`.
- :guilabel:`Delivery Date`: is the expected delivery date that the products included in an
:abbr:`RFQ (Request for Quotation)` created directly from the blanket order form will be expected
to arrive. If a new quotation is created, this value will automatically populate the *Expected
Arrival* field on the :abbr:`RFQ (Request for Quotation)`.
- :guilabel:`Source Document`: is the source purchase order (PO) that this blanket order will be
tied to. If this blanket order should not be tied to any existing :abbr:`POs (Purchase Orders)`,
leave this field blank.
- :guilabel:`Company`: is the company assigned to this specific blanket order. By default, this is
the company that the user creating the blanket order is listed under. If the database is not a
multi-company database, this field can not be changed, and will default to the only company
listed in the database.
.. image:: blanket_orders/blanket-orders-new-agreement.png
:align: center
:alt: New blanket order purchase agreement with added products.
Once all relevant fields have been filled out, click :guilabel:`Add a line` to add products under
the :guilabel:`Product` column. Then, change the quantity of each product in the
:guilabel:`Quantity` column (if desired), and set a price in the :guilabel:`Unit Price` column.
.. important::
When adding products to a new blanket order, the pre-existing prices of products will not be
added automatically to the product lines. The prices must be manually assigned by changing the
value in the :guilabel:`Unit Price` column to an agreed-upon price with the listed vendor.
Otherwise, the price will remain **0**.
To view and change the default purchase agreement settings for blanket orders directly from the
blanket order form, click the :guilabel:`internal link (arrow icon)` next to the
:guilabel:`Agreement Type` field where :guilabel:`Blanket Order` is listed. This navigates to the
blanket order settings.
From here, the settings for blanket orders can be edited. Under the :guilabel:`Agreement Type`
section, the name of the :guilabel:`Agreement Type` can be changed (if desired), and the
:guilabel:`Agreement Selection Type` can be changed, as well. There are two options that can be
activated for the type of selection:
- :guilabel:`Select only one RFQ (exclusive)`: when a purchase order is confirmed, the remaining
purchase orders will be canceled.
- :guilabel:`Select multiple RFQ (non-exclusive)`: when a purchase order is confirmed, remaining
purchase orders will ***not** be canceled. Instead, multiple purchase orders are allowed.
Under the :guilabel:`Data For New Quotations` section, the settings for how product lines and
quantities will be populated on new quotations using this purchase agreeement can be changed next
to the :guilabel:`Lines` and :guilabel:`Quantities` fields.
.. image:: blanket_orders/blanket-orders-edit-agreement-type.png
:align: center
:alt: Purchase Agreement type edit screen for blanket orders.
There are two options that can be activated for :guilabel:`Lines`:
- :guilabel:`Use lines of agreement`: when creating a new quotation, the product lines will
pre-populate with the same products listed on the blanket order, if said blanket order is chosen
on the new quotation.
- :guilabel:`Do not create RfQ lines automatically`: when creating a new quotation and selecting
an existing blanket order, the settings will carry over to the new quotation, but the product
lines will not populate.
And, there are two options that can be activated for :guilabel:`Quantities`:
- :guilabel:`Use quantities of agreement`: when creating a new quotation, the product quantities
listed on the blanket order will pre-populate on the product lines, if said blanket order is
chosen on the new quotation.
- :guilabel:`Set quantities manually`: when creating a new quotation and selecting an existing
blanket order, the product lines will pre-populate, but all quantities will be set to **0**. The
quantities will need to be manually set by the user.
Once the desired changes have been made (if any), click :guilabel:`New` (via the breadcrumbs, at
the top of the page) to navigate back to the blanket order form, and click :guilabel:`Confirm` to
save this new purchase agreement. Once confirmed, the blanket order changes from *Draft* to
*Ongoing*, meaning this agreement can be selected and used when creating new :abbr:`RFQs (Requests
for Quotation)`.
.. tip::
After creating and confirming a blanket order, products, quantities, and prices can still be
edited, added, and removed from the purchase agreement.
Create a new :abbr:`RFQ (Request for Quotation)` from the blanket order
=======================================================================
After confirming a blanket order, new quotations can be created directly from the blanket order
form that will use the rules set on the form and pre-populate the new quotation with the correct
information. Additionally, this new quotation will be automatically linked to this blanket order
form via the :guilabel:`RFQs/Orders` smart button at the top right of the form.
To create a new quotation from the blanket order form, click :guilabel:`New Quotation`. This
creates (and navigates to) a new :abbr:`RFQ (Request for Quotation)`, that is pre-populated with
the correct information, depending on the settings configured on the blanket order form.
From the new :abbr:`RFQ (Request for Quotation)` form, click :guilabel:`Send by Email` to compose
and send an email to the listed vendor; click :guilabel:`Print RFQ` to generate a printable PDF of
the quotation; or, once ready, click :guilabel:`Confirm Order` to confirm the purchase order (PO).
.. image:: blanket_orders/blanket-orders-new-quotation.png
:align: center
:alt: New quotation with copied products and rules from blanket order.
Once the :abbr:`PO (Purchase Order)` has been confirmed, click back to the blanket order form (via
the breadcrumbs, at the top of the page). From the blanket order form, there is now one :abbr:`RFQ
(Request for Quotation)` listed in the :guilabel:`RFQs/Orders` smart button at the top right of the
form. Click the :guilabel:`RFQs/Orders` smart button to see the purchase order that was just created.
.. image:: blanket_orders/blanket-orders-rfq-smart-button.png
:align: center
:alt: RFQs and Orders smart button from blanket order form.
Create a new blanket order from an :abbr:`RFQ (Request for Quotation)`
======================================================================
To create a new :abbr:`RFQ (Request for Quotation)`, navigate to the :menuselection:`Purchase` app,
and click :guilabel:`New`.
Then, add information to the :abbr:`RFQ (Request for Quotation)` form: add a vendor from the
drop-down menu next to the :guilabel:`Vendor` field, and click :guilabel:`Add a product` to select
a product from the drop-down menu in the :guilabel:`Product` column. Then, set the desired purchase
quantity in the :guilabel:`Quantity` column, and change the purchase price in the :guilabel:`Unit
Price` column, if desired.
Clicking the :guilabel:`additional options (two-dots)` icon provides additional visibility options
to add to the line item. Repeat these steps to add as many additional options as desired, including
the :guilabel:`UoM` (Units of Measure) to purchase the products in, and the :guilabel:`Expected
Arrival` date.
Before confirming the new quotation and creating a purchase order, click the drop-down menu next to
the :guilabel:`Blanket Order` field, and type a new name for the new blanket order. This creates a
brand new purchase agreement, and saves the information entered in the fields of the purchase order
form, as well as the product information entered on the product lines.
From the new :abbr:`RFQ (Request for Quotation)` form, click :guilabel:`Send by Email` to compose
and send an email to the listed vendor; click :guilabel:`Print RFQ` to generate a printable PDF of
the quotation; or, once ready, click :guilabel:`Confirm Order` to confirm the :abbr:`PO (purchase
order)`.
.. image:: blanket_orders/blanket-orders-new-blanket-order.png
:align: center
:alt: New blanket order created directly from quotation.
.. note::
To see the newly-created blanket order purchase agreement, go to :menuselection:`Orders -->
Blanket Orders`, and click into the new blanket order. From here, settings and rules can be
changed, if desired.
Blanket orders and replenishment
================================
Once a blanket order is confirmed, a new vendor line is added under the :guilabel:`Purchase` tab of
of the products included in the :abbr:`BO (Blanket Order)`. This makes blanket orders useful with
:doc:`automated replenishment <../../purchase/products/reordering>`, because information about the
:guilabel:`Vendor`, :guilabel:`Price`, and the :guilabel:`Agreement` are referenced on the vendor
line. This information is used to determine where, when, and for what price this product could be
replenished.
.. image:: blanket_orders/blanket-orders-automated-replenishment.png
:align: center
:alt: Product form with replenishment agreement linked to blanket order.

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,267 @@
==============================================================
Create alternative requests for quotation for multiple vendors
==============================================================
Sometimes, companies might want to request offers from multiple vendors at the same time, by
inviting those vendors to submit offers for similar goods or services all at once. This helps
companies to select the cheapest (and fastest) vendors, depending on their specific business needs.
In Odoo, this can be done by adding alternative requests for quotation (RFQs) for different
vendors. Once a response is received from each vendor, the product lines from each :abbr:`RFQ
(Request for Quotation)` can be compared, and a decision can be made for which products to purchase
from which vendors.
Sometimes referred to as a *call for tender*, this process is primarily used by organizations in
the public sector, who are legally bound to use it when making a purchase. However, private
companies can also use alternative :abbr:`RFQs (Requests for Quotation)` to spend money efficiently,
as well.
.. seealso::
:doc:`blanket_orders`
Configure purchase agreement settings
=====================================
To create alternative :abbr:`RFQs (Requests for Quotation)` directly from a quotation, the *Purchase
Agreements* feature first needs to be enabled in the settings of the *Purchase* app. To do this, go
to :menuselection:`Purchase --> Configuration --> Settings`, and under the :guilabel:`Orders`
section, click the checkbox next to :guilabel:`Purchase Agreements`. Doing so will enable the
ability to create alternative :abbr:`RFQs (Requests for Quotation)`, as well as the ability to
create *blanket orders*.
.. image:: calls_for_tenders/calls-for-tenders-settings-page.png
:align: center
:alt: Purchase Agreements enabled in the Purchase app settings.
.. tip::
To save time on a *call for tender*, custom vendors, prices, and delivery lead times can be set
in the :guilabel:`Purchase` tab on a product form. To do so, navigate to
:menuselection:`Purchase --> Products --> Products`, and select a product to edit. From the
product form, click the :guilabel:`Purchase tab`, then click :guilabel:`Add a line`. From the
drop-down menu, choose a vendor to set under the :guilabel:`Vendor` column, and set a
:guilabel:`Price` and :guilabel:`Delivery Lead Time` if desired. Clicking the
:guilabel:`additional options (two-dots)` icon provides additional visibility options to add to
the line item.
Create an :abbr:`RFQ (Request for Quotation)`
=============================================
To create a new :abbr:`RFQ (Request for Quotation)`, navigate to the :menuselection:`Purchase` app,
and click :guilabel:`New`.
Then, add information to the :abbr:`RFQ (Request for Quotation)` form: add a vendor from the
drop-down next to the :guilabel:`Vendor` field, and click :guilabel:`Add a product` to select a
product from the drop-down menu in the :guilabel:`Product` column. Then, set the desired purchase
quantity in the :guilabel:`Quantity` column, and change the purchase price in the :guilabel:`Unit
Price` column, if desired.
Clicking the :guilabel:`additional options (two-dots)` icon provides additional visibility options
to add to the line item. Repeat these steps to add as many options as desired, including the
:guilabel:`UoM` (Units of Measure) to purchase the products in, and the :guilabel:`Expected Arrival`
date.
Once ready, click :guilabel:`Send by Email`. This causes a :guilabel:`Compose Email` pop-up window
to appear, wherein the message to the vendor can be customized. Once ready, click :guilabel:`Send`.
This turns the :abbr:`RFQ (Request for Quotation)` into a purchase order (PO), and sends an email
to the vendor listed on the purchase order form.
.. image:: calls_for_tenders/calls-for-tenders-email-popup.png
:align: center
:alt: Compose and send quotation email pop-up.
.. note::
Sending emails to each vendor can be useful when creating alternative
:abbr:`RFQs (Requests for Quotation)`, because vendors can confirm if their past prices still
hold today, which can help companies choose the best offers for them.
Create alternatives to an :abbr:`RFQ (Request for Quotation)`
=============================================================
Once a :abbr:`PO (Purchase Order)` is created and sent by email to a vendor, alternative :abbr:`RFQs
(Requests for Quotation)` can be created and sent to additional, alternate vendors to compare
prices, delivery times, and other factors to make a decision from which vendors to order which
products.
To create alternative :abbr:`RFQs (Requests for Quotation)`, click the :guilabel:`Alternatives` tab
from the purchase order form, then click :guilabel:`Create Alternative`. When clicked, a
:guilabel:`Create alternative` pop-up window appears.
.. image:: calls_for_tenders/calls-for-tenders-alternatives-popup.png
:align: center
:alt: Calls for tenders pop-up to create alternative quotation.
From this window, select a new/different vendor from the drop-down menu next to the
:guilabel:`Vendor` field to assign this alternative quotation to.
Next to this, there is a :guilabel:`Copy Products` checkbox that is selected by default. When
selected, the product quantities of the original :abbr:`PO (Purchase Order)` are copied to the
alternative. For this first alternative quotation, leave the checkbox checked. Once finished, click
:guilabel:`Create Alternative`. This creates (and navigates to) a new :abbr:`PO (Purchase Order)`.
Since the :guilabel:`Create Alternative` checkbox was left checked, this new purchase order form is
already populated with the same products, quantities, and other details as the previous, original
:abbr:`PO (Purchase Order)`.
.. note::
When the :guilabel:`Copy Products` checkbox is selected while creating an alternative quotation,
additional products do not need to be added on the purchase order form unless desired. However,
if a chosen vendor is listed in the :guilabel:`Vendor` column under the :guilabel:`Purchase` tab
on a product form included in the purchase order, the values set on the product form carry over
to the :abbr:`PO (Purchase Order)`, and have to be changed manually, if desired.
Once ready, create a second alternative quotation by clicking the :guilabel:`Alternatives` tab, and
once again, click :guilabel:`Create Alternative`. This causes the :guilabel:`Create alternative`
pop-up window to appear again. This time, choose a different vendor from the drop-down menu next to
:guilabel:`Vendor`, and this time, *uncheck* the :guilabel:`Copy Products` checkbox. Then, click
:guilabel:`Create Alternative`.
.. tip::
If an alternative quotation needs to be removed from the :guilabel:`Alternatives` tab, they can
be individually removed by clicking on the :guilabel:`Remove (X)` icon at the end of their row.
This creates a third, new purchase order. But, since the product quantities of the original
:abbr:`PO (Purchase Order)` were *not* copied over, the product lines are empty, and new products
need to be added by clicking :guilabel:`Add a product`, and selecting the desired products from the
drop-down menu. Once the desired number of products are added, click :guilabel:`Send by Email`.
.. image:: calls_for_tenders/calls-for-tenders-blank-alternative.png
:align: center
:alt: Blank alternative quotation with alternatives in breadcrumbs.
This causes a :guilabel:`Compose Email` pop-up window to appear, wherein the message to the vendor
can be customized. Once ready, click :guilabel:`Send` to send an email to the vendor listed on the
purchase order form.
From this newest purchase order form, click the :guilabel:`Alternatives` tab. Under this tab, all
three purchase orders can be seen in the :guilabel:`Reference` column. Additionally, the vendors
are listed under the :guilabel:`Vendor` column, and the order :guilabel:`Total` and
:guilabel:`Status` of the orders are in the rows, as well.
Link a new :abbr:`RFQ (Request for Quotation)` to existing quotations
=====================================================================
Creating alternative quotations directly from a purchase order form under the
:guilabel:`Alternatives` tab is the easiest way to create and link quotations. However, separate
:abbr:`RFQs (Requests for Quotation)` can also be linked *after* the fact, even if they are created
completely separately at first.
To create a new :abbr:`RFQ (Request for Quotation)`, navigate to the :menuselection:`Purchase` app,
and click :guilabel:`New`.
Then, add information to the :abbr:`RFQ (Request for Quotation)` form: add a vendor from the
drop-down next to the :guilabel:`Vendor` field, and click :guilabel:`Add a product` to select a
product from the drop-down menu in the :guilabel:`Product` column. Then, set the desired purchase
quantity in the :guilabel:`Quantity` column, and change the purchase price in the
:guilabel:`Unit Price` column, if desired.
Once ready, click :guilabel:`Send by Email`. This causes a :guilabel:`Compose Email` pop-up window
to appear, wherein the message to the vendor can be customized. Once ready, click :guilabel:`Send`
to send an email to the vendor listed on the purchase order form.
Then, click the :guilabel:`Alternatives` tab once more. Since this new :abbr:`PO (Purchase Order)`
was created separately, there are no other orders linked yet. To link this order with the
alternatives created previously, click :guilabel:`Link to Existing RfQ` on the first line in the
:guilabel:`Vendor` column.
.. image:: calls_for_tenders/calls-for-tenders-link-existing-rfq.png
:align: center
:alt: pop-up to link new quotation to existing RFQs.
This causes an :guilabel:`Add: Alternative POs` pop-up window to appear. Select the three purchase
orders created previously, and click :guilabel:`Select`. All of these orders are now copied to this
:abbr:`PO (Purchase Order)` under the :guilabel:`Alternatives` tab.
.. tip::
If a large number of purchase orders are being processed and the previous
:abbr:`POs (Purchase Orders)` can't be located, try clicking :menuselection:`Group By -->
Vendor` under the search bar at the top of the pop-up window to group by the vendors selected on
the previous orders.
Compare product lines
=====================
When there are multiple :abbr:`RFQs (Requests for Quotation)` linked as alternatives, they can be
compared side-by-side in order to determine which vendors offer the best deals on which products.
To compare each quotation, go to the :menuselection:`Purchase` app, and select one of the
quotations created previously.
Then, click the :guilabel:`Alternatives` tab to see all the linked
:abbr:`RFQs (Requests for Quotation)`. Next, under the :guilabel:`Create Alternative` tab, click
:guilabel:`Compare Product Lines`. This navigates to a Compare Order Lines page.
.. image:: calls_for_tenders/calls-for-tenders-compare-product-lines.png
:align: center
:alt: Compare Product Lines page for alternative RFQs.
The Compare Order Lines page, by default, groups by :guilabel:`Product`. Each product included in
any of the :abbr:`RFQs (Requests for Quotation)` is displayed in its own drop-down, along with all
of the :abbr:`PO (Purchase Order)` numbers in the :guilabel:`Reference` column.
Additional columns on this page include the :guilabel:`Vendor` from which products were ordered,
the :guilabel:`Status` of the quotation (i.e., RFQ, RFQ Sent); the :guilabel:`Quantity` of products
ordered from each vendor; the :guilabel:`Unit Price` per product and :guilabel:`Total` price of the
order, and more.
.. note::
To remove product lines from the Compare Order Lines page, click :guilabel:`Clear` at the far
right end of that product line's row. This removes this product as a chooseable option from the
page, and changes the :guilabel:`Total` price of that product on the page to **0**. On the
purchase order form in which that product was included, its ordered quantity is changed to
**0**, as well.
Once the best offers have been identified, at the end of each row, individual products can be
selected by clicking :guilabel:`Choose`. Once all the desired products have been chosen, click
:guilabel:`Requests for Quotation` (in the breadcrumbs, at the top of the page) to navigate back to
an overview of all :abbr:`RFQs (Requests for Quotation)`.
Cancel (or keep) alternatives
=============================
Now that the desired products have been chosen, based on which vendors provided the best offer, the
other :abbr:`RFQs (Requests for Quotation)` (from which no products were chosen) can be canceled.
Under the :guilabel:`Total` column, at the far right of each row, the orders from which no products
were chosen have automatically had their total cost set to **0**. Although they haven't been
canceled yet, this means that they can ultimately be canceled without repercussions, *after* the
desired purchase orders have been confirmed.
.. image:: calls_for_tenders/calls-for-tenders-canceled-quotes.png
:align: center
:alt: Canceled quotations in the Purchase app overview.
To confirm a quotation that contains the chosen product quantities, click into one. Then, click
:guilabel:`Confirm Order`. This causes an :guilabel:`Alternative Warning` pop-up window to appear.
From there, either :guilabel:`Cancel Alternatives` or :guilabel:`Keep Alternatives` can be clicked.
If this :abbr:`PO (Purchase Order)` should *not* be confirmed, click :guilabel:`Cancel`.
:guilabel:`Cancel Alternatives` automatically cancels the alternative purchase orders.
:guilabel:`Keep Alternatives` keeps the alternative purchase orders open, so they can still be
accessed if any additional product quantities need to be ordered. Once all products are ordered,
:guilabel:`Cancel Alternatives` can be selected from whichever :abbr:`PO (Purchase Order)` is open.
To view a detailed form of one of the :abbr:`RFQs (Requests for Quotation)` listed, click the line
item for that quotation. This causes an :guilabel:`Open: Alternative POs` pop-up window to appear,
from which all details of that particular quotation can be viewed. Click :guilabel:`Close` when
finished.
.. image:: calls_for_tenders/calls-for-tenders-keep-cancel-alternatives.png
:align: center
:alt: Keep or cancel pop-up for alternative RFQs.
From the :guilabel:`Alternative Warning` pop-up window, click :guilabel:`Keep Alternatives` to keep
all alternative quotations open for now. Then, click :guilabel:`Requests for Quotation` (in the
breadcrumbs, at the top of the page) to navigate back to an overview of all :abbr:`RFQs (Requests
for Quotation)`.
Click into the remaining quotation(s) that contain products that need to be ordered, and click
:guilabel:`Confirm Order`. This causes the :guilabel:`Alternative Warning` pop-up window to appear
again. This time, click :guilabel:`Cancel Alternatives` to cancel all other alternative :abbr:`RFQs`
linked with this quotation.
Finally, click :guilabel:`Requests for Quotation` (in the breadcrumbs, at the top of the page) to
navigate back to an overview of all :abbr:`RFQs (Requests for Quotation)`. The canceled orders can
be seen greyed out and listed with a :guilabel:`Cancelled` status under the :guilabel:`Status`
column at the far right of their rows.
Now that all product quantities have been ordered, the purchase process can be followed, and
continued to completion, until the products are received into the warehouse.

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -56,6 +56,9 @@ developer/howtos/discover_js_framework/04_miscellaneous.rst developer/tutorials/
developer/howtos/discover_js_framework/05_custom_kanban_view.rst developer/tutorials/discover_js_framework/05_custom_kanban_view.rst # reorganize the developer doc
developer/howtos/discover_js_framework/06_creating_view_from_scratch.rst developer/tutorials/discover_js_framework/06_creating_view_from_scratch.rst # reorganize the developer doc
developer/howtos/discover_js_framework/07_testing.rst developer/tutorials/discover_js_framework/07_testing.rst # reorganize the developer doc
# applications/purchase
applications/inventory_and_mrp/purchase/manage_deals/agreements.rst applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst # agreements.rst -> blanket_orders.rst
# developer/reference/frontend