コンテンツにスキップ

iDempiere 運送会社の使い方|在庫管理 操作マニュアル・技術仕様

📖 在庫管理の全体像: 在庫管理の業務フロー全体図 も合わせてご覧ください。

運送会社(Shipper)は、組織が利用する配送業者を定義するマスタです。受注伝票で配送方法に「運送会社(Shipper)」を選択した場合、ここで登録済みの運送会社を必ず指定する必要があります。出荷伝票(納品)にも運送会社が引き継がれ、追跡番号の管理にも利用されます。

📌 ポイント: 運賃タブで運賃カテゴリ×地域×有効開始日ごとの運送料を登録しておくと、運送会社別の運賃マスタとして管理できます。オンライン連携(Shipping Processor)を使わない通常運用では、「運送会社」タブに名称を登録するだけで受注・出荷伝票で選択可能になります。

  • 配送業者(ヤマト運輸・佐川急便等)のマスタ登録
  • 運賃カテゴリ・地域(国/都道府県)・有効開始日別の運賃設定
  • 運送会社と取引先マスタの紐付け(支払管理との連携)
  • 梱包オプション(Packaging)・ラベル形式(Label Type)・集荷方法(Pickup Types)の定義
  • Shipping Processor 連携による出荷ブッキング用の設定保持

運送会社ウィンドウ(Window ID: 142)は 5 タブ構成です。

タブ名テーブル項目数役割
運送会社M_Shipper約8項目業者の基本情報(名称・取引先・連携設定)
運賃M_Freight約14項目運賃カテゴリ・地域・期間別の運送料
PackagingM_ShipperPackaging約8項目梱包オプション(重量等)
Label TypeM_ShipperLabels約8項目出荷ラベルの形式(印刷方法)
Pickup TypesM_ShipperPickupTypes約7項目集荷方法の選択肢

💡 ヒント: Packaging / Label Type / Pickup Types の 3 タブは、Shipping Processor によるオンライン出荷ブッキングを行う場合に使用します。国内の一般的な運用では「運送会社」タブと「運賃」タブのみで十分です。

graph TD
    A["🚀 メニューから開く<br/>在庫管理 > 品目マスタ管理 > 運送会社"] --> B["➕ 新規で名称を入力<br/>(例: ヤマト運輸)"]
    B --> C{運賃も管理する?}
    C -->|Yes| D["💴 運賃タブで登録<br/>運賃カテゴリ・有効開始日<br/>通貨・運送料"]
    C -->|No| E["💾 保存"]
    D --> F["🗾 必要に応じて<br/>国・都道府県で地域を限定"]
    F --> E
    E --> G["📦 受注伝票の配送方法=運送会社で<br/>この業者を選択可能に"]

メニューから開く 在庫管理 > 品目マスタ管理 > 運送会社 新規で名称を入力 (例: ヤマト運輸) 運賃タブで登録 運賃カテゴリ・有効開始日 通貨・運送料 保存 必要に応じて 国・都道府県で地域を限定 受注伝票の配送方法=運送会社で この業者を選択可能に 運賃も管理する?

メニューから「在庫管理 > 品目マスタ管理 > 運送会社」を開きます。

  1. ツールバーの「新規」ボタンをクリック
  2. 名称を入力(必須。例: ヤマト運輸
  3. 必要に応じて設定:
    • 取引先: 運送会社を仕入先として支払管理する場合に紐付け
    • Shipper / Shipping Processor: オンライン出荷連携を使う場合の設定
  4. 保存」をクリック
  1. 運賃」タブに移動
  2. 各運賃レコードを登録:
    • 運賃カテゴリ: 運賃の分類(必須)
    • 有効開始日: この日付以降に適用(必須)
    • 通貨運送料: 金額(必須)
    • 国/国(To)・地域(都道府県)/地域(To): 発地・着地で運賃を分ける場合に指定
    • Max Weight / Max Dimension: 重量・サイズの上限
項目名必須説明
名称必須文字列運送会社名(レコード識別子)
有効必須チェック有効フラグ
取引先-検索対応する取引先(仕入先)マスタ
Shipper-選択Shipper 設定(M_ShipperCfg、オンライン連携用)
Shipping Processor-選択出荷処理プロセッサ(オンライン連携用)
Shipper Create From …-ボタン既存設定からの取込
項目名必須説明
運賃カテゴリ必須選択運賃の分類(M_FreightCategory)
有効開始日必須日付この日付から適用
通貨必須選択運送料の通貨
運送料必須金額運賃金額
国 / 国(To)-選択発地国・着地国
地域(都道府県) / 地域(To)-選択発地・着地の地域
Max Weight / Max Dimension-金額重量・寸法の上限

全項目一覧はリファレンス参照

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 なし)。

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

+getShippersForFreightCategory(ctx, FreightCategory_ID, trxName)$ List~MShipper~ +getShippingServiceCode() String +isInternational() boolean +isResidential() boolean +isSaturdayDelivery() boolean +getTrackingURL() String <> <> > X_M_Shipper X_M_Shipper --

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/MShipper.java

カラム名必須説明備考
M_Shipper_IDIDPK運送会社ID主キー
AD_Client_IDTableDirectYクライアント
AD_Org_IDTableDirectY組織
NameString(60)Y名称識別子(Identifier)
IsActiveYesNoY有効フラグデフォルトY
C_BPartner_IDSearchN取引先仕入先との紐付け
M_ShipperCfg_IDTableDirectNShipper設定オンライン連携用
M_ShippingProcessor_IDTableNShipping Processorオンライン連携用
CreateFromButtonN取込ボタン
カラム名必須説明備考
M_Freight_IDIDPK運賃ID主キー
M_Shipper_IDTableY運送会社FK親リンク・識別子
M_FreightCategory_IDTableDirectY運賃カテゴリ識別子
ValidFromDateY有効開始日
C_Currency_IDTableDirectY通貨
FreightAmtAmountY運送料
C_Country_ID / To_Country_IDTableN発地国/着地国
C_Region_ID / To_Region_IDTableN発地地域/着地地域
MaxWeight / MaxDimensionAmountN重量・寸法上限

子テーブル M_ShipperPackaging / M_ShipperLabels / M_ShipperPickupTypes はいずれも Name・IsDefault を持ち、それぞれ対応する Cfg テーブル(M_ShipperPackagingCfg 等)を参照します。

MShipper には beforeSave/afterSave のオーバーライドはありません。主要メソッド:

  • getShippersForFreightCategory(): 指定した運賃カテゴリの運賃レコードを持つ運送会社の一覧を取得(static)
  • getShippingServiceCode() / isInternational() / isResidential() / isSaturdayDelivery() / getTrackingURL(): Shipper 設定(M_ShipperCfg)に基づく配送サービス属性の参照
  • オンライン出荷連携では MShipperFacadeorg.adempiere.model)と MFreightShipmentProcessor が使用されます

拡張ポイント(カスタマイズ箇所)

Section titled “拡張ポイント(カスタマイズ箇所)”
  • Model Validator: M_Shipper / M_Freight の保存時に独自バリデーション(例: 運賃の重複期間チェック)を追加できます。コア改変は不要です。
  • Shipping Processor: 配送業者 API との連携は M_ShippingProcessor + Cfg テーブル群を実装する OSGi プラグインとして追加するのが標準的な拡張方法です(標準実装例: MFreightShipmentProcessor)。

標準メニュー・本ウィンドウに固有のバッチプロセスはありません(Shipper Create From ボタンのみ)。


運送会社マスタは、配送業者 API 連携(送り状発行・追跡番号取込)の起点となるマスタです。国内配送業者との連携カスタマイズもコア改変なしで実現できます。

As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。

OSS ERP導入・カスタマイズサービスの詳細はこちら