Skip to content

Commit

Permalink
Merge pull request #332 from Eficent/10.0-mig-stock_cycle_count
Browse files Browse the repository at this point in the history
[10.0][MIG] stock_cycle_count
  • Loading branch information
rousseldenis authored Mar 27, 2018
2 parents 1e450cb + e1c95de commit a93993d
Show file tree
Hide file tree
Showing 98 changed files with 45,310 additions and 0 deletions.
117 changes: 117 additions & 0 deletions stock_cycle_count/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3

=================
Stock Cycle Count
=================

This module provides the capability to execute a cycle count strategy in a
warehouse through different rules defined by the user. Cycle count is an
alternative to full wall-to-wall physical inventories in which little
portions (stock locations) of the stock are selected to count on a regular
basis.

The system propose locations in which to perform a inventory adjustment every
day based on a set of rules defined for the warehouse. In addition the system
can propose Zero-Confirmations which are simple and opportunistic counts to
check whether a locations has actually became empty or not.

With this strategy it is possible to:

* Remove the need to perform full physical inventories and to stop the
production in the warehouse.
* Measure the accuracy of the inventory records and improve it.
* Correct inventory errors earlier and prevent them to become bigger.

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

To install this module, you need to:

* Download this module to your addons path.
* Install the module in your database.

Recommendations
---------------

It is highly recommended to use this module in conjunction with:

* ``stock_inventory_verification_request``: Adds the capability to request Slot
Verifications.
* ``stock_inventory_lockdown``: Lock down locations during inventories.

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

You can configure the rules to compute the cycle count, acting as follow:

#. Go to *Inventory > Configuration > Cycle Count Rules*.
#. Create as much cycle count rules as you want.
#. Assign the rules to the Warehouse or zones where you want to apply the rules
in.
#. Go to *Inventory > Configuration > Warehouse Management > Warehouses* and
set a *Cycle Count Planning Horizon* for each warehouse.

Usage
=====

Once you have some rules configured for your warehouses, you can proceed as
is described below.

#. Go to "Inventory > Configuration > Warehouse Management > Warehouses".
#. Select all the warehouses you want to compute the rules in.
#. Click on "Action" and then in "Compute Cycle Count Rules". (**note**: A
cron job will do this for every warehouse daily.)
#. Go to "Inventory Control > Cycle Counts".
#. Select a planned Cycle Count and confirm it, this will create a draft
Inventory Adjustment.
#. In the right top corner of the form view you can access to the generated
Inventory Adjustment.
#. Proceed with the Inventory Adjustment as usual.

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

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

* Assess the possibility to refactor `action_compute_cycle_count_rules` method
converting some of the searches to actual fields. E.g.
`inventory_history_ids` for all the inventories done in a location.

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 smash it by providing detailed and welcomed feedback.


Images
------

* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.

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

* Lois Rilo <[email protected]>
* Jordi Ballester Alomar <[email protected]>

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: 5 additions & 0 deletions stock_cycle_count/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from . import models
from . import reports
38 changes: 38 additions & 0 deletions stock_cycle_count/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Copyright 2017-18 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Stock Cycle Count",
"summary": "Adds the capability to schedule cycle counts in a "
"warehouse through different rules defined by the user.",
"version": "10.0.1.0.0",
"author": "Eficent, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/stock-logistics-warehouse",
"category": "Warehouse Management",
"depends": [
"stock",
"mail",
"stock_inventory_discrepancy",
"stock_inventory_exclude_sublocation",
],
"external_dependencies": {
"python": ["numpy"],
},
"data": [
"views/stock_cycle_count_view.xml",
"views/stock_cycle_count_rule_view.xml",
"views/stock_warehouse_view.xml",
"views/stock_inventory_view.xml",
"views/stock_location_view.xml",
"data/cycle_count_sequence.xml",
"data/cycle_count_ir_cron.xml",
"reports/stock_location_accuracy_report.xml",
"reports/stock_cycle_count_report.xml",
"security/ir.model.access.csv",
],
"license": "AGPL-3",
"installable": True,
"application": False,
}
20 changes: 20 additions & 0 deletions stock_cycle_count/data/cycle_count_ir_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2017 Eficent Business and IT Consulting Services S.L.
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->

<odoo noupdate="1">

<record forcecreate="True"
id="ir_cron_compute_cycle_count_action" model="ir.cron">
<field name="name">Cycle Count Planner Computation</field>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model" eval="'stock.warehouse'"/>
<field name="function" eval="'cron_cycle_count'"/>
<field name="args" eval="'()'" />
</record>

</odoo>
15 changes: 15 additions & 0 deletions stock_cycle_count/data/cycle_count_sequence.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2017 Eficent Business and IT Consulting Services S.L.
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->

<odoo noupdate="1">

<record id="seq_cycle_count" model="ir.sequence">
<field name="name">Cycle Count</field>
<field name="code">stock.cycle.count</field>
<field name="prefix">CC/%(range_year)s/</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>

</odoo>
Loading

0 comments on commit a93993d

Please sign in to comment.