[9.0][ADD] stock_inventory_discrepancy (#245)

[ADD] stock_inventory_discrepancy
This commit is contained in:
Lois Rilo
2017-02-17 14:25:07 +01:00
committed by hveficent
parent 1fa103446e
commit 22fcf64c53
24 changed files with 1751 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
.. 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 Inventory Discrepancy
===========================
Adds the capability to show the discrepancy of every line in an inventory and
to block the inventory validation (setting it as 'Pending to Approve') when the
discrepancy is greater than a user defined threshold.
Only new group "Validate All inventory Adjustments" will be able to force the
validation of those blocked inventories. By default Stock manager will belong
to this group. In addition, Stock Users can validate inventories under the
threshold now.
Configuration
=============
You can configure the threshold as described below:
#. Go to "Inventory > Warehouse Management" > Warehouses" or to "Inventory >
Warehouse Management" > Locations".
#. Modify the "Maximum Discrepancy Rate Threshold" either in a Warehouse or
in a location. If set to 0.0 the threshold is disabled.
Usage
=====
If you configured a "Maximum Discrepancy Rate Threshold".
* When validating an Inventory Adjustment if some line exceed the Discrepancy
Threshold the system will set the inventory's state to 'Pending to Approve'
and show the quantity of lines that exceed the threshold.
* If both WH and location thresholds are configured, the location one has
preference.
* The user with "Validate All inventory Adjustments" rights can force the
validation of an inventory pending to approve.
.. 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/9.0
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 <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.

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from . import models

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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 Inventory Discrepancy",
"summary": "Adds the capability to show the discrepancy of every line in "
"an inventory and to block the inventory validation when the "
"discrepancy is over a user defined threshold.",
"version": "9.0.1.0.0",
"author": "Eficent, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/stock-logistics-warehouse",
"category": "Warehouse Management",
"depends": ["stock"],
"data": [
'views/stock_inventory_view.xml',
'views/stock_warehouse_view.xml',
'views/stock_location_view.xml',
'security/stock_inventory_discrepancy_security.xml'
],
"license": "AGPL-3",
'installable': True,
'application': False,
}

View File

@@ -0,0 +1,118 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Rudolf Schnapka <rs@techno-flex.de>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-29 13:12+0000\n"
"PO-Revision-Date: 2017-06-29 13:12+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr "Abweichung"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr "Abweichung (%)"
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr "Erzwinge Freigabe"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Bestand"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr "Inventurposition"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr "Bestandslagerorte"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr "Obergrenze für hinnehmbare Abweichung"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Lager"

View File

@@ -0,0 +1,118 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Antonio Trueba <atgayol@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: Antonio Trueba <atgayol@gmail.com>, 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Inventario"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr "Línea inventario"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr "Ubicaciones de inventario"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Almacén"

View File

@@ -0,0 +1,118 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Daniel <dani_dca@hotmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-26 11:41+0000\n"
"PO-Revision-Date: 2017-07-26 11:41+0000\n"
"Last-Translator: Daniel <dani_dca@hotmail.com>, 2017\n"
"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/es_ES/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Inventario"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Almacén"

View File

@@ -0,0 +1,117 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Inventaire"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr "Emplacements d'inventaire"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Entrepôt"

View File

@@ -0,0 +1,117 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# Mohamed HABOU <m.habou@agoradeveloppement.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: Mohamed HABOU <m.habou@agoradeveloppement.com>, 2017\n"
"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/fr_FR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr_FR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Entrepôt "

View File

@@ -0,0 +1,118 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Paolo Valier <paolo.valier@hotmail.it>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: Paolo Valier <paolo.valier@hotmail.it>, 2017\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Inventario"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr "Riga d'Inventario"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Magazzino"

View File

@@ -0,0 +1,117 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Magazijn"

View File

@@ -0,0 +1,118 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# Paulo Ricardo <ti@shoppingescritorio.com.br>, 2017
# Felipe Lopes <ti@trojahntoppel.com.br>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: Felipe Lopes <ti@trojahntoppel.com.br>, 2017\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Inventário"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Armazém"

View File

@@ -0,0 +1,117 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>, 2017\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr "Inventar"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr "Postavka inventarja"
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr "Lokacije inventarja"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Skladišče"

View File

@@ -0,0 +1,117 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory_discrepancy
#
# Translators:
# Ozge Altinisik <ozge@altinkaya.com.tr>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-18 04:05+0000\n"
"PO-Revision-Date: 2017-02-18 04:05+0000\n"
"Last-Translator: Ozge Altinisik <ozge@altinkaya.com.tr>, 2017\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr_TR\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid "Discrepancy"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid "Discrepancy percent (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form
msgid "Force Validation"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory
msgid "Inventory"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line
msgid "Inventory Line"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location
msgid "Inventory Locations"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Maximum Discrepancy Rate Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Threshold defined in involved Location has preference."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location_discrepancy_threshold
msgid ""
"Maximum Discrepancy Rate allowed for any product when doing an Inventory "
"Adjustment. Thresholds defined in Locations have preference over Warehouse's"
" ones."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_over_discrepancy_line_count
msgid "Number of Discrepancies Over Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:55
#, python-format
msgid ""
"The Qty Update is over the Discrepancy Threshold.\n"
" Please, contact a user with rights to perform this action."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_qty
msgid ""
"The difference between the actual qty counted and the theoretical quantity "
"on hand."
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_percent
msgid ""
"The discrepancy expressed in percent with theoretical quantity as basis"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line_discrepancy_threshold
msgid "Threshold (%)"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always
msgid "Validate All inventory Adjustments"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation
msgid "Validate Inventory Adjustments Under Threshold"
msgstr ""
#. module: stock_inventory_discrepancy
#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse
msgid "Warehouse"
msgstr "Depo"

View File

@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from . import stock_inventory
from . import stock_inventory_line
from . import stock_warehouse
from . import stock_location

View File

@@ -0,0 +1,73 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from openerp import _, api, fields, models
from openerp.exceptions import UserError
class StockInventory(models.Model):
_inherit = 'stock.inventory'
INVENTORY_STATE_SELECTION = [
('draft', 'Draft'),
('cancel', 'Cancelled'),
('confirm', 'In Progress'),
('pending', 'Pending to Approve'),
('done', 'Validated')]
@api.one
@api.depends('line_ids.product_qty', 'line_ids.theoretical_qty')
def _compute_over_discrepancy_line_count(self):
lines = self.line_ids
self.over_discrepancy_line_count = sum(
d.discrepancy_percent > d.discrepancy_threshold
for d in lines)
state = fields.Selection(
selection=INVENTORY_STATE_SELECTION,
string='Status', readonly=True, index=True, copy=False,
help="States of the Inventory Adjustment:\n"
"- Draft: Inventory not started.\n"
"- In Progress: Inventory in execution.\n"
"- Pending to Approve: Inventory have some discrepancies "
"greater than the predefined threshold and it's waiting for the "
"Control Manager approval.\n"
"- Validated: Inventory Approved.")
over_discrepancy_line_count = fields.Integer(
string='Number of Discrepancies Over Threshold',
compute=_compute_over_discrepancy_line_count,
store=True)
@api.model
def action_over_discrepancies(self):
self.state = 'pending'
def _check_group_inventory_validation_always(self):
grp_inv_val = self.env.ref(
'stock_inventory_discrepancy.group_'
'stock_inventory_validation_always')
if grp_inv_val in self.env.user.groups_id:
return True
else:
raise UserError(
_('The Qty Update is over the Discrepancy Threshold.\n '
'Please, contact a user with rights to perform '
'this action.')
)
@api.one
def action_done(self):
if self.over_discrepancy_line_count and self.line_ids.filtered(
lambda t: t.discrepancy_threshold > 0.0):
if self.env.context.get('normal_view', False):
self.action_over_discrepancies()
return True
else:
self._check_group_inventory_validation_always()
return super(StockInventory, self).action_done()
@api.multi
def action_force_done(self):
return super(StockInventory, self).action_done()

View File

@@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from openerp import api, fields, models
class StockInventoryLine(models.Model):
_inherit = 'stock.inventory.line'
@api.one
def _compute_discrepancy(self):
self.discrepancy_qty = self.product_qty - self.theoretical_qty
if self.theoretical_qty:
self.discrepancy_percent = 100 * abs(
(self.product_qty - self.theoretical_qty) /
self.theoretical_qty)
elif not self.theoretical_qty and self.product_qty:
self.discrepancy_percent = 100.0
@api.one
def _get_discrepancy_threshold(self):
wh_id = self.location_id.get_warehouse(self.location_id)
wh = self.env['stock.warehouse'].browse(wh_id)
if self.location_id.discrepancy_threshold > 0.0:
self.discrepancy_threshold = self.location_id.discrepancy_threshold
elif wh.discrepancy_threshold > 0.0:
self.discrepancy_threshold = wh.discrepancy_threshold
else:
self.discrepancy_threshold = False
discrepancy_qty = fields.Float(
string='Discrepancy',
compute=_compute_discrepancy,
help="The difference between the actual qty counted and the "
"theoretical quantity on hand.")
discrepancy_percent = fields.Float(
string='Discrepancy percent (%)',
compute=_compute_discrepancy,
digits=(3, 2),
help="The discrepancy expressed in percent with theoretical quantity "
"as basis")
discrepancy_threshold = fields.Float(
string='Threshold (%)',
digits=(3, 2),
help="Maximum Discrepancy Rate Threshold",
compute=_get_discrepancy_threshold)

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from openerp import fields, models
class StockLocation(models.Model):
_inherit = 'stock.location'
discrepancy_threshold = fields.Float(
string='Maximum Discrepancy Rate Threshold',
digits=(3, 2),
help="Maximum Discrepancy Rate allowed for any product when doing "
"an Inventory Adjustment. Thresholds defined in Locations have "
"preference over Warehouse's ones.")

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from openerp import fields, models
class StockWarehouse(models.Model):
_inherit = 'stock.warehouse'
discrepancy_threshold = fields.Float(
string='Maximum Discrepancy Rate Threshold',
digits=(3, 2),
help="Maximum Discrepancy Rate allowed for any product when doing "
"an Inventory Adjustment. Threshold defined in involved Location "
"has preference.")

View File

@@ -0,0 +1,29 @@
<?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="group_stock_inventory_validation" model="res.groups">
<field name="name">Validate Inventory Adjustments Under Threshold</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
<record id="group_stock_inventory_validation_always" model="res.groups">
<field name="name">Validate All inventory Adjustments</field>
<field name="category_id" ref="base.module_category_usability"/>
<field name="implied_ids"
eval="[(4, ref('stock_inventory_discrepancy.group_stock_inventory_validation'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record model="res.groups" id="stock.group_stock_user">
<field name="implied_ids"
eval="[(4, ref('stock_inventory_discrepancy.group_stock_inventory_validation'))]"/>
</record>
<record model="res.groups" id="stock.group_stock_manager">
<field name="implied_ids"
eval="[(4, ref('stock_inventory_discrepancy.group_stock_inventory_validation_always'))]"/>
</record>
</odoo>

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from . import test_inventory_discrepancy

View File

@@ -0,0 +1,173 @@
# -*- coding: utf-8 -*-
# Copyright 2017 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).
from openerp.tests.common import TransactionCase
from openerp.exceptions import UserError
class TestInventoryDiscrepancy(TransactionCase):
def setUp(self, *args, **kwargs):
super(TestInventoryDiscrepancy, self).setUp(*args, **kwargs)
self.obj_wh = self.env['stock.warehouse']
self.obj_location = self.env['stock.location']
self.obj_inventory = self.env['stock.inventory']
self.obj_product = self.env['product.product']
self.obj_warehouse = self.env['stock.warehouse']
self.obj_upd_qty_wizard = self.env['stock.change.product.qty']
self.product1 = self.obj_product.create({
'name': 'Test Product 1',
'type': 'product',
'default_code': 'PROD1',
})
self.product2 = self.obj_product.create({
'name': 'Test Product 2',
'type': 'product',
'default_code': 'PROD2',
})
self.test_loc = self.obj_location.create({
'name': 'Test Location',
'usage': 'internal',
'discrepancy_threshold': 0.1
})
self.test_wh = self.obj_warehouse.create({
'name': 'Test WH',
'code': 'T',
'discrepancy_threshold': 0.2
})
self.obj_location._parent_store_compute()
# Create Stock manager able to force validation on inventories.
group_stock_man = self.env.ref('stock.group_stock_manager')
group_inventory_all = self.env.ref(
'stock_inventory_discrepancy.'
'group_stock_inventory_validation_always')
self.manager = self.env['res.users'].create({
'name': 'Test Manager',
'login': 'manager',
'email': 'test.manager@example.com',
'groups_id': [(6, 0, [group_stock_man.id, group_inventory_all.id])]
})
group_stock_user = self.env.ref('stock.group_stock_user')
self.user = self.env['res.users'].create({
'name': 'Test User',
'login': 'user',
'email': 'test.user@example.com',
'groups_id': [(6, 0, [group_stock_user.id])]
})
starting_inv = self.obj_inventory.create({
'name': 'Starting inventory',
'filter': 'product',
'line_ids': [
(0, 0, {
'product_id': self.product1.id,
'product_uom_id': self.env.ref(
"product.product_uom_unit").id,
'product_qty': 2.0,
'location_id': self.test_loc.id,
}),
(0, 0, {
'product_id': self.product2.id,
'product_uom_id': self.env.ref(
"product.product_uom_unit").id,
'product_qty': 4.0,
'location_id': self.test_loc.id,
}),
],
})
starting_inv.action_force_done()
def test_compute_discrepancy(self):
"""Tests if the discrepancy is correctly computed.
"""
inventory = self.obj_inventory.create({
'name': 'Test Discrepancy Computation',
'location_id': self.test_loc.id,
'filter': 'none',
'line_ids': [
(0, 0, {
'product_id': self.product1.id,
'product_uom_id': self.env.ref(
"product.product_uom_unit").id,
'product_qty': 3.0,
'location_id': self.test_loc.id,
}),
(0, 0, {
'product_id': self.product2.id,
'product_uom_id': self.env.ref(
"product.product_uom_unit").id,
'product_qty': 3.0,
'location_id': self.test_loc.id,
})
],
})
self.assertEqual(inventory.line_ids[0].discrepancy_qty, 1.0,
'Wrong Discrepancy qty computation.')
self.assertEqual(inventory.line_ids[1].discrepancy_qty, - 1.0,
'Wrong Discrepancy qty computation.')
def test_discrepancy_validation(self):
"""Tests the new workflow"""
inventory = self.obj_inventory.create({
'name': 'Test Forcing Validation Method',
'location_id': self.test_loc.id,
'filter': 'none',
'line_ids': [
(0, 0, {
'product_id': self.product1.id,
'product_uom_id': self.env.ref(
"product.product_uom_unit").id,
'product_qty': 3.0,
'location_id': self.test_loc.id,
}),
],
})
self.assertEqual(inventory.state, 'draft',
'Testing Inventory wrongly configurated')
self.assertEqual(inventory.line_ids.discrepancy_threshold, 0.1,
'Threshold wrongly computed in Inventory Line.')
inventory.with_context({'normal_view': True}).action_done()
self.assertEqual(inventory.over_discrepancy_line_count, 1,
'Computation of over-discrepancies failed.')
self.assertEqual(inventory.state, 'pending',
'Inventory Adjustment not changing to Pending to '
'Approve.')
inventory.sudo(self.manager).action_force_done()
self.assertEqual(inventory.state, 'done',
'Forcing the validation of the inventory adjustment '
'not working properly.')
def test_warehouse_threshold(self):
"""Tests the behaviour if the threshold is set on the WH."""
inventory = self.obj_inventory.create({
'name': 'Test Threshold Defined in WH',
'location_id': self.test_wh.view_location_id.id,
'filter': 'none',
'line_ids': [
(0, 0, {
'product_id': self.product1.id,
'product_uom_id': self.env.ref(
"product.product_uom_unit").id,
'product_qty': 3.0,
'location_id': self.test_wh.lot_stock_id.id,
}),
],
})
self.assertEqual(inventory.line_ids.discrepancy_threshold, 0.2,
'Threshold wrongly computed in Inventory Line.')
def test_update_qty_user_error(self):
"""Test if a user error raises when a stock user tries to update the
qty for a product and the correction is a discrepancy over the
threshold."""
upd_qty = self.obj_upd_qty_wizard.create({
'product_id': self.product1.id,
'product_tmpl_id': self.product1.product_tmpl_id.id,
'new_quantity': 10.0,
'location_id': self.test_loc.id,
})
with self.assertRaises(UserError):
upd_qty.sudo(self.user).change_product_qty()

View File

@@ -0,0 +1,49 @@
<?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>
<record id="view_inventory_form" model="ir.ui.view">
<field name="name">Inventory form view - discrepancy extension </field>
<field name="model">stock.inventory</field>
<field name="inherit_id" ref="stock.view_inventory_form"/>
<field name="arch" type="xml">
<field name="state" position="attributes">
<attribute name="statusbar_visible">
draft,confirm,pending,done
</attribute>
<attribute name="statusbar_colors">
{"pending":"red"}
</attribute>
</field>
<xpath expr="//button[@name='action_done']"
position="attributes">
<attribute name="groups">stock_inventory_discrepancy.group_stock_inventory_validation</attribute>
<attribute name="context">{'normal_view': True}</attribute>
</xpath>
<xpath expr="//button[@name='action_done']"
position="after">
<button name="action_force_done"
string="Force Validation" type="object"
class="oe_highlight"
groups="stock_inventory_discrepancy.group_stock_inventory_validation_always"
attrs="{'invisible': ['|',('state', '!=', 'pending'),('over_discrepancy_line_count', '=', 0)]}"/>
</xpath>
<field name="date" position="after">
<field name="over_discrepancy_line_count" attrs="{'invisible': [('state', '!=', 'pending')]}"/>
</field>
<xpath expr="//field[@name='line_ids']/tree/field[@name='product_qty']"
position="after">
<field name="discrepancy_qty"/>
<field name="discrepancy_percent"/>
<field name="discrepancy_threshold"/>
</xpath>
<xpath expr="//field[@name='line_ids']/tree" position="attributes">
<attribute name="decoration-danger">theoretical_qty &lt; 0 or
discrepancy_percent &gt; discrepancy_threshold</attribute>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,21 @@
<?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>
<record id="view_location_form" model="ir.ui.view">
<field name="name">Location form - cycle count extension</field>
<field name="model">stock.location</field>
<field name="inherit_id" ref="stock.view_location_form"/>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<label for="discrepancy_threshold"/>
<div>
<field name="discrepancy_threshold" class="oe_inline"/> %
</div>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,22 @@
<?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>
<record id="view_warehouse_form" model="ir.ui.view">
<field name="name">Warehouse form - Inventory Discrepancy
extension</field>
<field name="model">stock.warehouse</field>
<field name="inherit_id" ref="stock.view_warehouse"/>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<label for="discrepancy_threshold"/>
<div>
<field name="discrepancy_threshold" class="oe_inline"/> %
</div>
</field>
</field>
</record>
</odoo>