3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Odoo 17で倉庫管理を極める | 第4回: 高度な在庫管理機能の活用

Posted at

記事の概要

Odoo 17のInventoryモジュールは、基本的な入出庫や内部移動を超え、在庫戦略自動補充ロット追跡などの高度な機能を提供します。これにより、倉庫業務の効率化と精度向上が可能です。第3回では入出庫と内部移動を学びました。第4回では、FIFOFEFO自動補充ルールロット/シリアル番号追跡、運送統合を詳細に解説し、スマートな倉庫管理を実現する方法を紹介します。


在庫戦略の設定

Odoo 17では、在庫戦略(FIFO、FEFO、LIFOなど)を設定することで、商品の出庫順序を最適化できます。これにより、期限切れや在庫の陳腐化を防ぎます。

在庫評価方法の選択

  • FIFO(先入先出): 最初に入庫した商品を最初に出庫。生鮮食品や消費財に適しています。
  • FEFO(有効期限先出し): 有効期限が近い商品を優先出庫。医薬品や化粧品に最適。
  • LIFO(後入先出): 最新の入庫商品を最初に出庫(非推奨の場合が多い)。

設定手順:

  • 「在庫」→「設定」→「在庫評価」で「自動」を選択。
  • 製品ごとに追跡方法(ロット/シリアル番号)を有効化。
  • 「在庫」→「製品」→対象製品で「FIFO」または「FEFO」を選択。

FEFOの実践

  • 製品(例: 牛乳)に有効期限を登録。
  • 出庫時に、Odooが自動で有効期限の近いロットを優先選択。
  • 「在庫」→「在庫移動」で、ロットごとの出庫を確認。

コード例(製品に有効期限を追加):

from odoo import models, fields

class StockProductionLot(models.Model):
    _inherit = 'stock.production.lot'

    expiration_date = fields.Datetime('有効期限')

注意点:

  • FEFOはロット追跡が有効な場合にのみ機能。
  • Enterprise版でより詳細な在庫評価が可能。

自動補充ルールの設定

自動補充は、在庫が最小値を下回った際に自動で発注や補充を行う機能です。手動発注の負担を軽減し、在庫不足を防ぎます。

補充ルールの作成

  • 「在庫」→「設定」→「補充」を有効化。
  • 「在庫」→「製品」→対象製品(例: Tシャツ)を選択。
  • 「補充ルール」タブで以下を設定:
    • 最小数量(例: 50個)
    • 最大数量(例: 200個)
    • 発注単位(例: 100個)
    • 補充方法(例: 購買、製造)

実践例:

  • Tシャツの在庫が50個を下回ると、自動で100個の発注書を生成。
  • 「購買」→「発注書」で、自動生成された発注を確認。

プログラムによる補充ルール

以下は、補充ルールをプログラムで設定する例です:

from odoo import models, fields

class StockWarehouseOrderpoint(models.Model):
    _inherit = 'stock.warehouse.orderpoint'

    def create_reorder_rule(self, product_id, min_qty, max_qty, qty_multiple):
        self.create({
            'product_id': product_id,
            'product_min_qty': min_qty,
            'product_max_qty': max_qty,
            'qty_multiple': qty_multiple,
            'location_id': self.env.ref('stock.stock_location_stock').id,
        })

注意点:

  • 最小数量最大数量は、需要予測に基づいて慎重に設定。
  • 購買モジュールが有効でない場合、自動補充は制限される。

ロット/シリアル番号の追跡

ロット/シリアル番号追跡は、商品の出所や品質管理に不可欠です。Odoo 17では、製品ごとに追跡レベルを設定できます。

追跡の設定

  • 「在庫」→「設定」→「追跡」で「ロット/シリアル番号」を有効化。
  • 製品(例: スマートフォン)の設定画面で以下を選択:
    • ロット追跡: 同一バッチの商品をグループ管理。
    • シリアル番号追跡: 個々の商品を個別管理。
  • 入庫時にロット番号(例: LOT202506)やシリアル番号を登録。

実践: ロット追跡

  • スマートフォン100台を入庫し、ロット番号「LOT202506」を割り当て。
  • 出庫時に「在庫」→「ロット/シリアル番号」で、ロットごとの移動履歴を確認。
  • 返品やリコール時に、特定のロットを迅速に特定。

コード例(ロット作成):

from odoo import models, fields, api

class StockProductionLot(models.Model):
    _inherit = 'stock.production.lot'

    @api.model
    def create_lot(self, product_id, lot_name):
        return self.create({
            'name': lot_name,
            'product_id': product_id,
        })

注意点:

  • シリアル番号は1製品1番号のため、大量在庫には不向き。
  • バーコードスキャナーでロット入力を効率化。

運送業者との統合

Odoo 17の運送統合機能(Enterprise版)は、UPS、FedEx、DHLなどの運送業者と連携し、送料計算やラベル印刷を自動化します。

運送統合の設定

  • 「在庫」→「設定」→「運送方法」を有効化。
  • 「在庫」→「設定」→「運送業者」に移動し、例: UPSを追加。
  • 必要な認証情報(APIキー、アカウント番号)を入力。
  • 販売オーダーの配送時に、運送業者を選択し、送料を自動計算。

ラベル印刷の実践

  • 販売オーダーで顧客にTシャツ50個を発送。
  • 配送画面でUPSを選択し、送料を確認。
  • 「ラベル印刷」をクリックして、配送ラベルをPDFで生成。

コード例(運送業者の設定):

from odoo import models, fields

class DeliveryCarrier(models.Model):
    _inherit = 'delivery.carrier'

    def configure_ups(self, api_key, account_number):
        self.write({
            'name': 'UPS',
            'delivery_type': 'ups',
            'ups_api_key': api_key,
            'ups_account_number': account_number,
        })

注意点:

  • 運送統合はEnterprise版限定。Community版では手動で送料を入力。
  • APIキーの有効期限や地域制限を確認。

実践: 高度な倉庫管理シナリオ

以下のシナリオで、高度な機能を一括実践します:

  1. 在庫戦略:
    • 牛乳200リットルを入庫し、FEFOを適用。
    • ロット「MILK20250601」(有効期限: 2025-06-10)を登録。
  2. 自動補充:
    • Tシャツの最小数量を50、最大数量を200に設定。
    • 在庫が50個以下で、自動発注100個を生成。
  3. ロット追跡:
    • スマートフォン50台を入庫、ロット「LOT202506」を割り当て。
    • 販売」で20台を出庫し、ロット履歴を確認。
  4. 運送統合:
    • Tシャツ50個を顧客に発送、UPS配送ラベルを印刷。

結果確認:

  • 「在庫」→「在庫評価」で牛乳のロット有効期限を確認。
  • 「購買」→「発注書」でTシャツの自動発注を確認。
  • 「在庫」→「ロット/シリアル番号」でスマートフォンの履歴を確認。

トラブルシューティング

高度な機能で発生しがちな問題と解決策をまとめます:

  • FIFO/FEFOが適用されない: ロット追跡が有効か確認。製品設定を再チェック。
  • 自動補充が発動しない: 最小数量発注ルールの条件を確認。購買モジュールが有効かチェック。
  • ロット番号の重複: バーコードスキャナー設定や手動入力ミスを確認。
  • 運送統合エラー: APIキーやネットワーク接続を確認。Odooログでエラーを調査。

Odooの公式ドキュメントやフォーラムを参照すると、詳細な解決策が見つかります。


まとめと次回予告

Odoo 17のInventoryモジュールの高度な機能(FIFOFEFO自動補充ロット追跡運送統合)を活用することで、倉庫管理の効率と精度を大幅に向上させました。これらの機能を組み合わせることで、在庫の最適化と業務の自動化が実現可能です。

次回は、レポートデータ分析をテーマに、在庫回転率や評価額の分析、カスタムレポートの作成を解説します。データ駆動型の倉庫管理を目指して、ぜひお楽しみに!


この記事が役に立ったら、いいねストックをお願いします!Odoo WMSのシリーズを一緒に学びましょう!

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?