Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
11bc3d3
add demo data
JordiBForgeFlow Sep 28, 2017
adc0f56
various improvements
JordiBForgeFlow Oct 2, 2017
138d9ff
fix
JordiBForgeFlow Oct 3, 2017
457b92d
fix
JordiBForgeFlow Oct 3, 2017
b5d3ca2
add mrp_mts_mto demo data
JordiBForgeFlow Oct 3, 2017
8c57f50
[9.0][FIX] ddmrp_history: ondelete cascade
LoisRForgeFlow Oct 9, 2017
1a905bc
[9.0][IMP] ddmrp: split ADU computations into a new cron job.
LoisRForgeFlow Sep 15, 2017
fd2c1cf
[FIX] ddmrp_history: wrong depiction
LoisRForgeFlow Nov 7, 2017
eb8fa91
[FIX] ddmrp: wrong string
LoisRForgeFlow Nov 7, 2017
976db42
[9.0][IMP] ddmrp: enhance performace
LoisRForgeFlow Nov 21, 2017
a33d885
[9.0][FIX] ddmrp: fix infinite recursion
LoisRForgeFlow Dec 1, 2017
dc2f421
[9.0] ddmrp: addd ddmrp specific config menu
LoisRForgeFlow Dec 14, 2017
a3d3e31
[9.0][IMP] ddmrp_mrp_production_request: enhance performace
LoisRForgeFlow Nov 21, 2017
6d1433c
[9.0][IMP] ddmrp: add execution status to PO lines.
LoisRForgeFlow Dec 15, 2017
f759d81
PO reference clickable
LoisRForgeFlow Dec 18, 2017
8d6bc32
[9.0][FIX] ddmrp_mrp_production_request: fix infinite recursion
LoisRForgeFlow Dec 15, 2017
14e1e48
[9.0][IMP] ddmrp: enhance PO lines view
LoisRForgeFlow Dec 20, 2017
8439601
[9.0][FIX] ddmrp: consider past due moves.
LoisRForgeFlow Dec 28, 2017
6c3a8fb
[9.0][FIX] ddmrp: ignore reservations
LoisRForgeFlow Nov 9, 2017
3eccfe6
[9.0][REM] stock_orderpoint_uom: moved to OCA/stock-logistics-warehouse
LoisRForgeFlow Dec 27, 2017
4d3a2d2
[9.0][REM] stock_demand_estimate: moved to OCA/stock-logistics-warehouse
LoisRForgeFlow Dec 27, 2017
b421a3e
[9.0][REM] stock_warehouse_orderpoint_stock_info and stock_warehouse_…
LoisRForgeFlow Dec 27, 2017
f33a83c
[ADD] travis CI
LoisRForgeFlow Dec 27, 2017
1126ef8
[9.0][REM] mrp_production_service
LoisRForgeFlow Jan 8, 2018
832992c
[10.0][MIG] ddmrp
LoisRForgeFlow Dec 28, 2017
1718672
[REM] .idea files
LoisRForgeFlow Jan 22, 2018
499e4d6
[UPD] .gitignore
LoisRForgeFlow Jan 22, 2018
54f4b72
[10.0][MIG] ddmrp_exclude_moves_adu_cal
LoisRForgeFlow Jan 22, 2018
616c5c4
[9.0][FIX] Use date_range intsead of period.id (#30)
hparfr Feb 14, 2018
50b00aa
[9.0][FIX] ddmrp: Add wizard in init file (#31)
florian-dacosta Feb 19, 2018
5d1c0c3
[9.0][IMP] make DLT computed
LoisRForgeFlow Sep 12, 2017
f19481f
add location to demo data
JordiBForgeFlow Sep 29, 2017
e759332
improve bom structure report
JordiBForgeFlow Sep 29, 2017
0d413cc
move dlt logic to bom
JordiBForgeFlow Sep 29, 2017
9a7fc92
dlt: several improvements
JordiBForgeFlow Oct 3, 2017
c1a76f6
[9.0][FIX] readme and bom syntax regarding dlt computation
LoisRForgeFlow Feb 20, 2018
3f3510d
Merge pull request #13 from Eficent/9.0-imp-ddmrp-dlt
LoisRForgeFlow Feb 20, 2018
0b9a21f
[9.0][ADD] ddmrp_adjustment
LoisRForgeFlow Sep 18, 2017
1f63dda
[9.0][IMP] ddmrp_adjustment: consider lead time on demand alocation f…
LoisRForgeFlow Feb 20, 2018
a9812bf
[9.0][IMP] ddmrp_adjustment: implement Lead Time Adj Factor
LoisRForgeFlow Feb 21, 2018
d52927f
[9.0][ADD] ddmrp_adjustment
LoisRForgeFlow Sep 18, 2017
d260742
[9.0][IMP] ddmrp_adjustment: consider lead time on demand alocation f…
LoisRForgeFlow Feb 20, 2018
ae5c1be
[9.0][IMP] ddmrp_adjustment: implement Lead Time Adj Factor
LoisRForgeFlow Feb 21, 2018
43244c2
add setup file
LoisRForgeFlow Feb 21, 2018
c5e66d5
Merge pull request #15 from Eficent/9.0-add-ddmrp_adjustment
LoisRForgeFlow Feb 21, 2018
9ba52ba
[REM] .idea
LoisRForgeFlow Feb 21, 2018
4dda1b5
[9.0] ddmrp: add setup files
LoisRForgeFlow Feb 21, 2018
3126db8
[UPD] .gitignore
LoisRForgeFlow Feb 21, 2018
cd8cb09
[9.0][ADD] ddmrp_product_replace
LoisRForgeFlow Dec 14, 2017
2698b8b
[9.0][FIX] demand estimate domains (#34)
florian-dacosta Feb 21, 2018
5c0b81a
[MIG] ddmrp_adjustment: Migration to 10.0
HviorForgeFlow Feb 21, 2018
3d9c473
setup.py
HviorForgeFlow Feb 21, 2018
aab7d68
fixes
rgarnau Feb 22, 2018
fd29796
Merge pull request #37 from Eficent/10.0-fix-setup
Feb 22, 2018
1d5e41f
[fix] setup
rgarnau Feb 22, 2018
54c2251
[9.0][ADD] setup files
LoisRForgeFlow Feb 22, 2018
8049241
[10.0][MIG] ddmrp
LoisRForgeFlow Dec 28, 2017
7969002
[UPD] .gitignore
LoisRForgeFlow Jan 22, 2018
7c55cf5
[10.0][MIG] ddmrp_exclude_moves_adu_cal
LoisRForgeFlow Jan 22, 2018
1f8d0cf
[MIG] ddmrp_adjustment: Migration to 10.0
HviorForgeFlow Feb 21, 2018
fe6d8e9
setup.py
HviorForgeFlow Feb 21, 2018
bf1104e
fixes
rgarnau Feb 22, 2018
394b673
[fix] setup
rgarnau Feb 22, 2018
c55c8e6
[10.0][FIX] ddmrp fixes
LoisRForgeFlow Jan 24, 2018
14826e4
Merge branch '10.0' into 10.0-mig-ddmrp
LoisRForgeFlow Mar 6, 2018
fb24d3a
[10.0][MIG] ddmrp: bom structure report
LoisRForgeFlow Mar 6, 2018
2a5e0c3
fix travis
LoisRForgeFlow Mar 6, 2018
1e56a9b
Merge pull request #25 from Eficent/10.0-mig-ddmrp
LoisRForgeFlow Mar 6, 2018
1383609
[10.0][MIG] ddmrp_product_replace
LoisRForgeFlow Jan 24, 2018
535f6b6
[10.0][MIG] ddmrp_history
LoisRForgeFlow Jan 22, 2018
9694fa8
[10.0][MIG] ddmrp_mrp_production_request
LoisRForgeFlow Jan 22, 2018
e9ced2f
[FIX] setup and travis
LoisRForgeFlow Mar 6, 2018
fdf2de4
[10.0][MIG] ddmrp_adjustment: migrate latest changes
LoisRForgeFlow Mar 6, 2018
5645fe9
[10.0][FIX] ddmrp: enable the use of override buffers
LoisRForgeFlow Mar 8, 2018
94cc358
change supply qualification for net flow position to consider only su…
JordiBForgeFlow Mar 6, 2018
4c6511d
[9.0][FIX] ddmrp: issue with date on manually created pickings.
LoisRForgeFlow Mar 8, 2018
e58b170
[10.0][ADD] Execution history buffer (#49)
Mar 9, 2018
a88a005
adding ddmrp buffer profiles data
HviorForgeFlow Mar 6, 2018
185bd9f
[10.0][FIX] ddmrp: dlt computeation considers distributed parts.
LoisRForgeFlow Mar 9, 2018
e640b45
Variability factor should increase red zone instead of reducing it
hparfr Mar 14, 2018
d1b7c6f
adapt '1+' for only minmax
hparfr Mar 29, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ coverage.xml
*.mo
*.pot

# Pycharm
.idea

# Eclipse
.settings

# Visual Studio cache/options directory
.vs

# Django stuff:
*.log
local_settings.py
Expand Down
8 changes: 0 additions & 8 deletions .idea/ddmrp.iml

This file was deleted.

14 changes: 0 additions & 14 deletions .idea/misc.xml

This file was deleted.

8 changes: 0 additions & 8 deletions .idea/modules.xml

This file was deleted.

42 changes: 0 additions & 42 deletions .idea/workspace.xml

This file was deleted.

43 changes: 43 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
language: python
sudo: false
cache:
apt: true
directories:
- $HOME/.cache/pip

python:
- "2.7"

addons:
apt:
packages:
- expect-dev # provides unbuffer utility
- python-lxml # because pip installation is slow
- python-simplejson
- python-serial
- python-yaml

env:
global:
- VERSION="9.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0"
- TRANSIFEX_USER='transbot@odoo-community.org'
- secure: HgKcIRHgUR14+T9TRJvGAd2jn9cSChN87zrYPSZ2p63i/6+MU+WaK3lFf6T0NIjHQUvMMpZ1Cu+OFymvjbIEtvPeglaBVUA9ZED5vrW6ED2p24c09ADdQa3LeBoqLxholaYtbbaQrLNWEnZF0pY4Qk9ZQsHkj2LTpV+M+tOYwpM=
matrix:
- LINT_CHECK="1"
- TRANSIFEX="1"
- TESTS="0" ODOO_REPO="odoo/odoo"
- TESTS="0" ODOO_REPO="OCA/OCB"

virtualenv:
system_site_packages: true

install:
- git clone https://github.com/OCA/maintainer-quality-tools.git $HOME/maintainer-quality-tools
- export PATH=$HOME/maintainer-quality-tools/travis:$PATH
- travis_install_nightly

script:
- travis_run_tests

after_success:
- travis_after_tests_success
227 changes: 226 additions & 1 deletion ddmrp/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,235 @@
DDMRP
=====

Pending...
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 lauch purchase orders (POs),
manufacturing ordrers (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.

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

To install this module you need to first download modules from other OCA
repositories:

Modules from http://github.com/OCA/web :

* 'web_tree_dynamic_colored_field'
* 'web_widget_bokeh_chart'
* 'web_tree_many2one_clickable'

Modules from http://github.com/OCA/stock-logistics-warehouse :

* 'stock_warehouse_orderpoint_stock_info'
* 'stock_warehouse_orderpoint_stock_info_unreserved'
* 'stock_available_unreserved'
* 'stock_orderpoint_uom'
* 'stock_orderpoint_manual_procurement'
* 'stock_demand_estimate'

Modules from http://github.com/OCA/server-tools

* 'base_cron_exclusion'

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.

A) 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.

B) 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 / Inventory Control / Stock Buffer Planning*
* *Inventory / Inventory Control / 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.7 (short lead time).


Product attributes
------------------

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


ADU Calculation Methods
-----------------------

The Average Daily Usage (ADU) defines the frequency of demand of a product in a
certain location.

#. Go to *Inventory / Configuration / ADU calculation methods*.
#. To create new, indicate a name, calculation method (fixed, past-looking,
future-looking), and the lengh of period consideration (in days).

If you do not have prior history of stock moves in your system, it is advised
to usefixed method. If you have past-history of stock moves, best use
past-looking method.



.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/95/8.0

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-invoicing/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
`here <https://github.com/OCA/account-invoicing/issues/new?body=module:%20account_group_invoice_line%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.


Credits
=======

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

* Jordi Ballester Alomar <jordi.ballester@eficent.com>
* Lois Rilo Antelo <lois.rilo@eficent.com>


Maintainer
----------

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

This module is maintained by the OCA.

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.

To contribute to this module, please visit https://odoo-community.org.
5 changes: 2 additions & 3 deletions ddmrp/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
# © 2016 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# © 2016 Aleph Objects, Inc. (https://www.alephobjects.com/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from . import models
from . import wizards
from . import report
Loading