Skip to content

Commit

Permalink
Merge pull request #1843 from OCA/16.0
Browse files Browse the repository at this point in the history
Syncing from upstream OCA/sale-workflow (16.0)
  • Loading branch information
bt-admin authored Jan 22, 2024
2 parents e9e7f24 + b1ecaf6 commit 4fc2280
Show file tree
Hide file tree
Showing 150 changed files with 13,729 additions and 187 deletions.
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ addon | version | maintainers | summary
[sale_automatic_workflow](sale_automatic_workflow/) | 16.0.1.0.2 | | Sale Automatic Workflow
[sale_automatic_workflow_job](sale_automatic_workflow_job/) | 16.0.1.0.0 | | Execute sale automatic workflows in queue jobs
[sale_automatic_workflow_payment_mode](sale_automatic_workflow_payment_mode/) | 16.0.1.0.0 | | Sale Automatic Workflow - Payment Mode
[sale_blanket_order](sale_blanket_order/) | 16.0.1.0.0 | | Blanket Orders
[sale_cancel_reason](sale_cancel_reason/) | 16.0.1.0.1 | | Sale Cancel Reason
[sale_commercial_partner](sale_commercial_partner/) | 16.0.1.0.1 | [![alexis-via](https://github.com/alexis-via.png?size=30px)](https://github.com/alexis-via) | Add stored related field 'Commercial Entity' on sale orders
[sale_company_currency](sale_company_currency/) | 16.0.1.0.0 | | Company Currency in Sale Orders
Expand All @@ -53,21 +54,23 @@ addon | version | maintainers | summary
[sale_order_invoice_amount](sale_order_invoice_amount/) | 16.0.1.0.0 | | Display the invoiced and uninvoiced total in the sale order
[sale_order_invoicing_finished_task](sale_order_invoicing_finished_task/) | 16.0.1.0.1 | | Control invoice order lines if their related task has been set to invoiceable
[sale_order_invoicing_picking_filter](sale_order_invoicing_picking_filter/) | 16.0.1.0.0 | | Create invoices from sale orders based on the products in pickings.
[sale_order_line_date](sale_order_line_date/) | 16.0.1.0.0 | | Adds a commitment date to each sale order line.
[sale_order_line_date](sale_order_line_date/) | 16.0.1.1.0 | | Adds a commitment date to each sale order line.
[sale_order_line_delivery_state](sale_order_line_delivery_state/) | 16.0.1.0.0 | | Show the delivery state on the sale order line
[sale_order_line_field_from_product_attribute](sale_order_line_field_from_product_attribute/) | 16.0.1.0.0 | | Store Attribute value sis Sales Order line fields
[sale_order_line_input](sale_order_line_input/) | 16.0.1.0.0 | | Search, create or modify directly sale order lines
[sale_order_line_menu](sale_order_line_menu/) | 16.0.1.3.1 | | Adds a Sale Order Lines Menu
[sale_order_line_price_history](sale_order_line_price_history/) | 16.0.1.0.0 | | Sale order line price history
[sale_order_line_price_history](sale_order_line_price_history/) | 16.0.1.1.0 | [![ernestotejeda](https://github.com/ernestotejeda.png?size=30px)](https://github.com/ernestotejeda) [![CarlosRoca13](https://github.com/CarlosRoca13.png?size=30px)](https://github.com/CarlosRoca13) [![Shide](https://github.com/Shide.png?size=30px)](https://github.com/Shide) | Sale order line price history
[sale_order_line_sequence](sale_order_line_sequence/) | 16.0.2.0.0 | | Propagates SO line sequence to invoices and stock picking.
[sale_order_line_tag](sale_order_line_tag/) | 16.0.1.0.0 | [![smaciaosi](https://github.com/smaciaosi.png?size=30px)](https://github.com/smaciaosi) [![dreispt](https://github.com/dreispt.png?size=30px)](https://github.com/dreispt) [![ckolobow](https://github.com/ckolobow.png?size=30px)](https://github.com/ckolobow) | Add tags to classify sales order line reasons
[sale_order_lot_generator](sale_order_lot_generator/) | 16.0.1.0.0 | [![florian-dacosta](https://github.com/florian-dacosta.png?size=30px)](https://github.com/florian-dacosta) [![mourad-ehm](https://github.com/mourad-ehm.png?size=30px)](https://github.com/mourad-ehm) [![bealdav](https://github.com/bealdav.png?size=30px)](https://github.com/bealdav) | Sale Order Lot Generator
[sale_order_lot_selection](sale_order_lot_selection/) | 16.0.1.0.1 | [![bodedra](https://github.com/bodedra.png?size=30px)](https://github.com/bodedra) | Sale Order Lot Selection
[sale_order_price_recalculation](sale_order_price_recalculation/) | 16.0.1.0.0 | | Recalculate prices / Reset descriptions on sale order lines
[sale_order_product_availability_inline](sale_order_product_availability_inline/) | 16.0.1.0.0 | [![ernestotejeda](https://github.com/ernestotejeda.png?size=30px)](https://github.com/ernestotejeda) | Show product availability in sales order line product drop-down.
[sale_order_product_picker](sale_order_product_picker/) | 16.0.1.1.1 | | Sale Order Product Picker
[sale_order_product_recommendation](sale_order_product_recommendation/) | 16.0.1.3.1 | [![sergio-teruel](https://github.com/sergio-teruel.png?size=30px)](https://github.com/sergio-teruel) [![rafaelbn](https://github.com/rafaelbn.png?size=30px)](https://github.com/rafaelbn) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Recommend products to sell to customer based on history
[sale_order_product_recommendation](sale_order_product_recommendation/) | 16.0.1.4.0 | [![sergio-teruel](https://github.com/sergio-teruel.png?size=30px)](https://github.com/sergio-teruel) [![rafaelbn](https://github.com/rafaelbn.png?size=30px)](https://github.com/rafaelbn) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Recommend products to sell to customer based on history
[sale_order_product_recommendation_elaboration](sale_order_product_recommendation_elaboration/) | 16.0.1.0.2 | [![rafaelbn](https://github.com/rafaelbn.png?size=30px)](https://github.com/rafaelbn) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Include elaborations when generating or accepting sale order product recommendations
[sale_order_product_recommendation_packaging_default](sale_order_product_recommendation_packaging_default/) | 16.0.2.1.1 | [![rafaelbn](https://github.com/rafaelbn.png?size=30px)](https://github.com/rafaelbn) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Quickly add recommended products to sale order by packagings
[sale_order_product_recommendation_quick_add](sale_order_product_recommendation_quick_add/) | 16.0.1.0.0 | | Add recommended products to sale order in a single click
[sale_order_qty_change_no_recompute](sale_order_qty_change_no_recompute/) | 16.0.1.0.0 | [![victoralmau](https://github.com/victoralmau.png?size=30px)](https://github.com/victoralmau) | Prevent recompute if only quantity has changed in sale order line
[sale_order_revision](sale_order_revision/) | 16.0.1.0.1 | | Keep track of revised quotations
[sale_order_type](sale_order_type/) | 16.0.1.1.0 | | Sale Order Type
Expand All @@ -77,6 +80,8 @@ addon | version | maintainers | summary
[sale_partner_selectable_option](sale_partner_selectable_option/) | 16.0.1.0.0 | [![victoralmau](https://github.com/victoralmau.png?size=30px)](https://github.com/victoralmau) | Sale Partner Selectable Option
[sale_payment_sheet](sale_payment_sheet/) | 16.0.1.0.1 | [![sergio-teruel](https://github.com/sergio-teruel.png?size=30px)](https://github.com/sergio-teruel) | Allow to create invoice payments to commercial users without accounting permissions
[sale_pricelist_from_commitment_date](sale_pricelist_from_commitment_date/) | 16.0.1.0.0 | | Use sale order commitment date to compute line price from pricelist
[sale_pricelist_technical](sale_pricelist_technical/) | 16.0.1.0.1 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Prevent some pricelists from being selected on order and customer forms
[sale_procurement_customer](sale_procurement_customer/) | 16.0.1.0.0 | | Allows to transmit the customer to the procurement group
[sale_procurement_group_by_line](sale_procurement_group_by_line/) | 16.0.1.0.0 | | Base module for multiple procurement group by Sale order
[sale_product_category_menu](sale_product_category_menu/) | 16.0.1.0.0 | | Shows 'Product Categories' menu item in Sales
[sale_product_multi_add](sale_product_multi_add/) | 16.0.1.0.0 | | Sale Product Multi Add
Expand Down
148 changes: 148 additions & 0 deletions sale_blanket_order/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
===================
Sale Blanket Orders
===================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:ccbeac2c26d7658d8283b70cce70cd45752f1c2207f3bf45370716a8072e14fd
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/16.0/sale_blanket_order
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-16-0/sale-workflow-16-0-sale_blanket_order
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

A blanket order is a pre-agreement to sell a certain number of quantities of
products at a specific price. From a confirmed blanket order, the users can
create new sale orders at such price, until the blanket order expires, either
due to reaching the validity date or exhausting all the quantities of products.

**Table of contents**

.. contents::
:local:

Usage
=====

A new menu in the Sales area is created, allowing users to create new blanket orders.

To create a new Sale Blanket Order go to the sale menu in the Sales section:

.. figure:: https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_menu.png
:alt: Blanket Orders menu

Hitting the button create will open the form view in which we can introduce the following
information:

* Vendor
* Salesperson
* Payment Terms
* Validity date
* Order lines:
* Product
* Accorded price
* Original, Ordered, Invoiced, Received and Remaining quantities
* Terms and Conditions of the Blanket Order

.. figure:: https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_form.png
:alt: Blanket Orders form

From the form, once the Blanket Order has been confirmed and its state is open, the user can
create a Sale Order, check the Sale Orders associated to the Blanket Order and/or
see the Blanket Order lines associated to the BO.

.. figure:: https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_actions.png
:alt: Actions that can be done from Blanket Order

Hitting the button Create Sale Order will open a wizard that will ask for the amount of each
product in the BO lines for which the Sale Order will be created.

.. figure:: https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/PO_from_BO.png
:alt: Create Sale Order from Blanket Order

Installing this module will add an additional menu which will show all the blanket order lines
currently defined in the system. From this list the user can create customized Sale Orders
selecting the lines for which the PO (or POs if the customers are different) is (are) created.

.. figure:: https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_lines.png
:alt: Blanket Order lines and actions

In the Sale Order form one field is added in the PO lines, the Blanket Order line field. This
field keeps track to which Blanket Order line the PO line is associated. Upon adding a new product
in a newly created Sale Order a blanket order line will be suggested depending on the following
factors:

* Closer Validity date
* Remaining quantity > Quantity introduced in the Sale Order line

.. figure:: https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/PO_BOLine.png
:alt: New field added in Sale Order Line

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_blanket_order%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Acsone SA/NV

Contributors
~~~~~~~~~~~~

* André Pereira <[email protected]> (https://www.acsone.eu/)
* Adrià Gil Sorribes <[email protected]> (https://www.eficent.com/)
* Jordi Ballester Alomar <[email protected]>
* Alex Comba <[email protected]> (https://www.agilebg.com/)
* Jasper Jumelet <[email protected]> (https://www.codeforward.nl/)
* `Trobz <https://trobz.com>`_:

* Nguyễn Minh Chiến <[email protected]>

Other credits
~~~~~~~~~~~~~

The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/16.0/sale_blanket_order>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions sale_blanket_order/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
from . import wizard
26 changes: 26 additions & 0 deletions sale_blanket_order/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright 2018 Acsone
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Sale Blanket Orders",
"category": "Sale",
"license": "AGPL-3",
"author": "Acsone SA/NV, Odoo Community Association (OCA)",
"version": "16.0.1.0.0",
"website": "https://github.com/OCA/sale-workflow",
"summary": "Blanket Orders",
"depends": ["uom", "sale_management", "web_action_conditionable"],
"data": [
"security/security.xml",
"security/ir.model.access.csv",
"data/sequence.xml",
"data/ir_cron.xml",
"wizard/create_sale_orders.xml",
"views/sale_config_settings.xml",
"views/sale_blanket_order_views.xml",
"views/sale_blanket_order_line_views.xml",
"views/sale_order_views.xml",
"report/templates.xml",
"report/report.xml",
],
"installable": True,
}
19 changes: 19 additions & 0 deletions sale_blanket_order/data/ir_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2018 ACSONE SA/NV
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo noupdate="1">
<record forcecreate="True" id="expired_blanket_orders_cron" model="ir.cron">
<field name="name">Expire Blanket Orders</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field
name="nextcall"
eval="(DateTime.now() + relativedelta(hour=00, minute=1, second=0)).strftime('%Y-%m-%d %H:%M:%S')"
/>
<field name="numbercall">-1</field>
<field name="doall" eval="False" />
<field name="model_id" ref="model_sale_blanket_order" />
<field name="state">code</field>
<field name="code">model.expire_orders()</field>
</record>
</odoo>
11 changes: 11 additions & 0 deletions sale_blanket_order/data/sequence.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<!-- Sequences for sale.blanket.order -->
<record id="seq_blanket_order" model="ir.sequence">
<field name="name">Blanket Order</field>
<field name="code">sale.blanket.order</field>
<field name="prefix">BO</field>
<field name="padding">3</field>
<field name="company_id" eval="False" />
</record>
</odoo>
Loading

0 comments on commit 4fc2280

Please sign in to comment.