=====================================
Stock Picking Product Interchangeable
=====================================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:616f36a88d886ec8f84816c3abdf434d6ad6abb59cfdd2ab0008aefe05f0bff1
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fstock--logistics--warehouse-lightgray.png?logo=github
    :target: https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_picking_product_interchangeable
    :alt: OCA/stock-logistics-warehouse
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_picking_product_interchangeable
    :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/stock-logistics-warehouse&target_branch=16.0
    :alt: Try me on Runboat

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

This module implements "interchangeable" products for Sales Orders. If
an interchangeable product is not available in stock in sufficient
quantity to complete the order its substitute products will be added to
picking to complete the order.

**NB:** Interchangeable products substitute each other. Eg if "English
Breakfast" can substitutes "Breakfast in England" then "Breakfast in
England" can substitute "English Breakfast".

**Table of contents**

.. contents::
   :local:

Use Cases / Context
===================

Imagine that you have several products in your inventory that are
physically absolutely the same products. Eg there is an "English
Breakfast" tea and "Breakfast in England" tea which are absolutely the
same inside and have the same price. Only package labels are different.
And our customers don't care which of them will be actually delivered.
By default if there in not enough stock of the "English Breakfast"
available you will not be able to complete the operation even if you
have enough stock of the "Breakfast in England" available. This module
provides a solution for such case by allowing to substitute one product
with another in the inventory operation.

Configuration
=============

Open **Inventory** -> **Configuration** -> **Operations types** and
select an Operation Type you would like to use interchangeable products
in. **NB:** Only Operation Types of the **Delivery** type can use this
feature.

Select **Substitute Products** mode:

-  "If all available". Interchangeable products will be added products
   will be added only if it is possible to reserve all requested amount.
-  "If any available". Interchangeable products will be added if there
   is at least a single one available.

|Operation Type|

**Product Settings**

In Product form open **Interchangeable** tab and add products that can
be used as a substitute.

**Important**: if you are using product variants Interchangeable
products must be defined for each variant separately.

|Product form|

.. |Operation Type| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/op_type_setting.png
.. |Product form| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/product_form.png

Usage
=====

-  Create a new quotation with some interchangeable product(s) in it
   |New quotation|

-  Confirm the quotation

-  If there is not enough stock of the product available its substitute
   will be added to complete the delivery order

|Picking|

.. |New quotation| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/new_quotation.png
.. |Picking| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/picking_with_substitutes.png

Known issues / Roadmap
======================

Currently interchangeable products are implemented only for pickings
created from Sales Orders.

**TODO:**

-  Add interchangeable products to pickings created directly from the
   "Inventory/Operations" menu
-  Use interchangeable products in other operation types. Eg "Internal
   Transfer"

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-warehouse/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/stock-logistics-warehouse/issues/new?body=module:%20stock_picking_product_interchangeable%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
-------

* Cetmix

Contributors
------------

Cetmix `cetmix.com <https://cetmix.com>`__

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.

.. |maintainer-CetmixGitDrone| image:: https://github.com/CetmixGitDrone.png?size=40px
    :target: https://github.com/CetmixGitDrone
    :alt: CetmixGitDrone

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-CetmixGitDrone| 

This module is part of the `OCA/stock-logistics-warehouse <https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_picking_product_interchangeable>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
