Skip to content

iDempiere 配送業者設定の使い方|在庫管理 操作マニュアル・技術仕様

This content is not available in your language yet.

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

配送業者設定は、配送業者が提供する配送サービスの仕様カタログを登録するマスタです。サービスコード・追跡URL・国際配送や土曜配達の対応可否に加え、その業者で選べる荷姿・ラベル種別・集荷方法を子タブで管理します。

📌 ポイント: このウィンドウは 配送設定 と同じテーブル群(M_ShipperCfg 以下)を扱う別ビューです。接続先の定義を触らず、配送業者単位でメンテナンスしたい場合はこちらが便利です。

  • 配送サービス(翌日便・通常便など)の定義と命名
  • 業者側のサービスコードの登録
  • 追跡URLの登録による荷物追跡ページへのリンク
  • 国際配送 / 土曜配達 / 個人宅配送の対応可否フラグ管理
  • オンライン連携の有効/無効の切り替え
  • 業者が対応する**荷姿(Packaging)**の登録(重量付き)
  • 業者が対応する**ラベル種別(Label Type)**の登録(サイズ・印刷方式付き)
  • 業者が対応する**集荷方法(Pickup Types)**の登録
  • 既存設定のコピーによる類似サービスの一括作成

配送業者を親とする4タブ構成です。

タブ名テーブル階層項目数役割
ShipperM_ShipperCfg013項目配送サービスの基本定義
PackagingM_ShipperPackagingCfg19項目対応する荷姿
Label TypeM_ShipperLabelsCfg111項目対応するラベル形式
Pickup TypesM_ShipperPickupTypesCfg18項目対応する集荷方法
graph TD
    T1["🚚 Shipper<br/>M_ShipperCfg<br/>13項目"]
    T2["📦 Packaging<br/>M_ShipperPackagingCfg<br/>9項目"]
    T3["🏷 Label Type<br/>M_ShipperLabelsCfg<br/>11項目"]
    T4["🕐 Pickup Types<br/>M_ShipperPickupTypesCfg<br/>8項目"]
    T1 --> T2
    T1 --> T3
    T1 --> T4

Shipper M_ShipperCfg 13項目 Packaging M_ShipperPackagingCfg 9項目 Label Type M_ShipperLabelsCfg 11項目 Pickup Types M_ShipperPickupTypesCfg 8項目

💡 ヒント: 3つの子タブは構造がほぼ共通で、いずれも「検索キー・名称・説明・デフォルト」を持ちます。運用ルールとして検索キーの命名規則(業者コード+種別など)を決めておくと管理しやすくなります。

graph TD
    A["📂 メニューから<br/>配送業者設定を開く"] --> B["➕ 新規<br/>配送サービス名を入力"]
    B --> C["🔗 Shipping Processor で<br/>接続先(配送設定)を選択"]
    C --> D["🏷 Service Code と<br/>トラックURL を入力"]
    D --> E["☑️ 国際配送 / 土曜配達 /<br/>個人宅配送 の可否を設定"]
    E --> F["💾 保存"]
    F --> G["📦 Packaging タブで<br/>荷姿を登録"]
    G --> H["🏷 Label Type タブで<br/>ラベル形式を登録"]
    H --> I["🕐 Pickup Types タブで<br/>集荷方法を登録"]
    I --> J["⭐ よく使う選択肢に<br/>デフォルトを設定"]

メニューから 配送業者設定を開く 新規 配送サービス名を入力 Shipping Processor で 接続先(配送設定)を選択 Service Code と トラックURL を入力 国際配送 / 土曜配達 / 個人宅配送 の可否を設定 保存 Packaging タブで 荷姿を登録 Label Type タブで ラベル形式を登録 Pickup Types タブで 集荷方法を登録 よく使う選択肢に デフォルトを設定

アクセス方法(メニューパス)

Section titled “アクセス方法(メニューパス)”

メニューから「在庫管理 > 品目マスタ管理 > Shipper Configuration(配送業者設定)」を開きます。

新規登録(配送サービスの定義)

Section titled “新規登録(配送サービスの定義)”
  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 名称: 配送サービス名(必須・60桁。例: 翌日午前便
    • 説明: 用途のメモ(任意・255桁)
    • Shipping Processor: 接続先の配送設定(オンライン連携する場合に選択)
    • Service Code: 業者側のサービスコード(任意・40桁)
    • トラックURL: 追跡ページの URL(任意・120桁)
  3. 対応可否フラグを設定(いずれも初期値 N):
    • オンラインアクセス: オンライン連携を使う場合にチェック
    • International: 国際配送に対応する場合にチェック
    • Saturday Delivery: 土曜配達に対応する場合にチェック
    • Residential: 個人宅への配送に対応する場合にチェック
  4. 保存」をクリック

💡 ヒント: 同一業者で複数サービスを登録する場合は、1件登録したあと「Shipper Copy From …」ボタンで複製し、差分だけ修正すると効率的です。

  1. Packaging」タブに移動
  2. 以下を入力:
    • 検索キー: 一意コード(必須・40桁。例: BOX-S
    • 名称: 荷姿名(必須。例: 小型ダンボール
    • 重量: 荷姿自体の重量(任意)
    • デフォルト: 既定で選択させる場合にチェック
  3. 保存」をクリック
  1. Label Type」タブに移動
  2. 以下を入力:
    • 検索キー / 名称必須
    • Width / Height: ラベルの幅・高さ
    • Label Print Method: 印刷方式(Eltron / Image / Zebra)
    • デフォルト: 既定選択肢にする場合にチェック
  1. Pickup Types」タブに移動
  2. 検索キー名称必須)と説明を入力し、常用する方法に「デフォルト」を設定

⚠️ 注意: 子タブの3テーブルは親(M_ShipperCfg_ID)が必須かつ更新不可です。登録先の配送業者を間違えた場合は、レコードを作り直す必要があります。

項目名必須説明
クライアント / 組織必須選択テナント・組織
名称必須文字列配送サービス名(60桁)
説明-文字列メモ(255桁)
有効必須チェックアクティブ(初期値 Y)
オンラインアクセス必須チェックオンライン連携の可否(初期値 N)
Shipping Processor-選択接続先の配送設定
Service Code-文字列業者側サービスコード(40桁)
トラックURL-URL追跡ページ URL(120桁)
International必須チェック国際配送対応(初期値 N)
Saturday Delivery必須チェック土曜配達対応(初期値 N)
Residential必須チェック個人宅配送対応(初期値 N)
Shipper Copy From …-ボタン既存設定の複製
項目名必須説明
Shipper必須選択親の配送業者設定(更新不可)
検索キー必須文字列一意コード(40桁)
名称必須文字列表示名(60桁)
説明-文字列メモ(255桁)
デフォルト必須チェック既定選択肢(初期値 N)
有効必須チェックアクティブ(初期値 Y)
タブ項目名説明
Packaging重量数量荷姿の重量
Label TypeWidth / Height数量ラベルの幅・高さ
Label TypeLabel Print MethodリストE=Eltron / I=Image / Z=Zebra
Pickup Types(固有項目なし)-共通項目のみ

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

Q. 配送業者マスタ(Shipper)との違いは何ですか?

Section titled “Q. 配送業者マスタ(Shipper)との違いは何ですか?”

配送業者マスタ(M_Shipper)は伝票で実際に選択する運用マスタです。本ウィンドウの配送業者設定(M_ShipperCfg)は、オンライン配送連携で使うサービス仕様のカタログであり、別テーブルです。詳しくは 配送業者(Shipper)の使い方 を参照してください。

Q. Shipping Processor を指定しないとどうなりますか?

Section titled “Q. Shipping Processor を指定しないとどうなりますか?”

M_ShippingProcessorCfg_ID は必須ではないため、接続先を指定しない配送業者設定も保存できます。ただしオンライン連携(送り状発行・料金照会)は行えないため、オンラインアクセスを使う場合は必ず指定してください。

Q. 「デフォルト」を複数レコードに設定できますか?

Section titled “Q. 「デフォルト」を複数レコードに設定できますか?”

IsDefault は単なる Yes-No カラムで、標準では一意制約や排他制御はありません。運用ルールで1件に絞るか、Model Validator で排他制御を実装してください。

Q. 検索キーは業者をまたいで一意にする必要がありますか?

Section titled “Q. 検索キーは業者をまたいで一意にする必要がありますか?”

AD メタデータ上、検索キー(Value)は「必要な形式で一意」と定義されています。運用上は業者コードを接頭辞に付けるなど、衝突しない命名規則を推奨します。

Q. 設定はテナントごとに必要ですか?

Section titled “Q. 設定はテナントごとに必要ですか?”

M_ShipperCfg 系のテーブルは AccessLevel = 6(System + Client)です。システムレベルの共通定義としても、テナント固有の定義としても登録できます。

🛠 技術仕様(開発者向け)

配送業者設定はマスタデータ型のウィンドウ(AD_Window_ID: 200029)で、ルートテーブルは M_ShipperCfg、子は M_ShipperPackagingCfg / M_ShipperLabelsCfg / M_ShipperPickupTypesCfg の3テーブルです。4テーブルすべて AccessLevel = 6(System + Client)で削除可能です。M_ShipperCfg のテーブル説明は “Method or manner of product delivery” と定義されています。

対応する M クラス(MShipperCfg 70行ほか)はコンストラクタのみの薄い実装で、beforeSave() / afterSave() のオーバーライドはありません。

📌 ポイント: 本ウィンドウは AD_Window_ID: 200028(配送設定)と同じテーブル群を別の起点で表示するビューです。どちらのウィンドウから編集しても同じレコードが更新されます。

classDiagram
    class MShipperCfg {
        <<constructors only>>
    }
    class MShipperPackagingCfg {
        <<constructors only>>
    }
    class MShipperLabelsCfg {
        <<constructors only>>
    }
    class MShipperPickupTypesCfg {
        <<constructors only>>
    }
    class X_M_ShipperCfg {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    MShipperCfg --|> X_M_ShipperCfg
    X_M_ShipperCfg --|> PO
    MShipperCfg --> MShipperPackagingCfg : has many
    MShipperCfg --> MShipperLabelsCfg : has many
    MShipperCfg --> MShipperPickupTypesCfg : has many
    MShipperCfg --> MShippingProcessorCfg : references

<> <> <> > X_M_ShipperCfg X_M_ShipperCfg --

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/MShipperCfg.java(70行) / MShipperPackagingCfg.java / MShipperLabelsCfg.java / MShipperPickupTypesCfg.java

カラム名必須説明備考
M_ShipperCfg_IDIDPK配送業者設定ID主キー
AD_Client_ID / AD_Org_IDTable DirectYテナント/組織既定 @#AD_Client_ID@ / @#AD_Org_ID@
M_ShippingProcessorCfg_IDTable Direct(10)N配送設定FKオンライン連携時に指定
NameString(60)Y名称
DescriptionString(255)N説明
IsOnlineYes-NoYオンラインアクセス既定 N
ShippingServiceCodeString(40)Nサービスコード
TrackingURLURL(120)N追跡URL
IsInternationalYes-NoY国際配送既定 N
IsSaturdayDeliveryYes-NoY土曜配達既定 N
IsResidentialYes-NoY個人宅配送既定 N
CopyFromButton(1)Nコピー元ShipperCopyFrom プロセス
IsActiveYes-NoY有効既定 Y
カラム名必須説明備考
M_ShipperPackagingCfg_IDIDPK荷姿ID主キー
M_ShipperCfg_IDTable Direct(10)Y親FK更新不可
ValueString(40)Y検索キー一意
NameString(60)Y名称
WeightQuantity(14)N重量
IsDefaultYes-NoYデフォルト既定 N
カラム名必須説明備考
M_ShipperLabelsCfg_IDIDPKラベル種別ID主キー
M_ShipperCfg_IDTable Direct(10)Y親FK更新不可
Value / NameStringY検索キー/名称
Width / HeightQuantity(14)N幅・高さ
LabelPrintMethodList(1)N印刷方式E=Eltron, I=Image, Z=Zebra
IsDefaultYes-NoYデフォルト既定 N
カラム名必須説明備考
M_ShipperPickupTypesCfg_IDIDPK集荷方法ID主キー
M_ShipperCfg_IDTable Direct(10)Y親FK更新不可
Value / NameStringY検索キー/名称
DescriptionString(255)N説明
IsDefaultYes-NoYデフォルト既定 N
erDiagram
    M_ShippingProcessorCfg ||--o{ M_ShipperCfg : "processor"
    M_ShipperCfg ||--o{ M_ShipperPackagingCfg : "packaging"
    M_ShipperCfg ||--o{ M_ShipperLabelsCfg : "label types"
    M_ShipperCfg ||--o{ M_ShipperPickupTypesCfg : "pickup types"

label types pickup types

4テーブルに対応する M クラスはいずれもコンストラクタのみで、バリデーションロジックを持ちません。制約は AD メタデータ側で定義されています。

制約内容
親必須子3テーブルの M_ShipperCfg_IDIsMandatory=Y かつ IsUpdateable=N
検索キーValue は必須・40桁、AD 上「必要な形式で一意」と定義
フラグ既定値IsOnline / IsInternational / IsSaturdayDelivery / IsResidential / IsDefault はいずれも既定 N

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

Section titled “拡張ポイント(カスタマイズ箇所)”

デフォルト選択肢の排他制御など、AD だけでは表現できない制約を追加できます。

public class CustomShipperPackagingValidator implements ModelValidator {
@Override
public int modelChange(PO po, int type) throws Exception {
if (po instanceof MShipperPackagingCfg
&& (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE)) {
MShipperPackagingCfg pkg = (MShipperPackagingCfg) po;
if (pkg.isDefault()) {
// 例: 同一 Shipper 配下のデフォルトを1件に制限する
int cnt = new Query(pkg.getCtx(), MShipperPackagingCfg.Table_Name,
"M_ShipperCfg_ID=? AND IsDefault='Y' AND M_ShipperPackagingCfg_ID<>?",
pkg.get_TrxName())
.setParameters(pkg.getM_ShipperCfg_ID(), pkg.get_ID())
.count();
if (cnt > 0) {
throw new AdempiereException("デフォルトの荷姿は配送業者ごとに1件だけ設定できます");
}
}
}
return null;
}
}

4テーブルとも標準の Callout は設定されていません(AD メタデータ上 Callout 列は空)。

配送業者設定の値は、IShipmentProcessor 実装が送り状発行や料金照会のリクエストを組み立てる際に参照されます。業者固有の項目が必要な場合は、テーブルに列を追加するのではなく、独自テーブル+タブ拡張または AD_Column の追加を Application Dictionary 上で行い、プラグイン側の実装で読み取る構成が保守しやすくなります。

プロセス名クラス説明
Shipper Copy Fromorg.adempiere.process.ShipperCopyFrom既存の配送業者設定を複製
Shipper Create Fromorg.adempiere.process.ShipperCreateFrom配送業者設定から関連レコードを作成

配送業者ごとの荷姿・ラベル・集荷方法のカタログは、実際の業者仕様に合わせた項目追加や選択制御が必要になりがちです。 Model Validator とタブ拡張により、コア改変なしで自社の配送オペレーションに合わせた設定画面を実現できます。

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

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