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 Conventions | A_Depreciation_Convention | 約5項目 | 初年度規約の定義(名称・タイプ・説明) |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 ウィンドウを開く<br/>(メニュー未登録のため登録が必要)"] --> B["🔍 標準登録済みの規約を確認<br/>(FMCON=満月規約 等)"]
B --> C{"新しい規約が必要?"}
C -->|No| D["✅ 資産グループ会計等の<br/>償却設定で規約を選択"]
C -->|Yes| E["🛠 対応する計算実装を<br/>プラグインで開発"]
E --> F["➕ 新規で規約を登録<br/>(名称・ConventionType)"]
F --> D
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”iDempiere 13 標準ではメニュー未登録です(AD_Window_ID: 53060)。利用する場合はシステム管理者がメニューに登録するか、ウィンドウ直接起動で開きます。
- ツールバーの「新規」ボタンをクリック
- 基本情報を入力:
- 名称: 規約の名称
- ConventionType: 計算ロジックと対応するタイプコード(10文字・識別子)
- 説明: 規約の説明
- 「保存」をクリック
⚠️ 注意: タイプコードに対応する適用ロジックが実装されていない規約は、登録しても償却計算では機能しません。
項目リファレンス
Section titled “項目リファレンス”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| クライアント | 必須 | 選択 | テナント |
| 組織 | 必須 | 選択 | 対象組織 |
| 名称 | - | 文字列 | 規約の名称 |
| ConventionType | - | 文字列 | 計算ロジック対応コード(例: FMCON) |
| 説明 | - | 文字列 | 規約の説明 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 「規約(Convention)」とは何を決めるものですか?
Section titled “Q. 「規約(Convention)」とは何を決めるものですか?”取得初年度(および期中取得)の償却費を、どの期間からどれだけ計上するかの取り決めです。例えば標準実装の満月規約(FMCON)は「取得月を 1 ヶ月まるごと償却対象とみなす」方式です。半年規約などを使う場合は対応する実装の追加が必要です。
Q. 規約はどこで資産に紐づきますか?
Section titled “Q. 規約はどこで資産に紐づきますか?”規約マスタ自体は定義のみを持ちます。償却計算時には資産のワークファイル・資産会計設定(MDepreciationWorkfile / MAssetAcct)とともに invoke() へ渡されて適用されます。資産側の償却設定は資産グループ・資産マスタで行います。
Q. 変更がすぐ反映されません
Section titled “Q. 変更がすぐ反映されません”MDepreciationConvention はイミュータブルキャッシュ(静的 get() / markImmutable())を持つため、キャッシュ経由で参照されます。反映されない場合はキャッシュリセットを実施してください。
🛠 技術仕様(開発者向け)
初年度減価償却規約は A_Depreciation_Convention テーブル(削除不可・アクセスレベル 7)に格納されるマスタです。MDepreciationConvention クラス(223行)が規約の適用(invoke())とイミュータブルキャッシュを実装します。
アーキテクチャ概要
Section titled “アーキテクチャ概要”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
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MDepreciationConvention.java
関連DBテーブル
Section titled “関連DBテーブル”A_Depreciation_Convention(初年度減価償却規約)
Section titled “A_Depreciation_Convention(初年度減価償却規約)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| A_Depreciation_Convention_ID | ID | PK | 主キー | |
| AD_Client_ID | TableDirect | Y | クライアント | |
| AD_Org_ID | TableDirect | Y | 組織 | |
| Name | String | N | 名称 | 120文字 |
| ConventionType | String | N | 規約タイプコード | 10文字・識別子(IsIdentifier=Y) |
| Description | String | N | 説明 | |
| TextMsg | Memo | N | テキストメッセージ | |
| Processed | YesNo | Y | 処理済み | 既定値 N |
| IsActive | YesNo | Y | 有効 |
ビジネスロジック
Section titled “ビジネスロジック”invoke() — 規約の適用
Section titled “invoke() — 規約の適用”invoke(MDepreciationWorkfile, MAssetAcct, Flag, Period) はワークファイル・資産会計設定から資産 ID / 転記タイプ / 会計設定 ID を取り出し、invoke(A_Asset_ID, PostingType, A_Asset_Acct_ID, Flag, Period) に委譲します。内部では ConventionType に応じて適用メソッドへ分岐します。
apply_FMCON — 満月規約
Section titled “apply_FMCON — 満月規約”標準で実装されている規約は apply_FMCON(Full Month Convention: 満月規約)です。取得月を満額の 1 期間として扱う方式で、月中の日割按分は行いません。
get(ctx, id) はイミュータブルキャッシュ経由で規約を返します(markImmutable())。マスタ変更時はキャッシュリセットが必要です。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”- 規約の追加: 半年規約(Half-Year Convention)等を追加する場合、
ConventionTypeの新コード登録に加えて適用ロジックの実装が必要です。コア改変を避けるには、償却計算全体をIDepreciationMethod(減価償却方法参照)側で置き換える設計が現実的です。 - Model Validator: 規約マスタの保存時にコード命名規則チェック等を追加できます。このテーブルに標準 Callout はありません。
関連プロセス
Section titled “関連プロセス”リファレンスページ・メニューに関連プロセスの登録はありません(参照系マスタ)。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”期中取得資産の月割・半年規約など、日本の実務に合わせた初年度償却ルールはプラグインでの計算ロジック追加により実現できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。