コンテンツにスキップ

iDempiere 経費マスタ(タイプ毎)の使い方|取引先管理 操作マニュアル・技術仕様

📖 取引先管理の全体像: 取引先管理の全体図 も合わせてご覧ください。

経費マスタ(タイプ毎)は、立替経費報告で使用する経費の分類(旅費、交通費、宿泊費など)を定義するマスタです。経費タイプを登録すると、対応する経費品目(ProductType=E の品目)が自動的に作成・同期され、経費報告の明細や顧客への再請求で使用できるようになります。

📌 ポイント: 経費タイプを保存すると品目マスタ(M_Product)が自動生成されます。名称や数量単位の変更は必ず経費タイプ側で行ってください。品目側を直接変更しても、経費タイプの保存時に上書き同期されます。

経費マスタ(タイプ毎)でできること

Section titled “経費マスタ(タイプ毎)でできること”
  • 経費の分類(旅費・交通費・宿泊費等)の定義
  • 経費品目(ProductType=E)の自動生成・同期
  • 「請求済み」フラグによる顧客再請求対象の指定
  • 価格表ごとの経費単価の設定(価格タブ)
  • 経費計上時に使用する勘定科目の設定(会計タブ)
  • 品目カテゴリ・税カテゴリによる分類と税計算
タブ名テーブル項目数役割
経費タイプS_ExpenseType約10項目経費分類の基本情報(名称・単位・再請求可否等)
経費品目M_Product約24項目自動生成された経費品目の詳細
価格M_ProductPrice約8項目価格表ごとの営業定価・実績価格・限度価格
会計M_Product_Acct約13項目会計スキーマごとの費用・売上勘定等

💡 ヒント: 通常の登録作業は「経費タイプ」タブだけで完了します。経費品目タブは自動生成された品目の確認用で、価格・会計タブは再請求や原価管理を行う場合に設定します。

graph TD
    A["🚀 メニューから開く<br/>取引先管理 > サービス > 経費マスタ(タイプ毎)(標準)"] --> B["➕ 新規で基本情報を入力<br/>(検索キー・名称・数量単位・品目カテゴリ・税カテゴリ)"]
    B --> C{顧客に再請求する?}
    C -->|する| D["✅ 請求済みフラグをチェック"]
    C -->|しない| E["⬜ 請求済みフラグはオフのまま"]
    D --> F["💾 保存<br/>(経費品目が自動生成される)"]
    E --> F
    F --> G["💴 価格タブで<br/>再請求単価を設定(任意)"]
    G --> H["📒 会計タブで<br/>費用勘定を確認"]
    H --> I["🔗 立替経費及び作業時間報告の<br/>明細で品目として選択可能に"]

メニューから開く 取引先管理 > サービス > 経費マスタ(タイプ毎)(標準) 新規で基本情報を入力 (検索キー・名称・数量単位・品目カテゴリ・税カテゴリ) 請求済みフラグをチェック 請求済みフラグはオフのまま 保存 (経費品目が自動生成される) 価格タブで 再請求単価を設定(任意) 会計タブで 費用勘定を確認 立替経費及び作業時間報告の 明細で品目として選択可能に 顧客に再請求する? する しない

メニューから「取引先管理 > サービス > 経費マスタ(タイプ毎)(標準)」を開きます。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 検索キー: 経費タイプコード(例: TRAVEL)。省略すると名称が自動セットされます
    • 名称: 経費タイプ名(例: 旅費交通費
    • 数量単位: 経費計上の単位(例: 回、km)
    • 請求済み: 顧客へ再請求する経費の場合にチェック
    • 品目カテゴリ: 自動生成される経費品目の分類(会計初期値の基準)
    • 税カテゴリ: 適用する税カテゴリ
  3. 保存」をクリック(この時点で経費品目が自動生成されます)
項目名必須説明
検索キー必須文字列(40)経費タイプの一意コード(未入力時は名称を自動採用)
名称必須文字列(60)経費タイプ名
説明-文字列補足説明
数量単位必須選択経費計上の単位
請求済み必須チェック顧客への再請求対象とするか
品目カテゴリ必須選択自動生成品目の分類カテゴリ
税カテゴリ必須選択税計算のカテゴリ
有効必須チェック使用可否

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

Q. 経費品目タブの品目はどこから来たのですか?

Section titled “Q. 経費品目タブの品目はどこから来たのですか?”

経費タイプの新規保存時に、システムが自動で作成した品目(M_Product、ProductType=E)です。MExpenseType.beforeSave() が新規レコード保存時に品目を生成し、以降は保存のたびに afterSave() が名称等を品目へ同期します。手動で品目を作成する必要はありません。

Q. 品目マスタ側で経費品目の名前を変更してもよいですか?

Section titled “Q. 品目マスタ側で経費品目の名前を変更してもよいですか?”

推奨されません。経費タイプを保存すると経費タイプ側の内容で品目が上書き同期されるため、変更は必ず経費タイプ側で行ってください。

Q. 「請求済み」フラグは何に使われますか?

Section titled “Q. 「請求済み」フラグは何に使われますか?”

このフラグが有効な経費タイプで計上された経費明細は、顧客への再請求対象になります。再請求の流れは経費精算伝票で確認・処理します。

Q. 検索キーを入力せずに保存できますか?

Section titled “Q. 検索キーを入力せずに保存できますか?”

できます。検索キーが未入力の場合、保存時に名称が検索キーとして自動セットされます(MExpenseType.beforeSave() の仕様)。

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

経費タイプはマスタ型ウィンドウ(AD_Window_ID: 234)で、S_ExpenseType テーブルに格納されます。MExpenseType クラス(113行)が品目の自動生成・同期を担う小規模なモデルクラスです。Document 型ではありません。

classDiagram
    class MExpenseType {
        +getProduct() MProduct
        #beforeSave(boolean) boolean
        #afterSave(boolean, boolean) boolean
    }
    class X_S_ExpenseType {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    MExpenseType --|> X_S_ExpenseType
    X_S_ExpenseType --|> PO
    MExpenseType --> MProduct : auto create / sync

+getProduct() MProduct #beforeSave(boolean) boolean #afterSave(boolean, boolean) boolean <> <> > X_S_ExpenseType X_S_ExpenseType --

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

テーブル属性: 削除可、アクセスレベル 3(Client+Org)

カラム名必須説明備考
S_ExpenseType_IDIDPK経費タイプID主キー
AD_Client_IDTableDirectYクライアントdefault @#AD_Client_ID@
AD_Org_IDTableDirectY組織default @#AD_Org_ID@
ValueString(40)Y検索キー未入力時は Name を自動採用
NameString(60)Y名称
DescriptionString(255)N説明
C_UOM_IDTableDirectY数量単位
IsInvoicedYesNoY再請求対象
M_Product_Category_IDTableDirectY品目カテゴリ
C_TaxCategory_IDTableDirectY税カテゴリ
IsActiveYesNoY有効default Y

このほか経費品目タブは M_Product、価格タブは M_ProductPrice、会計タブは M_Product_Acct を使用します(品目マスタの技術仕様参照)。

MExpenseType の保存処理(ソース根拠):

  1. beforeSave(新規時): Value 未設定なら Name をセットし、new MProduct(this) で経費品目を生成して先に保存
  2. afterSave(毎回): getProduct() で紐づく品目を取得し、MProduct.setExpenseType(this) で名称・単位等に差分があれば品目を更新保存

この双方向同期により、経費タイプと経費品目は常に一致します。

public class ExpenseTypeValidator implements ModelValidator {
@Override
public int modelChange(PO po, int type) throws Exception {
if (po instanceof MExpenseType && type == TYPE_BEFORE_NEW) {
MExpenseType et = (MExpenseType) po;
// 例: 経費タイプコードの命名規則チェック
}
return 0;
}
}

このテーブルに標準 Callout はありません(gw_column.tsv 上 callout 定義なし)。


経費タイプと品目の自動同期は Model Validator でコア改変なしに拡張できます。経費分類の体系化や承認ルールの追加もお任せください。

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

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