Skip to content

Commit bed1b16

Browse files
committed
Merge PR #3879 into 17.0
Signed-off-by rvalyi
2 parents 69d6408 + a9acd03 commit bed1b16

26 files changed

+2543
-0
lines changed

sale_block_no_stock/README.rst

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
===================
2+
Sale Block no Stock
3+
===================
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:408792731be049ad77a018ccc6404bc72e66f817d177fa1cb510301be225d759
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Alpha
16+
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
18+
:alt: License: LGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github
20+
:target: https://github.com/OCA/sale-workflow/tree/17.0/sale_block_no_stock
21+
:alt: OCA/sale-workflow
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/sale-workflow-17-0/sale-workflow-17-0-sale_block_no_stock
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&target_branch=17.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
This module extends the functionality of Sales to support blocking sales
32+
and to allow you to ensure you are capable to send product you have in
33+
stock.
34+
35+
When a Sale Order is going to be confirmed, it will be checked if the
36+
quantity demanded exceeds that of the field selected in the
37+
configuration, and in this case a wizard will appear to allow you to fix
38+
quantities indicating what is the maximum quantity that can be ordered.
39+
40+
Then, you can adjust UoM quantities, Packaging quantities or move
41+
remaining unfixed lines to a new order.
42+
43+
If the user who is confirming an order has a group that is allowed, an
44+
extra option to confirm the Order with errors will appear on the Wizard.
45+
46+
This module only can block lines with product type 'product' (storable
47+
products).
48+
49+
Internal notes will be posted on sales when adjusting quantities or
50+
moving to another orders.
51+
52+
.. IMPORTANT::
53+
This is an alpha version, the data model and design can change at any time without warning.
54+
Only for development or testing purpose, do not use in production.
55+
`More details on development status <https://odoo-community.org/page/development-status>`_
56+
57+
**Table of contents**
58+
59+
.. contents::
60+
:local:
61+
62+
Use Cases / Context
63+
===================
64+
65+
This module was developed because sometimes you don't want to allow a
66+
sale to be confirmed when there is no enough product to sold.
67+
68+
It will be useful for you if selling more than you have in stock or
69+
planned is not a desired behaviour.
70+
71+
Configuration
72+
=============
73+
74+
To configure this module, you need to:
75+
76+
1. Go to Settings > Sales > Quotations & Orders > Blocking sales due to
77+
lack of stock
78+
2. Fill *Field to compare against the quantity demanded*. Possible
79+
values:
80+
81+
- *virtual_available_at_date*: Planned quantity to be in stock on the
82+
day of delivery
83+
- *qty_available_today*: Quantity available in stock today
84+
- *free_qty_today*: Quantity available without reserve in stock
85+
86+
3. Fill *Groups allowed to bypass the block*
87+
88+
Usage
89+
=====
90+
91+
To use this module, you need to:
92+
93+
1. Go to Settings > Sales > Quotations & Orders > Blocking sales due to
94+
lack of stock
95+
2. Fill *Field to compare against the quantity demanded*: This field
96+
will be used to check if the quantity demanded is less than or equal
97+
to the value marked in this field. Set it to
98+
*virtual_available_at_date* for this test.
99+
3. Fill *Groups allowed to bypass the block*: These groups will allow
100+
the blocking to be bypassed if the quantity demanded exceeds the
101+
quantity we want to check. Leave it blank to not allow any group to
102+
bypass that restriction.
103+
4. Create a Product and set it to be storable.
104+
5. Create a Purchase Order for the product and confirm it. Set the
105+
Picking Schedule Date on 3 days.
106+
6. Create a Sale Order with the product and set the Commitment Date on 2
107+
days. Confirm it and check the wizard.
108+
7. Click on *Ajust UoM Quantity* and see the order has been modified to
109+
match forecasted quantity.
110+
111+
Bug Tracker
112+
===========
113+
114+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/issues>`_.
115+
In case of trouble, please check there if your issue has already been reported.
116+
If you spotted it first, help us to smash it by providing a detailed and welcomed
117+
`feedback <https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_block_no_stock%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
118+
119+
Do not contact contributors directly about support or help with technical issues.
120+
121+
Credits
122+
=======
123+
124+
Authors
125+
-------
126+
127+
* Moduon
128+
129+
Contributors
130+
------------
131+
132+
- Eduardo de Miguel (`Moduon <https://www.moduon.team/>`__)
133+
- Rafael Blasco (`Moduon <https://www.moduon.team/>`__)
134+
135+
Other credits
136+
-------------
137+
138+
The development of this module has been financially supported by:
139+
140+
- Ulzama
141+
142+
Maintainers
143+
-----------
144+
145+
This module is maintained by the OCA.
146+
147+
.. image:: https://odoo-community.org/logo.png
148+
:alt: Odoo Community Association
149+
:target: https://odoo-community.org
150+
151+
OCA, or the Odoo Community Association, is a nonprofit organization whose
152+
mission is to support the collaborative development of Odoo features and
153+
promote its widespread use.
154+
155+
.. |maintainer-Shide| image:: https://github.com/Shide.png?size=40px
156+
:target: https://github.com/Shide
157+
:alt: Shide
158+
159+
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
160+
161+
|maintainer-Shide|
162+
163+
This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/17.0/sale_block_no_stock>`_ project on GitHub.
164+
165+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

sale_block_no_stock/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import models
2+
from . import wizard
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright 2024 Moduon Team S.L.
2+
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)
3+
4+
{
5+
"name": "Sale Block no Stock",
6+
"summary": """Block Sales if products has not enough
7+
Quantity based on a chosen field""",
8+
"version": "17.0.1.0.0",
9+
"development_status": "Alpha",
10+
"category": "Sales/Sales",
11+
"website": "https://github.com/OCA/sale-workflow",
12+
"author": "Moduon, Odoo Community Association (OCA)",
13+
"maintainers": ["Shide"],
14+
"license": "LGPL-3",
15+
"application": False,
16+
"installable": True,
17+
"depends": ["sale_stock", "mail_message_destiny_link_template"],
18+
"data": [
19+
"security/ir.model.access.csv",
20+
"views/res_config_settings_views.xml",
21+
"wizard/sale_order_block_wizard_views.xml",
22+
],
23+
}

0 commit comments

Comments
 (0)