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

[10.0][MIG] stock_cycle_count #332

Merged
merged 28 commits into from
Mar 27, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
dee9818
[ADD] stock_cycle_count
LoisRForgeFlow Feb 17, 2017
734e901
[ADD] Adding tests
MiquelRForgeFlow Mar 2, 2017
0c2505e
[IMP] stock_cycle_count:
LoisRForgeFlow Mar 9, 2017
01d2bc9
[IMP] tests.
LoisRForgeFlow Mar 13, 2017
61c5aac
[9.0][FIX] Solves issue when doing picking with several moves.
LoisRForgeFlow Apr 21, 2017
4d5b5de
OCA Transbot updated translations from Transifex
oca-transbot May 13, 2017
8e46bc5
[9.0][IMP] stock_cycle_count: add the possibility to define rules for…
LoisRForgeFlow May 4, 2017
364404f
[9.0][FIX] stock_cycle_count: Do not propose cycle counts in the past.
LoisRForgeFlow May 10, 2017
8ff1857
[9.0][FIX] stock_cycle_count: Fix a bug when combining automatic and …
LoisRForgeFlow May 10, 2017
8352a3c
[9.0][FIX] stock_cycle_count: fields only editable in draft and add t…
LoisRForgeFlow May 10, 2017
dfdebba
[9.0][IMP] stock_cycle_count: Enhance tree view with filter and colors.
LoisRForgeFlow May 11, 2017
a9f30e1
[9.0][IMP] stock_cycle_count: The configuration of an inventory adjus…
LoisRForgeFlow May 11, 2017
441cf63
[9.0][IMP] stock_cycle_count: update existing cycle counts instead of…
LoisRForgeFlow May 12, 2017
4b154ae
[9.0][IMP] stock_cycle_count: add server action to confirm several CC…
LoisRForgeFlow May 17, 2017
3b64497
OCA Transbot updated translations from Transifex
oca-transbot Jun 10, 2017
1bf659c
[FIX] stock_cycle_count (usage cannot be 'view')
MiquelRForgeFlow Jul 19, 2017
6f24b49
OCA Transbot updated translations from Transifex
oca-transbot Jul 29, 2017
23b8738
[9.0][IMP] stock_cycle_count: fix accuracy computation and store it
LoisRForgeFlow Oct 9, 2017
8f01c9a
[9.0][IMP] stock_cycle_count: basic_accuracy report
LoisRForgeFlow Oct 10, 2017
f6256d3
[9.0][IMP] stock_cycle_count: enhance views
LoisRForgeFlow Oct 10, 2017
6712f2a
[9.0][IMP] stock_cycle_count: cycle counts report
LoisRForgeFlow Nov 15, 2017
d1d8a26
OCA Transbot updated translations from Transifex
oca-transbot Nov 18, 2017
c604fa1
[10.0][MIG] stock_cycle_count
LoisRForgeFlow Aug 24, 2017
56a937e
cycle_count: fix cycle count state issue
LoisRForgeFlow Sep 8, 2017
c5fd741
[10.0][IMP] fix api issues and clean up code
LoisRForgeFlow Jan 3, 2018
1062159
[10.0] stock_cycle_count: adapt to follow OCA convention.
LoisRForgeFlow Mar 23, 2018
d5a9498
[10.0][IMP] stock_cycle_count:
LoisRForgeFlow Mar 23, 2018
e1c95de
[10.0][UPD] stock_cycle_count: add roadmap.
LoisRForgeFlow Mar 27, 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
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