[IMP] Purchase: remove blanket order field

closes odoo/documentation#15419

X-original-commit: 5f0e42ab6a
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
This commit is contained in:
jero-odoo
2025-11-19 18:39:19 +00:00
parent 1c88f67c97
commit a85e6ebf18
8 changed files with 21 additions and 74 deletions

View File

@@ -32,42 +32,36 @@ Navigate to :menuselection:`Purchase app --> Configuration --> Settings`, and un
create alternative requests for quotation (RfQs). create alternative requests for quotation (RfQs).
.. image:: blanket_orders/blanket-orders-enabled-setting.png .. image:: blanket_orders/blanket-orders-enabled-setting.png
:align: center
:alt: Purchase Agreements enabled in the Purchase app settings. :alt: Purchase Agreements enabled in the Purchase app settings.
To create a blanket order, go to :menuselection:`Purchase app --> Orders --> Blanket Orders`, and To create a blanket order, go to :menuselection:`Purchase app --> Orders --> Purchase Agreements`,
click :guilabel:`New`. This opens a new blanket order form. and click :guilabel:`New`. This opens a new purchase agreement form.
Configure the following fields in the new blanket order form to establish predetermined rules for Configure the following fields in the new purchase agreement form to establish predetermined rules
the recurring long-term agreement: for the recurring long-term agreement:
- :guilabel:`Purchase Representative`: 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`: the type of purchase agreement this blanket order is classified as. In
Odoo, blanket orders are the only official purchase agreement.
- :guilabel:`Vendor`: the supplier to whom this agreement is tied, either once or on a recurring - :guilabel:`Vendor`: 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. basis. The vendor can be selected directly from the drop-down menu next to this field.
- :guilabel:`Buyer`: 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`: the type of purchase agreement this blanket order is classified as.
Use the drop-down menu to choose :guilabel:`Blanket Order` if not already selected.
- :guilabel:`Currency`: the agreed-upon currency to be used for this exchange. If multiple - :guilabel:`Currency`: the agreed-upon currency to be used for this exchange. If multiple
currencies have been activated in the database, the currency can be changed from the drop-down currencies have been activated in the database, the currency can be changed from the drop-down
menu next to this field. menu next to this field.
- :guilabel:`Agreement Deadline`: the date that this purchase agreement will be set to expire on. If - :guilabel:`Agreement Validity`: the date range this agreement should be valid for. If this blanket
this blanket order should not expire, leave this field blank. order should not expire, leave this field blank.
- :guilabel:`Ordering Date`: the date that this blanket order should be placed on if a new quotation - :guilabel:`Reference`: the source purchase order (PO) that this blanket order is tied to. If this
is created directly from the blanket order form. If a new quotation is created, this value blanket order should not be tied to any existing |PO|, leave this field blank.
automatically populates the *Order Deadline* field on the |RfQ|. - :guilabel:`Operation Type`: the operation type that should be applied to this order once it is
- :guilabel:`Delivery Date`: the expected delivery date that the products included in an |RfQ| are delivered.
expected, if created directly from a blanket order form. If a new quotation is created, this value
automatically populates the *Expected Arrival* field on the |RfQ|.
- :guilabel:`Source Document`: the source purchase order (PO) that this blanket order is tied to. If
this blanket order should not be tied to any existing |PO|, leave this field blank.
- :guilabel:`Company`: the company assigned to this specific blanket order. By default, this is the - :guilabel:`Company`: 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 company that the user creating the blanket order is listed under. If the database is not a
multi-company database, this field **cannot** be changed, and defaults to the only company listed multi-company database, this field **cannot** be changed, and defaults to the only company listed
in the database. in the database.
.. image:: blanket_orders/blanket-orders-new-agreement.png .. image:: blanket_orders/blanket-orders-new-agreement.png
:align: center
:alt: New blanket order purchase agreement with added products. :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 Once all relevant fields have been filled out, click :guilabel:`Add a line` to add products under
@@ -80,57 +74,10 @@ each product, and set a price in the :guilabel:`Unit Price` column.
changing the value in the :guilabel:`Unit Price` column to an agreed-upon price with the listed changing the value in the :guilabel:`Unit Price` column to an agreed-upon price with the listed
vendor. Otherwise, the price will remain `0`. vendor. Otherwise, the price will remain `0`.
To view and change the default purchase agreement settings for blanket orders directly from the Click :guilabel:`Confirm` to save this new purchase agreement.
blanket order form, click the :guilabel:`➡️ (right arrow)` icon that becomes visible when hovering
over the :guilabel:`Agreement Type` field, where :guilabel:`Blanket Order` is listed. This navigates
to the blanket order settings.
.. image:: blanket_orders/blanket-orders-internal-link-arrow.png Once confirmed, the blanket order's stage changes from :guilabel:`Draft` to :guilabel:`Confirmed`,
:align: center meaning this agreement can be selected and used when creating new |RfQs|.
:alt: Internal link arrow next to Agreement Type field on blanket order form.
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, 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 are cancelled.
- :guilabel:`Select multiple RfQ (non-exclusive)`: when a purchase order is confirmed, remaining
purchase orders are **not** cancelled. Instead, multiple purchase orders are allowed.
Under the :guilabel:`Data For New Quotations` section, the :guilabel:`Lines` and
:guilabel:`Quantities` fields can be edited. Doing so sets how new quotations should be populated
when using this purchase agreement.
.. 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 pre-populate
with the same products listed on the blanket order, if said blanket order is chosen for the new
quotation.
- :guilabel:`Do not create RfQ lines automatically`: when creating a new quotation, **and**
selecting an existing blanket order, the settings carry over to the new quotation, but the product
lines do **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 pre-populate on the product lines, if said blanket order is chosen for
the new quotation.
- :guilabel:`Set quantities manually`: when creating a new quotation, **and** selecting an existing
blanket order, the product lines pre-populate, but all quantities are set to `0`. The quantities
**must** be manually set by the user.
Once any desired changes have been made, click :guilabel:`New` (via the breadcrumbs, at the top of
the page) to navigate back to the blanket order form. Then, click :guilabel:`Confirm` to save this
new purchase agreement.
Once confirmed, the blanket order's stage (in the upper-right corner) changes from :guilabel:`Draft`
to :guilabel:`Ongoing`, meaning this agreement can be selected and used when creating new |RfQs|.
.. tip:: .. tip::
After creating and confirming a blanket order, products, quantities, and prices can still be After creating and confirming a blanket order, products, quantities, and prices can still be
@@ -141,6 +88,9 @@ Create a new |RfQ| from the blanket order
After confirming a blanket order, new quotations can be created directly from the blanket order After confirming a blanket order, new quotations can be created directly from the blanket order
form. |RfQs| using this form are pre-populated with information based on the rules set in the form. form. |RfQs| using this form are pre-populated with information based on the rules set in the form.
The total quantities of products ordered through linked |RfQs| are automatically updated in the
:guilabel:`Ordered` field on the agreement.
Additionally, new quotations are automatically linked to this blanket order form, via the Additionally, new quotations are automatically linked to this blanket order form, via the
:guilabel:`RFQs/Orders` smart button at the top-right of the form. :guilabel:`RFQs/Orders` smart button at the top-right of the form.
@@ -153,7 +103,6 @@ vendor. Click :guilabel:`Print RFQ` to generate a printable PDF of the quotation
click :guilabel:`Confirm Order` to confirm the |PO|. click :guilabel:`Confirm Order` to confirm the |PO|.
.. image:: blanket_orders/blanket-orders-new-quotation.png .. image:: blanket_orders/blanket-orders-new-quotation.png
:align: center
:alt: New quotation with copied products and rules from blanket order. :alt: New quotation with copied products and rules from blanket order.
Once the |PO| has been confirmed, click back to the blanket order form (via the breadcrumbs, at the Once the |PO| has been confirmed, click back to the blanket order form (via the breadcrumbs, at the
@@ -162,7 +111,6 @@ top of the page). From the blanket order form, there is now one |RfQ| listed in
smart button to see the |PO| that was just created. smart button to see the |PO| that was just created.
.. image:: blanket_orders/blanket-orders-rfq-smart-button.png .. image:: blanket_orders/blanket-orders-rfq-smart-button.png
:align: center
:alt: RFQs and Orders smart button from blanket order form. :alt: RFQs and Orders smart button from blanket order form.
Replenishment Replenishment
@@ -177,7 +125,6 @@ This makes blanket orders useful with :doc:`automated replenishment
dictates when, where, and at what price the product should be replenished. dictates when, where, and at what price the product should be replenished.
.. image:: blanket_orders/blanket-orders-product-form.png .. image:: blanket_orders/blanket-orders-product-form.png
:align: center
:alt: Product form with replenishment agreement linked to blanket order. :alt: Product form with replenishment agreement linked to blanket order.
.. seealso:: .. seealso::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB