.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

======================
Sell Only By Packaging
======================

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

.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
    :target: https://odoo-community.org/page/development-status
    :alt: Alpha
.. |badge2| image:: https://img.shields.io/badge/license-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/18.0/sell_only_by_packaging
    :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-18-0/sale-workflow-18-0-sell_only_by_packaging
    :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=18.0
    :alt: Try me on Runboat

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

This module provides different configuration option to manage packagings
on sale orders.

The creation/update of sale order line will be blocked (by constraints)
if the data on the sale.order.line does not fit with the configuration
of the product's packagings.

It's also possible to force the quantity to sell during
creation/modification of the sale order line if the "Force sale
quantity" is ticked on the packaging and the "Sell only by packaging" is
ticked on product.

For example, if your packaging is set to sell by 5 units and the
employee fill the quantity with 3, the quantity will be automatically
replaced by 5 (it always rounds up).

.. IMPORTANT::
   This is an alpha version, the data model and design can change at any time without warning.
   Only for development or testing purpose, do not use in production.
   `More details on development status <https://odoo-community.org/page/development-status>`_

**Table of contents**

.. contents::
   :local:

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

Following options are available to define which packaging level can be
sold and which product can only be sold by packaging.

- Sell only by packaging: On product template model, this checkbox
  restricts sales of these products if no packaging is selected on the
  sale order line. If no packaging is selected, it will either be
  auto-assigned if the quantity on the sale order line matches a
  packaging quantity or an error will be raised.
- Force sale quantity (on the packaging): force rounds up the quantity
  during creation/modification of the sale order line with the factor
  set on the packaging.

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:%20sell_only_by_packaging%0Aversion:%2018.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
-------

* Camptocamp
* BCIM

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

- Akim Juillerat <akim.juillerat@camptocamp.com>
- Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
- Thomas Nowicki <thomas.nowicki@camptocamp.com>
- François Honoré <francois.honore@acsone.eu>
- Hiep (Nguyen Hoang) <hiepnh@trobz.com>
- Phuc (Tran Thanh) <phuc@trobz.com>
- Duong (Tran Quoc) <duongtq@trobz.com>
- Tris Doan <tridm@trobz.com>

Other credits
-------------

The development and migration of this module has been financially
supported by:

- Camptocamp

This module feature was extracted from the original
`sale-workflow/sale_by_packaging <https://github.com/oca/sale-workflow/tree/14.0/sale_by_packaging>`__
module.

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/18.0/sell_only_by_packaging>`_ project on GitHub.

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