Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIG][BACKPORT][12.0] ddmrp #63

Closed
wants to merge 191 commits into from
Closed
Show file tree
Hide file tree
Changes from 189 commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
aea5a61
[IMP] Major improvements. This is rolling!!
JordiBForgeFlow Oct 23, 2016
9656acd
[IMP] add security rules
JordiBForgeFlow Oct 23, 2016
2257376
[FIX] change method to create procurements from buffers
JordiBForgeFlow Oct 23, 2016
4919e5e
[FIX] pass extra data to procurement
JordiBForgeFlow Oct 24, 2016
31020ab
[FIX] various fixes and improvements
JordiBForgeFlow Oct 24, 2016
398952d
[FIX] various fixes
JordiBForgeFlow Oct 24, 2016
b60ea2c
[FIX] various fixes
JordiBForgeFlow Oct 24, 2016
b79012f
[FIX] various fixes and improvements
JordiBForgeFlow Oct 24, 2016
de54163
[FIX] various fixes and improvements
JordiBForgeFlow Oct 24, 2016
41ccf15
[IMP] split demand estimate to a separate module
JordiBForgeFlow Oct 25, 2016
2650efa
[FIX] filter execution priority level only on open manufacturing orders
JordiBForgeFlow Oct 25, 2016
4303cc4
[IMP] search optimization
JordiBForgeFlow Oct 25, 2016
5834f90
[FIX] fix search
JordiBForgeFlow Oct 25, 2016
7869859
[FIX] search optimization
JordiBForgeFlow Oct 25, 2016
3ae320f
[FIX] fix search optimization
JordiBForgeFlow Oct 25, 2016
5a7f932
[FIX] search optimization
JordiBForgeFlow Oct 25, 2016
f7ac03d
[FIX] update stock_demand_estimate
JordiBForgeFlow Oct 26, 2016
d1cae54
[IMP] add tests
JordiBForgeFlow Oct 28, 2016
f7b1d28
[FIX] fix buffer view
JordiBForgeFlow Oct 28, 2016
795fdc5
[FIX] access to open uncompleted moves
JordiBForgeFlow Oct 28, 2016
f99beb2
[IMP] improve tests
JordiBForgeFlow Oct 28, 2016
4dcbfa0
[IMP] various improvements
JordiBForgeFlow Dec 30, 2016
f5c24aa
Migration to v9
JordiBForgeFlow Feb 22, 2017
c6d75f4
fix
JordiBForgeFlow Mar 9, 2017
6bc67d8
improve compute_orderpoint
JordiBForgeFlow Mar 10, 2017
63f3a9f
[FIX] internal moves are not considered demand
JordiBForgeFlow Apr 6, 2017
e4a85b0
fix incorrect procure_recommended_qty
JordiBForgeFlow Jul 31, 2017
1cb2c03
[9.0][FIX] subtract qty only if positive.
LoisRForgeFlow Jul 31, 2017
40fe2cb
[9.0] ddmrp: able to sort by priority in manufacturing orders.
LoisRForgeFlow Aug 22, 2017
74daf4b
[9.0][IMP] ddmrp: enhance extensibility of cron_ddmrp.
LoisRForgeFlow Aug 23, 2017
b74cec9
[9.0][FIX] ddmrp: fix MO filters
LoisRForgeFlow Aug 23, 2017
7df0f84
add ddmrp chart
JordiBForgeFlow Sep 6, 2017
2d850d2
cleanup
LoisRForgeFlow Sep 6, 2017
c0f2c91
fix orderpoint calc method in manufacturing requests and orders
JordiBForgeFlow Sep 8, 2017
706587c
[9.0][ADD] ddmrp_history
LoisRForgeFlow Sep 6, 2017
814d833
[9.0][IMP] import exceptions
LoisRForgeFlow Sep 8, 2017
7c35544
[9.0][FIX] ddmrp: wrong on-hand status
LoisRForgeFlow Sep 14, 2017
3ed6d93
[9.0][IMP] ddmrp: add refresh button to buffers
LoisRForgeFlow Sep 14, 2017
192e29a
add demo data
JordiBForgeFlow Sep 28, 2017
3f71b52
various improvements
JordiBForgeFlow Oct 2, 2017
cc867e1
fix
JordiBForgeFlow Oct 3, 2017
8948b43
fix
JordiBForgeFlow Oct 3, 2017
63e3fbf
[9.0][IMP] ddmrp: split ADU computations into a new cron job.
LoisRForgeFlow Sep 15, 2017
45b4b0b
[FIX] ddmrp: wrong string
LoisRForgeFlow Nov 7, 2017
d61b686
[9.0][IMP] ddmrp: enhance performace
LoisRForgeFlow Nov 21, 2017
72d684c
[9.0][FIX] ddmrp: fix infinite recursion
LoisRForgeFlow Dec 1, 2017
8d618b2
[9.0] ddmrp: addd ddmrp specific config menu
LoisRForgeFlow Dec 14, 2017
6d13726
[9.0][IMP] ddmrp: add execution status to PO lines.
LoisRForgeFlow Dec 15, 2017
573b321
PO reference clickable
LoisRForgeFlow Dec 18, 2017
a683ba7
[9.0][IMP] ddmrp: enhance PO lines view
LoisRForgeFlow Dec 20, 2017
0fa9a14
[9.0][FIX] ddmrp: consider past due moves.
LoisRForgeFlow Dec 28, 2017
56f935d
[9.0][FIX] ddmrp: ignore reservations
LoisRForgeFlow Nov 9, 2017
31d2821
[9.0][FIX] Use date_range intsead of period.id (#30)
hparfr Feb 14, 2018
48f07a2
[9.0][FIX] ddmrp: Add wizard in init file (#31)
florian-dacosta Feb 19, 2018
cbe6418
[9.0][IMP] make DLT computed
LoisRForgeFlow Sep 12, 2017
3991bc8
improve bom structure report
JordiBForgeFlow Sep 29, 2017
5975663
move dlt logic to bom
JordiBForgeFlow Sep 29, 2017
6f73426
dlt: several improvements
JordiBForgeFlow Oct 3, 2017
04b241e
[9.0][FIX] readme and bom syntax regarding dlt computation
LoisRForgeFlow Feb 20, 2018
5477400
[9.0][ADD] ddmrp_product_replace
LoisRForgeFlow Dec 14, 2017
42b9dbd
[9.0][FIX] demand estimate domains (#34)
florian-dacosta Feb 21, 2018
f43b980
[10.0][MIG] ddmrp
LoisRForgeFlow Dec 28, 2017
82a18f3
[10.0][FIX] ddmrp fixes
LoisRForgeFlow Jan 24, 2018
13a2833
[10.0][MIG] ddmrp: bom structure report
LoisRForgeFlow Mar 6, 2018
e8cd0fb
fix travis
LoisRForgeFlow Mar 6, 2018
84fc1bd
[10.0][FIX] ddmrp: enable the use of override buffers
LoisRForgeFlow Mar 8, 2018
3d707f5
change supply qualification for net flow position to consider only su…
JordiBForgeFlow Mar 6, 2018
487f1c3
[9.0][FIX] ddmrp: issue with date on manually created pickings.
LoisRForgeFlow Mar 8, 2018
a6a94ec
adding ddmrp buffer profiles data
HviorForgeFlow Mar 6, 2018
1084631
[10.0][FIX] ddmrp: dlt computeation considers distributed parts.
LoisRForgeFlow Mar 9, 2018
29a5112
Simplify orderpoint_id fields on purchase and mrp.production
guewen Mar 6, 2018
325062b
Migrate to model / api changes done in Odoo 11.0
guewen Mar 6, 2018
62da9d2
Remove procurement.order
guewen Mar 7, 2018
9d3c023
Fix typos in readme
guewen Mar 7, 2018
b9c8414
Fix tests
guewen Mar 7, 2018
f412163
Compute adu value on create and write
guewen Mar 12, 2018
1ccb888
Use the buffer profile which match with the test data
guewen Mar 12, 2018
13f2ca5
Use expected_date instead of date in all cacl_qualified_deman
hparfr Mar 14, 2018
eda6a91
Ensure _calc_adu is called to play onchange on product_min/max_qty
grindtildeath Mar 14, 2018
436b9fe
Fix api decorators and add ensure_one()
grindtildeath Mar 14, 2018
93924d0
[10.0][FIX] ddmrp: Change self to rec to avoid Singleton errors
rousseldenis Mar 14, 2018
f6e3fdb
Fix api decorator on create of mrp.production
grindtildeath Apr 9, 2018
1d9eaad
Remove coding: utf-8 declaration from *.py files
grindtildeath Apr 9, 2018
8a781a0
Rename context key __calc_adu to __no_adu_calc
grindtildeath Apr 9, 2018
034e5c1
Remove dlt from buffer creation dicts in tests
grindtildeath Apr 9, 2018
27ab74a
[11.0][MIG] ddmrp:
LoisRForgeFlow Apr 12, 2018
74045e7
Fix lint
guewen Apr 13, 2018
bf690e6
[11.0][FIX] ADU *must* only be computed by the cron job (we do *not* …
LoisRForgeFlow Apr 26, 2018
105f27f
[REF] Separate compute function on mrp.bom
StephanRozendaal Jun 13, 2018
6eefa4c
[REF]Check product variant recordset
StephanRozendaal Jun 13, 2018
5f1cc2f
[REF] Add @api.depends on compute functions
StephanRozendaal Jun 13, 2018
bbb4027
[IMP] Add tests for mrp.bom
StephanRozendaal Jun 13, 2018
b11c21d
[IMP] Add tests for mrp.bom mto_rule
StephanRozendaal Jun 13, 2018
b7f7def
[IMP] Add tests for mrp.bom dlt
StephanRozendaal Jun 13, 2018
741394c
[11.0][IMP] ddmrp: more robust buffer status computation on PO lines.
LoisRForgeFlow May 30, 2018
ae7a3ed
[FIX] KeyError: 'purchase_line_ids'
max3903 Jun 27, 2018
0b8ff6f
Use savepoints instead of manual commit and rollback
grindtildeath Jun 27, 2018
8fb581d
Fix [E7901(rst-syntax-error), ] Enumerated list start value not ordi…
grindtildeath Jun 27, 2018
0972e55
fix flake8 issues
LoisRForgeFlow Jul 3, 2018
cc4a249
[IMP] Add buffer profiles
max3903 Apr 13, 2018
fadba58
[FIX] wrong buffer profile in tests
LoisRForgeFlow Jul 4, 2018
6d78369
[11.0] ddmrp: add demo data
LoisRForgeFlow Jul 5, 2018
2a3ef20
[11.0][REW] ddmrp: replace mrp_mto_with_stock with multi_level_mrp as…
LoisRForgeFlow Jun 12, 2018
84d9002
[11.0][FIX] ddmrp: force recomputation of recommended qty after reord…
LoisRForgeFlow Jun 22, 2018
afa592f
add patch until https://github.com/odoo/odoo/pull/25424 is merged
JordiBForgeFlow Jun 25, 2018
edffa8f
[11.0] ddmrp: add patch to stock moves:
LoisRForgeFlow Jun 27, 2018
cb1dd29
patch: force recalculation of buffer zones
LoisRForgeFlow Jul 5, 2018
daf5a5c
[11.0][IMP] ddmrp cron jobs can be run from warehouse configuration m…
LoisRForgeFlow Jul 5, 2018
0c433ff
consider warehouse calendar
JordiBForgeFlow Jul 6, 2018
32371b2
fix search view not separating planning and execution
LoisRForgeFlow Jul 9, 2018
de0c61a
[UPD] update readme and manifest to follow oca guidelines.
LoisRForgeFlow Jul 16, 2018
7775663
[11.0][IMP] ddmrp: take advantage of the new hook method added to bom…
LoisRForgeFlow Jul 17, 2018
b85aadc
Complete travis.yml configuration and update website.
LoisRForgeFlow Jul 30, 2018
0f6dac3
[UPD] Update ddmrp.pot
oca-travis Aug 1, 2018
258d2df
Added translation using Weblate (Spanish)
JordiBForgeFlow Aug 1, 2018
cc2bd2d
[UPD] README.rst
OCA-git-bot Aug 2, 2018
a5d4ce6
Translated using Weblate (Spanish)
JordiBForgeFlow Aug 1, 2018
74a64db
[FIX] ddmrp: small fixes on readme and adding new icon.
LoisRForgeFlow Aug 2, 2018
0ef9796
[UPD] README.rst
OCA-git-bot Aug 3, 2018
2977d01
[UPD] README.rst
OCA-git-bot Aug 5, 2018
cdb5f57
[11.0][FIX] ddmrp: stock warehouse orderpoint buffer zone description
HviorForgeFlow Aug 16, 2018
287bec5
[UPD] Update ddmrp.pot
oca-travis Aug 16, 2018
412f598
Added translation using Weblate (French)
sbidoul Aug 22, 2018
f5d1476
[TST] try triggering weblate msgmerge
sbidoul Aug 22, 2018
79a88f4
Update translation files
oca-transbot Aug 22, 2018
39a95a4
[UPD] Update ddmrp.pot
oca-travis Aug 22, 2018
53b392f
Translated using Weblate (Spanish)
HviorForgeFlow Aug 22, 2018
8570906
[UPD] README.rst
OCA-git-bot Aug 24, 2018
785af19
Added translation using Weblate (Chinese (Simplified))
jeffery9 Oct 20, 2018
f296251
Translated using Weblate (Chinese (Simplified))
jeffery9 Oct 20, 2018
c574555
[11.0][IMP] ddmrp_history to OCA:
LoisRForgeFlow Aug 1, 2018
b8dfa57
[UPD] Update ddmrp.pot
oca-travis Oct 31, 2018
c2cc5da
[11.0][FIX] ddmrp: review api.depends fields.
LoisRForgeFlow Aug 31, 2018
f0105f7
[11.0][IMP] ddmrp: add blended ADU calculation method.
LoisRForgeFlow Aug 31, 2018
79bbf67
[11.0][FIX] ddmrp: restrict adu domains
LoisRForgeFlow Nov 28, 2018
60a38ca
[FIX] Change method to disable the automatic procurement from orderpoint
JordiBForgeFlow Nov 28, 2018
4ee24d7
Update translation files
oca-transbot Dec 9, 2018
4f4c32b
[UPD] Update ddmrp.pot
oca-travis Dec 9, 2018
b6758c3
Update translation files
oca-transbot Dec 9, 2018
21a60b3
[UPD] README.rst
OCA-git-bot Dec 9, 2018
8f15a56
[UPD] Update ddmrp.pot
oca-travis Dec 9, 2018
976bb89
Update translation files
oca-transbot Dec 9, 2018
3e38dfe
[11.0][FIX] ddmrp: call _quantity_in_progress with sudo() to avoid AC…
HviorForgeFlow Jan 21, 2019
8156f43
Translated using Weblate (Spanish)
mvrodriguez Feb 4, 2019
a38b3ad
[UPD] Update ddmrp.pot
oca-travis Feb 4, 2019
8d22072
Update translation files
oca-transbot Feb 4, 2019
21aa328
[11.0][FIX] ddmrp: call cron_actions with sudo() to avoid ACL errors …
HviorForgeFlow Feb 6, 2019
ca6ce95
[11.0] ddmrp: performance improvement
LoisRForgeFlow Dec 10, 2018
8c77d85
[11.0][FIX] ddmrp: remove unneded onchanges for the min/max quantitie…
LoisRForgeFlow Mar 1, 2019
1aa9287
[UPD] Update ddmrp.pot
oca-travis Mar 1, 2019
04d74aa
Update translation files
oca-transbot Mar 1, 2019
88c5953
[11.0][IMP] ddmrp: Use the minimum quantity to adjust the procure rec…
LoisRForgeFlow Mar 7, 2019
9d1d8bd
[UPD] Update ddmrp.pot
oca-travis Mar 7, 2019
dd500d4
Update translation files
oca-transbot Mar 7, 2019
552c09c
[UPD] Update ddmrp.pot
oca-travis Mar 8, 2019
5ee1df8
Update translation files
oca-transbot Mar 8, 2019
5716ae9
[11.0][IMP] ddmrp: new charts for incoming and outgoing moves.
LoisRForgeFlow Feb 13, 2019
22023a5
[UPD] Update ddmrp.pot
oca-travis Apr 17, 2019
2c8e197
Update translation files
oca-transbot Apr 17, 2019
e1a7b8d
[11.0][FIX] ddmrp: consider dependent requirements when computing the…
LoisRForgeFlow Jun 3, 2019
905702e
[UPD] Update ddmrp.pot
oca-travis Jun 12, 2019
9546e7f
Update translation files
oca-transbot Jun 12, 2019
4cab262
[11.0][FIX] ddmrp: ADU past looking was considering one extra day
LoisRForgeFlow Jun 20, 2019
a30695c
[UPD] README.rst
OCA-git-bot Jul 29, 2019
8b466c3
Translated using Weblate (Spanish)
Feb 17, 2020
4db3f1a
[13.0][MIG/REF] ddmrp:
LoisRForgeFlow Jun 11, 2020
4c4e010
[IMP] ddmrp: black, isort, prettier
LoisRForgeFlow Jun 11, 2020
55f5283
[UPD] Update ddmrp.pot
oca-travis Jun 15, 2020
38760fe
[UPD] README.rst
OCA-git-bot Jun 15, 2020
1d47791
Update translation files
oca-transbot Jun 23, 2020
9001a5e
[13.0][IMP] ddmrp: update icon and add dedicated settings block.
LoisRForgeFlow Jun 29, 2020
1a0e3f5
[13.0][IMP] ddmrp: add `ddmrp_auto_update_nfp` option.
LoisRForgeFlow Jun 29, 2020
38e15ca
[UPD] Update ddmrp.pot
oca-travis Jul 1, 2020
63014f8
[UPD] changelog
OCA-git-bot Jul 1, 2020
81c7819
[UPD] README.rst
OCA-git-bot Jul 1, 2020
469357d
ddmrp 13.0.1.1.0
OCA-git-bot Jul 1, 2020
fbbd6bf
Update translation files
oca-transbot Jul 2, 2020
1411f3e
[13.0][UPD] ddmrp: add ddmrp_adjustment to setting wizard
LoisRForgeFlow Jul 2, 2020
f22f75f
[UPD] Update ddmrp.pot
oca-travis Jul 6, 2020
e475baf
Update translation files
oca-transbot Jul 6, 2020
2db7a07
[13.0][UPD] ddmrp: add latest modules to settings panel
LoisRForgeFlow Jul 8, 2020
52aee6d
[UPD] Update ddmrp.pot
oca-travis Jul 9, 2020
3161695
Update translation files
oca-transbot Jul 9, 2020
dc67b2d
Translated using Weblate (French)
didierdonze Jul 22, 2020
49fd304
Translated using Weblate (French)
didierdonze Jul 22, 2020
d42ef45
[MIG][BACKPORT] ddmrp installable
mileo Aug 19, 2020
6242c91
[MIG] digits precision
mileo Aug 19, 2020
04d3e56
[MIG] button active
mileo Aug 20, 2020
1513e48
[MIG] Backport procurements
mileo Aug 20, 2020
7c8772e
[FIX] ddmrp: ValueError: Expected singleton: stock.move(...)
max3903 Sep 23, 2021
f9df47f
Merge pull request #1 from ursais/12.0-MIG-ddmrp
mileo Sep 23, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
329 changes: 329 additions & 0 deletions ddmrp/README.rst
@@ -0,0 +1,329 @@
=====
DDMRP
=====

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fddmrp-lightgray.png?logo=github
:target: https://github.com/OCA/ddmrp/tree/13.0/ddmrp
:alt: OCA/ddmrp
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/ddmrp-13-0/ddmrp-13-0-ddmrp
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/255/13.0
:alt: Try me on Runbot

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

Demand Driven Material Requirements Planning is a formal multi-echelon
planning and execution method developed by Ms. Carol Ptak and Mr. Chad Smith.

DDMRP combines blended aspects of Material Requirements Planning (MRP),
Distribution Requirements Planning (DRP) with the pull and visibility
emphases found in Lean and the Theory of Constraints and the variability
reduction emphasis of Six Sigma.

This method has five sequential components:

#. *Strategic Inventory Positioning*. Answers the question "Given our system
and environment, where should we place inventory to have the best
protection?" and determines where should decoupling points of inventory be
placed.

#. *Buffer Profiles and Levels*. Determine the amount of protection at those
decoupling points.

#. *Dynamic Adjustments*. Allow the company to adapt buffers to group and
individual part trait changes over time through the use of several types
of adjustments.

#. *Demand Driven Planning*. Allow to launch purchase orders (POs),
manufacturing orders (MOs) and Transfer Orders (TOs) based on the priority
dictated by the buffers.

#. *Visible and Collaborative Execution*. These POs, MOs and TOs have to be
effectively managed to synchronize with the changes that often occur within
the "execution horizon."

These five components work together to greatly dampen, if not eliminate,
the nervousness of traditional MRP systems and the bullwhip effect in
complex and challenging environments.

This approach provides real information about those parts that are
truly at risk of negatively impacting the planned availability of inventory.

DDMRP sorts the significant few items that require attention from
the many parts that are being managed. Under the DDMRP approach,
fewer planners can make better decisions more quickly. That means companies
will be better able to leverage their working and human capital.

Demand Driven Material Requirements Planning is quickly being adopted
by a wide variety of leading companies across the world.

Some of the benefits reported by the DDMRP method include:

* High fill rate performance
* Lead time reductions
* Inventory reductions, while improving customer service
* Eliminate costs related to expedite
* Planners see priorities instead of constantly fighting the conflicting
messages of MRP

It is highly recommended to read the book 'Demand Driven Material
Requirements Planning (DDMRP)' by Carol Ptak and Chad Smith.

**Table of contents**

.. contents::
:local:

Installation
============

We strongly recommend to **uninstall** ``procurement_jit`` (so deliveries
related to Sales Orders aren't automatically reserved) and to avoid to
reserve stock for specific moves, buffers are in fact a reservation of stock.
However, while **reservation is discouraged**, it is still available to be
used, in case of reserved stock be aware that the buffer will be blind to this
transfers and stock and you are bypassing the DDMRP reordering flow.

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

Scheduled actions
~~~~~~~~~~~~~~~~~

* Go to *Settings > Technical*.
* 'DDMRP Buffer ADU calculation'. Computes the Average Daily Usage for all
Buffers.
* 'Reordering Rule DDMRP calculation'. Computes the Qualified Demand, Net
Flow Position, Planning and Execution priorities for all Buffers.

Decoupled Lead Time computation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The DLT is automatically computed by the system.

For manufactured products' buffers just remember to provide and
set properly the following information:

* The *Manufacturing Lead Time* for the manufactured product. It can be found
at the product form view under the tab *Sales*.
* The *Delivery Lead Time* for the preferred vendor of a product. This is
important for the products which are purchased and are components in any
Bill of Materials.

For purchased/distributed products' buffers the logic is simpler.

* In the first place the system will look if there are Vendors for the product,
if so it will use the *Delivery Lead Time* of the preferred one.
* In case of absence of vendors, the *Lead Time* at the bottom of the Buffer
form view will be used.

Usage
=====

To easily identify were are you maintaining buffers in your Bill of
Materials, you will need to first provide location information on the Bills
of Materials.

* Go to *Manufacturing / Products / Bill of Materials* and update the
'Location' in all the Bill of Materials and associated lines,
indicating where will the parts be placed/used during the manufacturing
process.

* Print the report 'BOM Structure' to display where in your BOM are you
maintaining buffers, and to identify the Lead Time (LT) of each product, and
Decouple Lead Time (DLT).


Buffers
~~~~~~~

To list the list of inventory buffers, go to one of the following:
* *Inventory / Master Data / Stock Buffer Planning*
* *Inventory / Master Data / Reordering Rules*


Buffer Profiles
~~~~~~~~~~~~~~~
Buffer profiles make maintenance of buffers easier by grouping them in
profiles. Changes applied to the profiles will be applicable in the
associated buffer calculations.

* Go to *Inventory / Configuration / Buffer Profiles*.

The Buffer Profile Lead Time Factor influences the size of the Buffer Green
zone. Items with longer lead times will usually have smaller green zones, which
will translate in more frequent supply order generation.

* Go to *Inventory / Configuration / Buffer Profile Lead Time Factor* to
chan

The Buffer Profile Variability Factor influences the size of the Buffer Red
Safety zone. Items with longer lead times will usually have smaller green
zones, which will translate in more frequent supply order generation.

* Go to *Inventory / Configuration / Buffer Profile Lead Time Factor*.

Usual factors should range from 0.2 (long lead time) to 0.8 (short lead time).


Product attributes
~~~~~~~~~~~~~~~~~~

* For manufactured products, go to *Manufacturing / Products* and
update the 'Manufacturing Lead Time' field, available in the tab *Inventory*.
* For purchased products, go to go to *Purchasing / Products* and update the
*Delivery Lead Time* for each vendor, available in tab *Purchase* and section
*Vendors*.


ADU Calculation Methods
~~~~~~~~~~~~~~~~~~~~~~~

The Average Daily Usage (ADU) defines the frequency of demand of a product in a
certain location. It can be computed in different ways, which you can configure
with ADU calculation methods as follows:

#. Go to *Inventory / Configuration / DDMRP / ADU calculation methods*.
#. Indicate a name, a calculation method (fixed, past-looking,
future-looking or blended).
#. Fill the corresponding period (past, future or both for blended method) to
specify the length of period consideration (in days).
#. Indicate the source of information: stock moves or demand estimates.
#. If you use the blended method fill also the *Past Factor* and
*Future Factor*.

If you do not have prior history of stock moves in your system, it is advised
to use fixed method or start to work on future estimates. If you have
past-history of stock moves, best use past-looking method or blended method.

The ADU is computed every day by default in a background job independently
from the other buffer fields. This computation can be done with less frequency
but it is not recommended to run it less than weekly or more than daily.
Circumstantially, If you need to force the calculation of the ADU go to
*Inventory / Configuration / DDMRP / Run DDMRP* and click on
*Run ADU calculation*.

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

The DDMRP `roadmap <https://github.com/OCA/ddmrp/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement>`_
and `known issues <https://github.com/OCA/ddmrp/issues?q=is%3Aopen+is%3Aissue+label%3Abug>`_ can
be found on GitHub.

Changelog
=========

13.0.1.1.0 (2020-07-01)
~~~~~~~~~~~~~~~~~~~~~~~

**Features**

- - New setting *Update NFP on Stock Buffers on relevant events*.
- New dedicated settings block. (`#50 <https://github.com/OCA/ddmrp/issues/50>`_)


13.0.1.0.0 (2020-06-11)
~~~~~~~~~~~~~~~~~~~~~~~

* [MIG/REF] Migration of module to v13 and refactor (added new dedicated model
for stock buffer).

11.0.1.3.0 (2019-02-21)
~~~~~~~~~~~~~~~~~~~~~~~

* [ADD] New chart that depict information about the supply and demand (
displaying also de order spike threshold and horizon) for a buffer.
(`#40 <https://github.com/OCA/ddmrp/pull/40>`_)

11.0.1.2.0 (2019-01-29)
~~~~~~~~~~~~~~~~~~~~~~~

* [IMP] Performance improvement of execution priority calculation and ADU.
(`#36 <https://github.com/OCA/ddmrp/pull/36>`_)
* [IMP] Use the minimum quantity to adjust the procure recommendation.
(`#37 <https://github.com/OCA/ddmrp/pull/37>`_)

11.0.1.1.0 (2018-08-31)
~~~~~~~~~~~~~~~~~~~~~~~

* [IMP] Implemented Blended ADU calculation method.
(`#23 <https://github.com/OCA/ddmrp/pull/23>`_)

11.0.1.0.0 (2018-07-16)
~~~~~~~~~~~~~~~~~~~~~~~

* Start of the history

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/ddmrp/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/ddmrp/issues/new?body=module:%20ddmrp%0Aversion:%2013.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
~~~~~~~

* ForgeFlow

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

* Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
* Lois Rilo Antelo <lois.rilo@forgeflow.com>
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Adria Gil Sorribes <adria.gil@forgeflow.com>

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

The initial development of this module has been financially supported by:

* Aleph Objects, Inc.

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-JordiBForgeFlow| image:: https://github.com/JordiBForgeFlow.png?size=40px
:target: https://github.com/JordiBForgeFlow
:alt: JordiBForgeFlow
.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px
:target: https://github.com/LoisRForgeFlow
:alt: LoisRForgeFlow

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

|maintainer-JordiBForgeFlow| |maintainer-LoisRForgeFlow|

This module is part of the `OCA/ddmrp <https://github.com/OCA/ddmrp/tree/13.0/ddmrp>`_ 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 ddmrp/__init__.py
@@ -0,0 +1,4 @@
from . import models
from . import wizards
from . import report
from .hooks import post_load_hook
64 changes: 64 additions & 0 deletions ddmrp/__manifest__.py
@@ -0,0 +1,64 @@
# Copyright 2016-20 ForgeFlow S.L. (https://www.forgeflow.com)
# Copyright 2016 Aleph Objects, Inc. (https://www.alephobjects.com/)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).

{
"name": "DDMRP",
"summary": "Demand Driven Material Requirements Planning",
"version": "12.0.1.0.0",
"license": "LGPL-3",
"development_status": "Beta",
"author": "ForgeFlow, " "Odoo Community Association (OCA)",
"maintainers": ["JordiBForgeFlow", "LoisRForgeFlow"],
"website": "https://github.com/OCA/ddmrp",
"category": "Warehouse Management",
"depends": [
"purchase_stock",
"mrp_bom_location",
"stock_available_unreserved",
"stock_demand_estimate",
"web_widget_bokeh_chart",
"mrp_multi_level",
"base_cron_exclusion",
"stock_warehouse_calendar",
],
"data": [
"data/product_adu_calculation_method_data.xml",
"data/stock_buffer_profile_variability_data.xml",
"data/stock_buffer_profile_lead_time_data.xml",
"data/stock.buffer.profile.csv",
"data/ir_sequence.xml",
"data/decimal_precision_data.xml",
"security/ir.model.access.csv",
"security/stock_security.xml",
"security/stock_buffer_manual_procurement_security.xml",
"wizards/make_procurement_buffer_view.xml",
"views/stock_buffer_profile_view.xml",
"views/stock_buffer_profile_variability_view.xml",
"views/stock_buffer_profile_lead_time_view.xml",
"views/product_adu_calculation_method_view.xml",
"views/stock_warehouse_views.xml",
"views/mrp_production_view.xml",
"views/purchase_order_view.xml",
"views/purchase_order_line_view.xml",
"views/mrp_bom_view.xml",
"views/stock_move_views.xml",
"views/stock_buffer_view.xml",
"views/ddmrp_assets_backend.xml",
"report/mrp_report_bom_structure.xml",
"data/ir_cron.xml",
"wizards/ddmrp_run_view.xml",
"wizards/res_config_settings_views.xml",
],
"demo": [
"demo/res_partner_demo.xml",
"demo/product_category_demo.xml",
"demo/product_product_demo.xml",
"demo/product_supplierinfo_demo.xml",
"demo/mrp_bom_demo.xml",
"demo/stock_buffer_demo.xml",
],
"post_load": "post_load_hook",
"installable": True,
"application": True,
}