iDempiere 運送会社の使い方|在庫管理 操作マニュアル・技術仕様
📖 在庫管理の全体像: 在庫管理の業務フロー全体図 も合わせてご覧ください。
運送会社(Shipper)は、組織が利用する配送業者を定義するマスタです。受注伝票で配送方法に「運送会社(Shipper)」を選択した場合、ここで登録済みの運送会社を必ず指定する必要があります。出荷伝票(納品)にも運送会社が引き継がれ、追跡番号の管理にも利用されます。
📌 ポイント: 運賃タブで運賃カテゴリ×地域×有効開始日ごとの運送料を登録しておくと、運送会社別の運賃マスタとして管理できます。オンライン連携(Shipping Processor)を使わない通常運用では、「運送会社」タブに名称を登録するだけで受注・出荷伝票で選択可能になります。
運送会社でできること
Section titled “運送会社でできること”- 配送業者(ヤマト運輸・佐川急便等)のマスタ登録
- 運賃カテゴリ・地域(国/都道府県)・有効開始日別の運賃設定
- 運送会社と取引先マスタの紐付け(支払管理との連携)
- 梱包オプション(Packaging)・ラベル形式(Label Type)・集荷方法(Pickup Types)の定義
- Shipping Processor 連携による出荷ブッキング用の設定保持
運送会社ウィンドウ(Window ID: 142)は 5 タブ構成です。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| 運送会社 | M_Shipper | 約8項目 | 業者の基本情報(名称・取引先・連携設定) |
| 運賃 | M_Freight | 約14項目 | 運賃カテゴリ・地域・期間別の運送料 |
| Packaging | M_ShipperPackaging | 約8項目 | 梱包オプション(重量等) |
| Label Type | M_ShipperLabels | 約8項目 | 出荷ラベルの形式(印刷方法) |
| Pickup Types | M_ShipperPickupTypes | 約7項目 | 集荷方法の選択肢 |
💡 ヒント: Packaging / Label Type / Pickup Types の 3 タブは、Shipping Processor によるオンライン出荷ブッキングを行う場合に使用します。国内の一般的な運用では「運送会社」タブと「運賃」タブのみで十分です。
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>在庫管理 > 品目マスタ管理 > 運送会社"] --> B["➕ 新規で名称を入力<br/>(例: ヤマト運輸)"]
B --> C{運賃も管理する?}
C -->|Yes| D["💴 運賃タブで登録<br/>運賃カテゴリ・有効開始日<br/>通貨・運送料"]
C -->|No| E["💾 保存"]
D --> F["🗾 必要に応じて<br/>国・都道府県で地域を限定"]
F --> E
E --> G["📦 受注伝票の配送方法=運送会社で<br/>この業者を選択可能に"]
アクセス方法
Section titled “アクセス方法”メニューから「在庫管理 > 品目マスタ管理 > 運送会社」を開きます。
- ツールバーの「新規」ボタンをクリック
- 名称を入力(必須。例:
ヤマト運輸) - 必要に応じて設定:
- 取引先: 運送会社を仕入先として支払管理する場合に紐付け
- Shipper / Shipping Processor: オンライン出荷連携を使う場合の設定
- 「保存」をクリック
- 「運賃」タブに移動
- 各運賃レコードを登録:
- 運賃カテゴリ: 運賃の分類(必須)
- 有効開始日: この日付以降に適用(必須)
- 通貨・運送料: 金額(必須)
- 国/国(To)・地域(都道府県)/地域(To): 発地・着地で運賃を分ける場合に指定
- Max Weight / Max Dimension: 重量・サイズの上限
項目リファレンス
Section titled “項目リファレンス”運送会社タブ
Section titled “運送会社タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 名称 | 必須 | 文字列 | 運送会社名(レコード識別子) |
| 有効 | 必須 | チェック | 有効フラグ |
| 取引先 | - | 検索 | 対応する取引先(仕入先)マスタ |
| Shipper | - | 選択 | Shipper 設定(M_ShipperCfg、オンライン連携用) |
| Shipping Processor | - | 選択 | 出荷処理プロセッサ(オンライン連携用) |
| Shipper Create From … | - | ボタン | 既存設定からの取込 |
| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 運賃カテゴリ | 必須 | 選択 | 運賃の分類(M_FreightCategory) |
| 有効開始日 | 必須 | 日付 | この日付から適用 |
| 通貨 | 必須 | 選択 | 運送料の通貨 |
| 運送料 | 必須 | 金額 | 運賃金額 |
| 国 / 国(To) | - | 選択 | 発地国・着地国 |
| 地域(都道府県) / 地域(To) | - | 選択 | 発地・着地の地域 |
| Max Weight / Max Dimension | - | 金額 | 重量・寸法の上限 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 受注伝票で運送会社の指定が求められるのはどんなときですか?
Section titled “Q. 受注伝票で運送会社の指定が求められるのはどんなときですか?”受注伝票の配送方法(Delivery Via)に「運送会社(Shipper)」を選択した場合、登録済みの運送会社の指定が必須になります(ウィンドウ定義の説明文より)。事前に本ウィンドウで業者を登録しておいてください。
Q. 運送会社への支払を管理するにはどうしますか?
Section titled “Q. 運送会社への支払を管理するにはどうしますか?”「取引先」フィールドで運送会社に対応する取引先(仕入先)マスタを紐付けます。運賃の請求・支払は通常の仕入請求書・支払フローで処理します。
Q. Packaging / Label Type / Pickup Types タブはいつ使いますか?
Section titled “Q. Packaging / Label Type / Pickup Types タブはいつ使いますか?”Shipping Processor によるオンライン出荷ブッキング(配送業者システムとの連携)を行う場合に、業者がサポートする梱包・ラベル形式・集荷方法を定義します。Label Type はオンラインで出荷を予約する際に印刷するラベル形式の定義に使用されます(タブ定義の説明文より)。連携を使わない場合は設定不要です。
🛠 技術仕様(開発者向け)
運送会社はマスタデータ型のウィンドウで、ヘッダーは M_Shipper テーブルに格納されます。MShipper クラス(129行)は薄いモデルクラスで、Shipper 設定(M_ShipperCfg)に基づく配送サービス情報の参照メソッドを提供します。運賃は MFreight(115行)が対応します。Document 型ではありません(DocAction なし)。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MShipper {
+getShippersForFreightCategory(ctx, FreightCategory_ID, trxName)$ List~MShipper~
+getShippingServiceCode() String
+isInternational() boolean
+isResidential() boolean
+isSaturdayDelivery() boolean
+getTrackingURL() String
}
class X_M_Shipper {
<<generated>>
}
class PO {
<<abstract>>
}
MShipper --|> X_M_Shipper
X_M_Shipper --|> PO
MShipper --> MFreight : has many
MShipper --> MShipperPackaging : has many
MShipper --> MShipperLabels : has many
MShipper --> MShipperPickupTypes : has many
MShipper ..> MShipperFacade : online booking
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MShipper.java
関連DBテーブル
Section titled “関連DBテーブル”M_Shipper(運送会社)
Section titled “M_Shipper(運送会社)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_Shipper_ID | ID | PK | 運送会社ID | 主キー |
| AD_Client_ID | TableDirect | Y | クライアント | |
| AD_Org_ID | TableDirect | Y | 組織 | |
| Name | String(60) | Y | 名称 | 識別子(Identifier) |
| IsActive | YesNo | Y | 有効フラグ | デフォルトY |
| C_BPartner_ID | Search | N | 取引先 | 仕入先との紐付け |
| M_ShipperCfg_ID | TableDirect | N | Shipper設定 | オンライン連携用 |
| M_ShippingProcessor_ID | Table | N | Shipping Processor | オンライン連携用 |
| CreateFrom | Button | N | 取込ボタン |
M_Freight(運賃)
Section titled “M_Freight(運賃)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| M_Freight_ID | ID | PK | 運賃ID | 主キー |
| M_Shipper_ID | Table | Y | 運送会社FK | 親リンク・識別子 |
| M_FreightCategory_ID | TableDirect | Y | 運賃カテゴリ | 識別子 |
| ValidFrom | Date | Y | 有効開始日 | |
| C_Currency_ID | TableDirect | Y | 通貨 | |
| FreightAmt | Amount | Y | 運送料 | |
| C_Country_ID / To_Country_ID | Table | N | 発地国/着地国 | |
| C_Region_ID / To_Region_ID | Table | N | 発地地域/着地地域 | |
| MaxWeight / MaxDimension | Amount | N | 重量・寸法上限 |
子テーブル M_ShipperPackaging / M_ShipperLabels / M_ShipperPickupTypes はいずれも Name・IsDefault を持ち、それぞれ対応する Cfg テーブル(M_ShipperPackagingCfg 等)を参照します。
ビジネスロジック
Section titled “ビジネスロジック”MShipper には beforeSave/afterSave のオーバーライドはありません。主要メソッド:
getShippersForFreightCategory(): 指定した運賃カテゴリの運賃レコードを持つ運送会社の一覧を取得(static)getShippingServiceCode()/isInternational()/isResidential()/isSaturdayDelivery()/getTrackingURL(): Shipper 設定(M_ShipperCfg)に基づく配送サービス属性の参照- オンライン出荷連携では
MShipperFacade(org.adempiere.model)とMFreightShipmentProcessorが使用されます
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”- Model Validator:
M_Shipper/M_Freightの保存時に独自バリデーション(例: 運賃の重複期間チェック)を追加できます。コア改変は不要です。 - Shipping Processor: 配送業者 API との連携は
M_ShippingProcessor+ Cfg テーブル群を実装する OSGi プラグインとして追加するのが標準的な拡張方法です(標準実装例:MFreightShipmentProcessor)。
関連プロセス
Section titled “関連プロセス”標準メニュー・本ウィンドウに固有のバッチプロセスはありません(Shipper Create From ボタンのみ)。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”運送会社マスタは、配送業者 API 連携(送り状発行・追跡番号取込)の起点となるマスタです。国内配送業者との連携カスタマイズもコア改変なしで実現できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。