Skip to content

iDempiere 初年度減価償却規約の使い方|固定資産管理 操作マニュアル・技術仕様

This content is not available in your language yet.

📖 固定資産管理の全体像: 固定資産管理の全体図 も合わせてご覧ください。

初年度減価償却規約(Depreciation First Year Conventions)は、資産の取得初年度に償却費をどう按分するか(いつから償却を開始したとみなすか)の「規約(Convention)」を定義するマスタウィンドウです。ここで定義された規約タイプが償却計算時に参照されます。

📌 ポイント: 規約タイプのコード(ConventionType)はソースコード内の適用メソッドと対応しています。標準実装は満月規約(FMCON: Full Month Convention)で、月の途中に取得しても当月分から満額償却する方式です。

初年度減価償却規約でできること

Section titled “初年度減価償却規約でできること”
  • 利用可能な初年度規約の一覧確認
  • 規約タイプコード(ConventionType)と名称の管理
  • 説明・テキストメッセージによる規約内容の文書化
  • 有効フラグによる利用可否の制御

シンプルな 1 タブ構成です。

タブ名テーブル項目数役割
Setup ConventionsA_Depreciation_Convention約5項目初年度規約の定義(名称・タイプ・説明)
graph TD
    A["🚀 ウィンドウを開く<br/>(メニュー未登録のため登録が必要)"] --> B["🔍 標準登録済みの規約を確認<br/>(FMCON=満月規約 等)"]
    B --> C{"新しい規約が必要?"}
    C -->|No| D["✅ 資産グループ会計等の<br/>償却設定で規約を選択"]
    C -->|Yes| E["🛠 対応する計算実装を<br/>プラグインで開発"]
    E --> F["➕ 新規で規約を登録<br/>(名称・ConventionType)"]
    F --> D

ウィンドウを開く (メニュー未登録のため登録が必要) 標準登録済みの規約を確認 (FMCON=満月規約 等) 新しい規約が必要? 資産グループ会計等の 償却設定で規約を選択 対応する計算実装を プラグインで開発 新規で規約を登録 (名称・ConventionType)

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

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

iDempiere 13 標準ではメニュー未登録です(AD_Window_ID: 53060)。利用する場合はシステム管理者がメニューに登録するか、ウィンドウ直接起動で開きます。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 名称: 規約の名称
    • ConventionType: 計算ロジックと対応するタイプコード(10文字・識別子)
    • 説明: 規約の説明
  3. 保存」をクリック

⚠️ 注意: タイプコードに対応する適用ロジックが実装されていない規約は、登録しても償却計算では機能しません。

項目名必須説明
クライアント必須選択テナント
組織必須選択対象組織
名称-文字列規約の名称
ConventionType-文字列計算ロジック対応コード(例: FMCON)
説明-文字列規約の説明

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

Q. 「規約(Convention)」とは何を決めるものですか?

Section titled “Q. 「規約(Convention)」とは何を決めるものですか?”

取得初年度(および期中取得)の償却費を、どの期間からどれだけ計上するかの取り決めです。例えば標準実装の満月規約(FMCON)は「取得月を 1 ヶ月まるごと償却対象とみなす」方式です。半年規約などを使う場合は対応する実装の追加が必要です。

Q. 規約はどこで資産に紐づきますか?

Section titled “Q. 規約はどこで資産に紐づきますか?”

規約マスタ自体は定義のみを持ちます。償却計算時には資産のワークファイル・資産会計設定(MDepreciationWorkfile / MAssetAcct)とともに invoke() へ渡されて適用されます。資産側の償却設定は資産グループ資産マスタで行います。

MDepreciationConvention はイミュータブルキャッシュ(静的 get() / markImmutable())を持つため、キャッシュ経由で参照されます。反映されない場合はキャッシュリセットを実施してください。

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

初年度減価償却規約は A_Depreciation_Convention テーブル(削除不可・アクセスレベル 7)に格納されるマスタです。MDepreciationConvention クラス(223行)が規約の適用(invoke())とイミュータブルキャッシュを実装します。

classDiagram
    class MDepreciationConvention {
        +get(A_Depreciation_Convention_ID) MDepreciationConvention
        +invoke(assetwk, assetAcct, Flag, Period) BigDecimal
        +invoke(A_Asset_ID, PostingType, acctId, Flag, Period) BigDecimal
        +apply_FMCON(A_Asset_ID, PostingType, acctId, Flag, Period) BigDecimal
        +markImmutable() MDepreciationConvention
    }
    class X_A_Depreciation_Convention {
        <<generated>>
    }
    class MDepreciationWorkfile {
        +getA_Asset_ID() int
    }
    class MAssetAcct {
        +getA_Depreciation_Conv_ID() int
    }
    class PO {
        <<abstract>>
    }
    MDepreciationConvention --|> X_A_Depreciation_Convention
    X_A_Depreciation_Convention --|> PO
    MDepreciationConvention ..> MDepreciationWorkfile : applies to
    MDepreciationConvention ..> MAssetAcct : referenced by

+get(A_Depreciation_Convention_ID) MDepreciationConvention +invoke(assetwk, assetAcct, Flag, Period) BigDecimal +invoke(A_Asset_ID, PostingType, acctId, Flag, Period) BigDecimal +apply_FMCON(A_Asset_ID, PostingType, acctId, Flag, Period) BigDecimal +markImmutable() MDepreciationConvention <> +getA_Asset_ID() int +getA_Depreciation_Conv_ID() int <> > X_A_Depreciation_Convention X_A_Depreciation_Convention --

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

A_Depreciation_Convention(初年度減価償却規約)

Section titled “A_Depreciation_Convention(初年度減価償却規約)”
カラム名必須説明備考
A_Depreciation_Convention_IDIDPK主キー
AD_Client_IDTableDirectYクライアント
AD_Org_IDTableDirectY組織
NameStringN名称120文字
ConventionTypeStringN規約タイプコード10文字・識別子(IsIdentifier=Y)
DescriptionStringN説明
TextMsgMemoNテキストメッセージ
ProcessedYesNoY処理済み既定値 N
IsActiveYesNoY有効

invoke(MDepreciationWorkfile, MAssetAcct, Flag, Period) はワークファイル・資産会計設定から資産 ID / 転記タイプ / 会計設定 ID を取り出し、invoke(A_Asset_ID, PostingType, A_Asset_Acct_ID, Flag, Period) に委譲します。内部では ConventionType に応じて適用メソッドへ分岐します。

標準で実装されている規約は apply_FMCON(Full Month Convention: 満月規約)です。取得月を満額の 1 期間として扱う方式で、月中の日割按分は行いません。

get(ctx, id) はイミュータブルキャッシュ経由で規約を返します(markImmutable())。マスタ変更時はキャッシュリセットが必要です。

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

Section titled “拡張ポイント(カスタマイズ箇所)”
  • 規約の追加: 半年規約(Half-Year Convention)等を追加する場合、ConventionType の新コード登録に加えて適用ロジックの実装が必要です。コア改変を避けるには、償却計算全体を IDepreciationMethod減価償却方法参照)側で置き換える設計が現実的です。
  • Model Validator: 規約マスタの保存時にコード命名規則チェック等を追加できます。このテーブルに標準 Callout はありません。

リファレンスページ・メニューに関連プロセスの登録はありません(参照系マスタ)。


期中取得資産の月割・半年規約など、日本の実務に合わせた初年度償却ルールはプラグインでの計算ロジック追加により実現できます。

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

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