はじめに
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をインストールします:
-
システムの更新と依存パッケージのインストール:
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
-
PostgreSQLの設定:
PostgreSQLをインストールし、Odoo用のデータベースユーザーを作成します。sudo -u postgres createuser -s odoo sudo -u postgres createdb odoo17
-
Odooソースコードの取得:
Odoo 17のCommunity版をGitHubからクローンします。git clone --branch 17.0 https://github.com/odoo/odoo.git /odoo cd /odoo
-
Python仮想環境の作成と依存のインストール:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
-
Odooの起動:
Odooをローカルで起動し、ブラウザでアクセスします(デフォルトポート: 8069)。./odoo-bin -c odoo.conf
ブラウザで
http://localhost:8069
にアクセスし、初期データベースを作成。
方法2: Dockerを使用したインストール
Dockerは、環境構築を簡素化します。以下の手順で進めます:
-
DockerとDocker Composeのインストール:
sudo apt install -y docker.io docker-compose
-
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:
-
コンテナの起動:
docker-compose up -d
ブラウザで
http://localhost:8069
にアクセスし、データベースを初期化。
注意点:
- Ubuntuインストールでは、ファイアウォール(例: UFW)でポート8069を開放。
- Docker使用時は、ボリューム設定でデータ永続化を確保。
キーワード: Ubuntuインストール, Docker Compose, Odoo起動, データベース
Inventoryモジュールの有効化
Odoo 17をインストールしたら、以下の手順でInventoryモジュールを有効化します:
-
Odooにログイン:
ブラウザでOdooにアクセスし、初期データベースを作成。デフォルトの管理者アカウント(admin
/admin
)でログイン。 -
モジュールのインストール:
- メニューから「アプリ」(Apps)に移動。
- 検索バーで「Inventory」を検索。
- 「在庫」(Inventory)をクリックし、「インストール」を選択。
-
関連モジュールの確認:
Inventoryモジュールは、以下のモジュールと連携することで機能を最大化します:- 販売(Sales): 出荷と在庫の同期
- 購買(Purchase): 入庫と発注の管理
-
製造(Manufacturing): 生産と在庫の統合
これらが必要な場合は、同時にインストールします。
キーワード: Inventory有効化, 関連モジュール, アプリ検索
Inventoryモジュールの基本設定
Inventoryモジュールを有効化したら、倉庫管理の基本設定を行います。以下のステップで、倉庫、位置、単位を設定します。
1. 倉庫の作成
Odooでは、物理的な倉庫や仮想的な在庫場所を「倉庫」として管理します。
- メニューから「在庫」→「設定」→「倉庫」を選択。
- 「新規」をクリックし、以下を設定:
- 倉庫名(例: 東京倉庫)
- 短縮名(例: TKY)
- 会社(デフォルトで自動設定)
- 保存後、必要に応じて複数の倉庫を追加。
2. 保管場所の設定
倉庫内には、棚やエリアなどの「保管場所」を設定します。
- 「在庫」→「設定」→「保管場所」に移動。
- 例: 東京倉庫内に「棚A」「棚B」を作成。
このコードはカスタムモジュールでの例ですが、GUIで同様の設定が可能です。
# 保管場所をプログラムで作成する例 from odoo import models, fields class StockLocation(models.Model): _inherit = 'stock.location' name = fields.Char('場所名', required=True) location_id = fields.Many2one('stock.location', '親場所')
3. 単位(UoM)の設定
製品の数量を管理するために、単位(例: 個、kg、箱)を設定します。
- 「在庫」→「設定」→「単位」に移動。
- 例: 「個」「ダース」「ボックス」を追加。
- カテゴリ(例: 数量単位、重量単位)で分類。
4. 製品の追加
在庫管理の基本となる製品を登録します。
- 「在庫」→「製品」→「製品」に移動。
- 「新規」をクリックし、以下を設定:
- 製品名(例: スマートフォン)
- 製品タイプ: 在庫品
- 在庫追跡: ロット番号/シリアル番号/追跡なし
- 初期数量(例: 100個)
- 保管場所(例: 東京倉庫/棚A)
実践例: サンプル倉庫の設定
以下の手順で、簡単な倉庫環境を構築します:
- 倉庫「大阪倉庫」を作成(短縮名: OSA)。
- 保管場所「棚1」「棚2」を大阪倉庫内に追加。
- 単位「個」と「箱」を設定(1箱=12個)。
- 製品「Tシャツ」を追加(初期数量: 50個、棚1に保管)。
キーワード: 倉庫作成, 保管場所, 単位設定, 製品登録
実践: 最初の在庫調整
設定が完了したら、初期在庫を登録します:
- 「在庫」→「在庫調整」に移動。
- 「新規」をクリックし、以下を入力:
- 製品: Tシャツ
- 数量: 50
- 保管場所: 大阪倉庫/棚1
- 「適用」をクリックして在庫を更新。
以下は、在庫調整をプログラムで実行する例です:
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モジュールの基本設定を完了することで、倉庫管理の基盤が整いました。UbuntuやDockerを使った環境構築、倉庫や製品の設定、在庫調整の手順を学びました。これにより、リアルタイムの在庫管理が可能な環境が準備できました。
次回は、入出庫と内部移動の具体的なプロセスを解説します。バーコードを使った効率的な作業や、販売・購買との連携方法も紹介しますので、ぜひお楽しみに!
この記事が役に立ったら、いいねやストックをお願いします!Odoo WMSのシリーズを一緒に学びましょう!