Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
120 changes: 120 additions & 0 deletions stock_lot_quality_status/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

========================
Stock Lot Quality Status
========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:758b1e3be8109819391894f20df61afc1b3072c1516f9aca6cc131e93cf4e50d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-qrtl%2FOCJ Custom-lightgray.png?logo=github
:target: https://github.com/qrtl/OCJ Custom/tree/19.0/stock_lot_quality_status
:alt: qrtl/OCJ Custom

|badge1| |badge2| |badge3|

This module adds a configurable **quality status** to serial/lot
numbers.

A dedicated ``stock.lot.quality.status`` model holds the available
statuses, so they can be maintained by users instead of being
hard-coded. Each lot/serial number can then be assigned one of these
statuses.

The module provides the model and the configuration UI but does not ship
any predefined statuses, so the classification can be tailored to each
deployment (for example through a company-specific data module).

Each status carries:

- a **major category** used as the aggregation axis for inventory and
accounting reports;
- a **shippability** flag (shippable / conditional / not shippable)
shown with a colour in the list;
- an optional **shippability note** for qualifiers such as *ship
A-grade first* or *repair vendor only*;
- a **shipping priority** for ordering shippable stock; and
- a **default** flag so newly created lots/serials receive a status
automatically.

The status is informational on its own. It is intended as a foundation
for features that act on it — for example restricting whether stock with
a given quality status can be shipped, or automating status transitions
on receipt and repair returns — which can be layered on top in separate
modules.

**Table of contents**

.. contents::
:local:

Usage
=====

To configure the available quality statuses:

1. Go to *Inventory > Configuration > Quality Statuses*.
2. The module does not ship any statuses. Create the statuses you need
(or install a data module that provides them), then edit, reorder or
archive them as needed.
3. Set the **shippability**, **major category**, **shipping priority**
and **shippability note** of each status as required. The list is
colour-coded by shippability (green = shippable, orange =
conditional, red = not shippable).
4. Flag at most one status as **Default for New Lots**. New lots/serials
will be created with that status.

To assign a quality status to a lot/serial number:

1. Open a serial/lot number (*Inventory > Products > Lots/Serial
Numbers*).
2. Set the **Quality Status** field.

The status is also available as a column and as a *Group By* option in
the lot/serial number and quant lists.

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

Bugs are tracked on `GitHub Issues <https://github.com/qrtl/OCJ Custom/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/qrtl/OCJ Custom/issues/new?body=module:%20stock_lot_quality_status%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Quartile

Maintainers
-----------

.. |maintainer-yostashiro| image:: https://github.com/yostashiro.png?size=40px
:target: https://github.com/yostashiro
:alt: yostashiro

Current maintainer:

|maintainer-yostashiro|

This module is part of the `qrtl/OCJ Custom <https://github.com/qrtl/OCJ Custom/tree/19.0/stock_lot_quality_status>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions stock_lot_quality_status/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
20 changes: 20 additions & 0 deletions stock_lot_quality_status/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
{
"name": "Stock Lot Quality Status",
"version": "19.0.1.0.0",
"category": "Inventory/Inventory",
"website": "https://www.quartile.co",
"author": "Quartile",
"maintainers": ["yostashiro"],
"license": "LGPL-3",
"summary": "Assign a configurable quality status to serial/lot numbers",
"installable": True,
"depends": ["stock"],
"data": [
"security/ir.model.access.csv",
"views/stock_lot_quality_status_views.xml",
"views/stock_lot_views.xml",
"views/stock_quant_views.xml",
],
}
233 changes: 233 additions & 0 deletions stock_lot_quality_status/i18n/ja.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_lot_quality_status
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__active
msgid "Active"
msgstr "有効"

#. module: stock_lot_quality_status
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_form
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_search
msgid "Archived"
msgstr "アーカイブ済み"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__code
msgid "Code"
msgstr "コード"

#. module: stock_lot_quality_status
#: model:ir.model.fields.selection,name:stock_lot_quality_status.selection__stock_lot_quality_status__shippability__conditional
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_search
msgid "Conditional"
msgstr "条件付"

#. module: stock_lot_quality_status
#: model_terms:ir.actions.act_window,help:stock_lot_quality_status.stock_lot_quality_status_action
msgid "Create a quality status"
msgstr "品質区分を作成"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__create_uid
msgid "Created by"
msgstr "作成者"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__create_date
msgid "Created on"
msgstr "作成日"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__is_default
msgid "Default for New Lots"
msgstr "新規ロットのデフォルト"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__description
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_form
msgid "Description"
msgstr "説明"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot__display_name
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__display_name
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_quant__display_name
msgid "Display Name"
msgstr "表示名"

#. module: stock_lot_quality_status
#: model:ir.model.fields.selection,name:stock_lot_quality_status.selection__stock_lot_quality_status__category__excluded
msgid "Excluded"
msgstr "対象外"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot_quality_status__shippability_note
msgid ""
"Free-text qualifier for the shippability (e.g. ship A-grade first, repair "
"vendor only, maintenance branch only)."
msgstr "出荷可否の自由記入の補足(例:A先出し、修理先のみ、整備支店のみ)。"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot__id
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__id
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_quant__id
msgid "ID"
msgstr "ID"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__write_uid
msgid "Last Updated by"
msgstr "最終更新者"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__write_date
msgid "Last Updated on"
msgstr "最終更新日"

#. module: stock_lot_quality_status
#: model:ir.model,name:stock_lot_quality_status.model_stock_lot
msgid "Lot/Serial"
msgstr "ロット/シリアル番号"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__category
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_search
msgid "Major Category"
msgstr "大区分"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__name
msgid "Name"
msgstr "名前"

#. module: stock_lot_quality_status
#: model:ir.model.fields.selection,name:stock_lot_quality_status.selection__stock_lot_quality_status__shippability__no
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_search
msgid "Not Shippable"
msgstr "不可"

#. module: stock_lot_quality_status
#. odoo-python
#: code:addons/stock_lot_quality_status/models/stock_lot_quality_status.py:0
msgid "Only one quality status can be set as the default for new lots."
msgstr "新規ロットのデフォルトに設定できる品質区分は1つだけです。"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot_quality_status__code
msgid "Optional short code for referencing this status."
msgstr "この区分を参照するための任意の短縮コード。"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot_quality_status__shipping_priority
msgid ""
"Picking order among shippable statuses (lower is picked first). 0 means the "
"status is not part of the shipping order."
msgstr "出荷可能な区分の中でのピッキング順(小さいほど先にピックされます)。0はその区分が出荷順の対象外であることを意味します。"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot__quality_status_id
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_quant__quality_status_id
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.quant_search_view
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.search_product_lot_filter
msgid "Quality Status"
msgstr "品質区分"

#. module: stock_lot_quality_status
#: model:ir.actions.act_window,name:stock_lot_quality_status.stock_lot_quality_status_action
#: model:ir.ui.menu,name:stock_lot_quality_status.stock_lot_quality_status_menu
msgid "Quality Statuses"
msgstr "品質区分"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot__quality_status_id
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_quant__quality_status_id
msgid "Quality status of this serial/lot number."
msgstr "このシリアル/ロット番号の品質区分。"

#. module: stock_lot_quality_status
#: model_terms:ir.actions.act_window,help:stock_lot_quality_status.stock_lot_quality_status_action
msgid ""
"Quality statuses can be assigned to serial/lot numbers to\n"
" classify their inventory condition."
msgstr "品質区分はシリアル/ロット番号に割り当てて、在庫の状態を分類できます。"

#. module: stock_lot_quality_status
#: model:ir.model,name:stock_lot_quality_status.model_stock_quant
msgid "Quants"
msgstr "クアント"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__sequence
msgid "Sequence"
msgstr "シーケンス"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__shippability
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_search
msgid "Shippability"
msgstr "出荷可否"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__shippability_note
msgid "Shippability Note"
msgstr "出荷可否備考"

#. module: stock_lot_quality_status
#: model:ir.model.fields.selection,name:stock_lot_quality_status.selection__stock_lot_quality_status__shippability__yes
#: model_terms:ir.ui.view,arch_db:stock_lot_quality_status.stock_lot_quality_status_view_search
msgid "Shippable"
msgstr "可"

#. module: stock_lot_quality_status
#: model:ir.model.fields,field_description:stock_lot_quality_status.field_stock_lot_quality_status__shipping_priority
msgid "Shipping Priority"
msgstr "出荷順"

#. module: stock_lot_quality_status
#: model:ir.model,name:stock_lot_quality_status.model_stock_lot_quality_status
msgid "Stock Lot Quality Status"
msgstr "在庫ロット品質区分"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot_quality_status__category
msgid ""
"Stock-activity grouping used as the aggregation axis for inventory and "
"accounting reports."
msgstr "在庫・会計レポートの集約軸として用いる在庫活性度のグルーピング。"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot_quality_status__is_default
msgid ""
"The status assigned to newly created lots/serials when none is set. Only one"
" status can be the default."
msgstr "未設定の場合に新規作成されたロット/シリアルに割り当てられる区分。デフォルトに設定できる区分は1つだけです。"

#. module: stock_lot_quality_status
#: model:ir.model.fields.selection,name:stock_lot_quality_status.selection__stock_lot_quality_status__category__usable
msgid "Usable Stock"
msgstr "使える在庫"

#. module: stock_lot_quality_status
#: model:ir.model.fields.selection,name:stock_lot_quality_status.selection__stock_lot_quality_status__category__usable_unshippable
msgid "Usable Stock (Not Shippable)"
msgstr "使える在庫(出荷不可)"

#. module: stock_lot_quality_status
#: model:ir.model.fields,help:stock_lot_quality_status.field_stock_lot_quality_status__shippability
msgid "Whether stock with this status can be shipped to patients."
msgstr "この区分の在庫を患者に出荷できるかどうか。"

Loading
Loading