1
0

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で倉庫管理を極める | 第2回: Odoo 17のインストールとInventoryモジュールの基本設定

Posted at

はじめに

Odoo 17のInventoryモジュールは、倉庫管理を効率化するための強力なツールですが、その力を最大限に引き出すには、正しいインストールと初期設定が不可欠です。第1回ではOdoo 17とWMSの概要を紹介しました。第2回では、Odoo 17のインストール手順とInventoryモジュールの基本設定を詳細に解説します。UbuntuサーバーまたはDockerを使用した環境構築から、倉庫や製品の設定まで、実践的なステップを紹介します。

キーワード: Odoo 17, インストール, Inventoryモジュール, 基本設定

システム要件

Odoo 17をスムーズに動作させるには、以下のシステム要件を満たす必要があります:

  • OS: Ubuntu 20.04/22.04 LTS(推奨)またはWindows/MacOS
  • Python: Python 3.10以上
  • データベース: PostgreSQL 12以上
  • メモリ: 最小4GB(8GB以上推奨)
  • ストレージ: 20GB以上の空き容量
  • 依存パッケージ: wkhtmltopdf(PDF生成用)、Node.js(JavaScript依存)

Dockerを使用する場合、DockerおよびDocker Composeの最新バージョンが必要です。以下のセクションでは、UbuntuとDockerの両方のインストール手順を解説します。

キーワード: システム要件, Python 3.10, PostgreSQL, Docker

Odoo 17のインストール

Odoo 17は、クラウド(Odoo Online/Odoo.sh)またはオンプレミスで導入可能です。ここでは、オンプレミス環境でのインストールをUbuntuとDockerの2つの方法で説明します。

方法1: Ubuntuサーバーへのインストール

Ubuntu 22.04 LTSを例に、以下の手順でOdoo 17をインストールします:

  1. システムの更新と依存パッケージのインストール:

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y python3-pip python3-dev python3-venv libpq-dev
    sudo apt install -y wkhtmltopdf git postgresql
    
  2. PostgreSQLの設定:
    PostgreSQLをインストールし、Odoo用のデータベースユーザーを作成します。

    sudo -u postgres createuser -s odoo
    sudo -u postgres createdb odoo17
    
  3. Odooソースコードの取得:
    Odoo 17のCommunity版をGitHubからクローンします。

    git clone --branch 17.0 https://github.com/odoo/odoo.git /odoo
    cd /odoo
    
  4. Python仮想環境の作成と依存のインストール:

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  5. Odooの起動:
    Odooをローカルで起動し、ブラウザでアクセスします(デフォルトポート: 8069)。

    ./odoo-bin -c odoo.conf
    

    ブラウザで http://localhost:8069 にアクセスし、初期データベースを作成。

方法2: Dockerを使用したインストール

Dockerは、環境構築を簡素化します。以下の手順で進めます:

  1. DockerとDocker Composeのインストール:

    sudo apt install -y docker.io docker-compose
    
  2. Docker Composeファイルの作成:
    以下の内容を docker-compose.yml に保存します。

    version: '3.8'
    services:
      odoo:
        image: odoo:17.0
        depends_on:
          - db
        ports:
          - "8069:8069"
        environment:
          - HOST=db
          - USER=odoo
          - PASSWORD=odoo
        volumes:
          - odoo-data:/var/lib/odoo
      db:
        image: postgres:15
        environment:
          - POSTGRES_DB=postgres
          - POSTGRES_USER=odoo
          - POSTGRES_PASSWORD=odoo
        volumes:
          - db-data:/var/lib/postgresql/data
    volumes:
      odoo-data:
      db-data:
    
  3. コンテナの起動:

    docker-compose up -d
    

    ブラウザで http://localhost:8069 にアクセスし、データベースを初期化。

注意点:

  • Ubuntuインストールでは、ファイアウォール(例: UFW)でポート8069を開放。
  • Docker使用時は、ボリューム設定でデータ永続化を確保。

キーワード: Ubuntuインストール, Docker Compose, Odoo起動, データベース

Inventoryモジュールの有効化

Odoo 17をインストールしたら、以下の手順でInventoryモジュールを有効化します:

  1. Odooにログイン:
    ブラウザでOdooにアクセスし、初期データベースを作成。デフォルトの管理者アカウント(admin / admin)でログイン。

  2. モジュールのインストール:

    • メニューから「アプリ」(Apps)に移動。
    • 検索バーで「Inventory」を検索。
    • 「在庫」(Inventory)をクリックし、「インストール」を選択。
  3. 関連モジュールの確認:
    Inventoryモジュールは、以下のモジュールと連携することで機能を最大化します:

    • 販売(Sales): 出荷と在庫の同期
    • 購買(Purchase): 入庫と発注の管理
    • 製造(Manufacturing): 生産と在庫の統合
      これらが必要な場合は、同時にインストールします。

キーワード: Inventory有効化, 関連モジュール, アプリ検索

Inventoryモジュールの基本設定

Inventoryモジュールを有効化したら、倉庫管理の基本設定を行います。以下のステップで、倉庫、位置、単位を設定します。

1. 倉庫の作成

Odooでは、物理的な倉庫や仮想的な在庫場所を「倉庫」として管理します。

  • メニューから「在庫」→「設定」→「倉庫」を選択。
  • 「新規」をクリックし、以下を設定:
    • 倉庫名(例: 東京倉庫)
    • 短縮名(例: TKY)
    • 会社(デフォルトで自動設定)
  • 保存後、必要に応じて複数の倉庫を追加。

2. 保管場所の設定

倉庫内には、棚やエリアなどの「保管場所」を設定します。

  • 「在庫」→「設定」→「保管場所」に移動。
  • 例: 東京倉庫内に「棚A」「棚B」を作成。
    # 保管場所をプログラムで作成する例
    from odoo import models, fields
    
    class StockLocation(models.Model):
        _inherit = 'stock.location'
    
        name = fields.Char('場所名', required=True)
        location_id = fields.Many2one('stock.location', '親場所')
    
    このコードはカスタムモジュールでの例ですが、GUIで同様の設定が可能です。

3. 単位(UoM)の設定

製品の数量を管理するために、単位(例: 個、kg、箱)を設定します。

  • 「在庫」→「設定」→「単位」に移動。
  • 例: 「個」「ダース」「ボックス」を追加。
  • カテゴリ(例: 数量単位、重量単位)で分類。

4. 製品の追加

在庫管理の基本となる製品を登録します。

  • 「在庫」→「製品」→「製品」に移動。
  • 「新規」をクリックし、以下を設定:
    • 製品名(例: スマートフォン)
    • 製品タイプ: 在庫品
    • 在庫追跡: ロット番号/シリアル番号/追跡なし
    • 初期数量(例: 100個)
    • 保管場所(例: 東京倉庫/棚A)

実践例: サンプル倉庫の設定

以下の手順で、簡単な倉庫環境を構築します:

  1. 倉庫「大阪倉庫」を作成(短縮名: OSA)。
  2. 保管場所「棚1」「棚2」を大阪倉庫内に追加。
  3. 単位「個」と「箱」を設定(1箱=12個)。
  4. 製品「Tシャツ」を追加(初期数量: 50個、棚1に保管)。

キーワード: 倉庫作成, 保管場所, 単位設定, 製品登録

実践: 最初の在庫調整

設定が完了したら、初期在庫を登録します:

  1. 「在庫」→「在庫調整」に移動。
  2. 「新規」をクリックし、以下を入力:
    • 製品: Tシャツ
    • 数量: 50
    • 保管場所: 大阪倉庫/棚1
  3. 「適用」をクリックして在庫を更新。

以下は、在庫調整をプログラムで実行する例です:

from odoo import models, fields, api

class StockInventory(models.Model):
    _inherit = 'stock.inventory'

    @api.model
    def adjust_inventory(self, product_id, quantity, location_id):
        inventory = self.create({
            'name': '初期在庫調整',
            'location_ids': [(6, 0, [location_id])],
            'product_ids': [(6, 0, [product_id])],
        })
        inventory.action_start()
        inventory.line_ids.create({
            'product_id': product_id,
            'product_qty': quantity,
            'location_id': location_id,
            'inventory_id': inventory.id
        })
        inventory.action_validate()

このコードは、カスタムモジュールで在庫調整を自動化する例です。GUIでは数クリックで同様の操作が可能です。

キーワード: 在庫調整, 初期在庫, プログラム例

トラブルシューティング

インストールや設定時に発生しがちな問題と解決策を以下にまとめます:

  • PostgreSQL接続エラー: ユーザー名/パスワードを確認し、PostgreSQLが起動していることを確認。
  • 依存パッケージの不足: requirements.txtを再確認し、pipでインストール。
  • ポート競合: 8069番ポートが他のサービスで使用されていないか確認。
  • 在庫データ不一致: サンプルデータをクリアし、初期設定を再確認。

Odooの公式フォーラムドキュメントは、問題解決に役立ちます。

キーワード: トラブルシューティング, PostgreSQL, 公式フォーラム

まとめと次回予告

Odoo 17のインストールとInventoryモジュールの基本設定を完了することで、倉庫管理の基盤が整いました。UbuntuDockerを使った環境構築、倉庫や製品の設定、在庫調整の手順を学びました。これにより、リアルタイムの在庫管理が可能な環境が準備できました。

次回は、入出庫内部移動の具体的なプロセスを解説します。バーコードを使った効率的な作業や、販売・購買との連携方法も紹介しますので、ぜひお楽しみに!


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

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?