iDempiere 資産除却2の使い方|固定資産管理 操作マニュアル・技術仕様
📖 固定資産管理の全体像: 固定資産管理の全体図 も合わせてご覧ください。
資産除却2(Asset Disposal2)は、固定資産の除却(Disposal)に必要な GL 仕訳エントリを作成するためのウィンドウです。Step1 で対象資産を選択し、Step2 で除却方法・除却日付・売却額(Proceeds)等を指定して処理します。
⚠️ 注意: このウィンドウは iDempiere 13 標準では無効化されています(旧バージョンからの互換用)。新規の業務設計での利用は推奨されません。除却レコード(A_Asset_Disposed)は仕入請求書の明細からの生成ルート(
MAssetDisposed.createAssetDisposed(MInvoiceLine))も用意されています。
📌 ポイント: 除却方法(Disposed Method)により処理が分岐します。単純除却・下取は資産ステータスを「除却済み」に変更して全額除却、保全(Preservation)はステータス変更のみ、一部除却(Partial Retirement)は指定額での除却明細作成となります。
資産除却2でできること
Section titled “資産除却2でできること”- 除却対象資産の選択(Step1: 資産マスタの参照)
- 除却方法(Disposed Method)・除却理由(Disposed Reason)の指定
- 除却日付・伝票日付・転記日付の指定
- 売却額(Asset Proceeds)・下取資産(Asset Trade)の記録
- 除却額・償却累計差分・除却損(Expense)の自動計算
- 資産ステータスの変更(除却済み/保全)
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| Step1 Select an Asset | A_Asset | 約38項目 | 除却対象資産の選択 |
| Step2 Asset Disposal | A_Asset_Disposed | 約13項目 | 除却条件の入力と処理 |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 資産除却2を開く<br/>(標準では無効化・互換用)"] --> B["① Step1<br/>除却対象の資産を選択"]
B --> C["② Step2<br/>除却方法・除却日付を入力"]
C --> D{Disposed Method}
D -->|単純除却 / 下取| E["🗑 全額除却<br/>ステータス=除却済み<br/>除却額・累計差分を自動セット"]
D -->|保全 Preservation| F["📦 ステータス=保全のみ"]
D -->|一部除却| G["✂️ 指定額で除却明細作成"]
E --> H["▶ Processingボタンで完了"]
F --> H
G --> H
H --> I["📒 除却資産仕訳作成で<br/>GLへ転記"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”標準メニューには未登録のウィンドウで、iDempiere 13 標準では画面自体が無効化されています(AD_Window_ID: 53049)。検証・互換目的で使用する場合はシステム管理者がウィンドウを有効化し、ロールに割り当てる必要があります。
除却の実行手順
Section titled “除却の実行手順”- Step1 タブで除却対象の資産レコードに移動
- Step2 タブで除却条件を入力:
- Disposed Method: 除却方法(必須)
- Disposed Reason: 除却理由(任意)
- 処理日付(除却日付)/ 伝票日付 / 転記日付: Callout により連動入力
- Asset Proceeds: 売却額(任意)
- Asset Trade: 下取で置き換える資産(任意)
- 「Processing」ボタンで伝票処理(完了)を実行
- 除却結果の GL 転記は除却資産仕訳作成で処理
A_Asset_Disposed は DocStatus / DocAction を持つ伝票テーブルです。完了(Complete)時に資産ステータスの変更と除却明細の作成が行われます(詳細は技術仕様参照)。
項目リファレンス(Step2 Asset Disposal タブ)
Section titled “項目リファレンス(Step2 Asset Disposal タブ)”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 資産 | 必須 | 検索 | 除却対象資産(Calloutで残高自動転記) |
| Disposed Method | 必須 | リスト | 除却方法(処理分岐の基準) |
| Disposed Reason | - | リスト | 除却理由 |
| 処理日付 | 必須 | 日付 | 除却日付(未入力時は転記日付を自動セット) |
| 伝票日付 / 転記日付 | 必須 | 日付 | Callout で連動・期間自動セット |
| 期間 | - | 選択 | 会計期間 |
| Asset Proceeds | - | 金額 | 売却・処分収入 |
| Asset Trade | - | 検索 | 下取対象の資産 |
| 処理中 | 必須 | ボタン | 伝票処理の実行 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. この画面は使ってよいですか?
Section titled “Q. この画面は使ってよいですか?”iDempiere 13 標準では無効化されており、旧バージョンからの互換用です。新規の業務設計では、仕入請求書明細からの除却レコード生成(MAssetDisposed.createAssetDisposed(MInvoiceLine))等、現行の除却フローを検討してください。
Q. 完了時に AssetAlreadyDepreciatedException が出ます
Section titled “Q. 完了時に AssetAlreadyDepreciatedException が出ます”prepareIt() は償却ワークファイルの isDepreciated(転記日付) を確認し、転記日付時点で既に償却処理済みの場合は例外を投げます。また未処理の償却明細が存在する場合も完了できません(MDepreciationExp.checkExistsNotProcessedEntries)。先に該当期間の償却処理を確定してください。
Q. 除却方法による違いは?
Section titled “Q. 除却方法による違いは?”completeIt() の実装では以下のように分岐します。
| 除却方法 | 資産ステータス | 処理内容 |
|---|---|---|
| 単純除却(Simple) | 除却済み | 除却額=取得価額、累計差分=償却累計をセットし除却明細作成 |
| 下取(Trade) | 除却済み | 同上(下取資産を Asset Trade に記録) |
| 保全(Preservation) | 保全 | ステータス変更のみ |
| 一部除却(Partial Retirement) | 変更なし | 指定額で除却明細作成 |
Q. 除却損はどこに計算されますか?
Section titled “Q. 除却損はどこに計算されますか?”単純除却・下取の場合、Expense = 除却額(A_Disposal_Amt)− 償却累計差分(A_Accumulated_Depr_Delta) が完了処理内で自動計算・セットされます。
🛠 技術仕様(開発者向け)
資産除却2 は A_Asset(親タブ)と A_Asset_Disposed(除却レコード)の 2 階層構成です。MAssetDisposed クラス(522行)が DocAction を実装し、除却方法に応じた資産ステータス変更・除却額計算・除却明細作成を行います。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MAssetDisposed {
+createAssetDisposed(MInvoiceLine) MAssetDisposed
+processIt(action) boolean
+prepareIt() String
+completeIt() String
+beforeSave(newRecord) boolean
+updateFromAsset(bean) void
+isDisposal() boolean
+getAsset() MAsset
}
class X_A_Asset_Disposed {
<<generated>>
}
class MAsset {
+changeStatus(status, date) void
}
class PO {
<<abstract>>
}
class DocAction {
<<interface>>
}
MAssetDisposed --|> X_A_Asset_Disposed
X_A_Asset_Disposed --|> PO
MAssetDisposed ..|> DocAction
MAssetDisposed --> MAsset : changes status
MAssetDisposed --> MDepreciationWorkfile : checks isDepreciated
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MAssetDisposed.java
関連DBテーブル
Section titled “関連DBテーブル”A_Asset_Disposed(資産除却)
Section titled “A_Asset_Disposed(資産除却)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| A_Asset_Disposed_ID | ID | PK | 除却ID | 識別子 |
| A_Asset_ID | Search | Y | 対象資産 | callout: CalloutA_Asset_Disposed.asset |
| A_Disposed_Method | List | Y | 除却方法 | 処理分岐の基準 |
| A_Disposed_Reason | List | N | 除却理由 | |
| A_Disposed_Date | Date | Y | 除却日付 | callout: CalloutA_Asset_Disposed.date |
| DateDoc / DateAcct | Date | Y | 伝票日付/転記日付 | callout: CalloutA_Asset_Disposed.date |
| C_Period_ID | Table | N | 期間 | beforeSave で自動セット |
| A_Asset_Cost | Amount | N | 取得価額 | 資産から転記 |
| A_Accumulated_Depr | Amount | Y | 償却累計額 | callout: CalloutA_Asset_Disposed.amt |
| A_Disposal_Amt | Amount | Y | 除却額 | callout: CalloutA_Asset_Disposed.amt |
| A_Accumulated_Depr_Delta | Amount | Y | 償却累計差分 | |
| Expense | Number | Y | 除却損 | 完了時に自動計算 |
| A_Proceeds | Amount | N | 売却額 | |
| A_Asset_Trade_ID | Search | N | 下取資産 | |
| A_Activation_Method | List | Y | 再稼働方法 | デフォルト ‘AA’ |
| C_Invoice_ID / C_InvoiceLine_ID | Search | N | 請求書/明細 | 請求書経由の除却 |
| DocStatus / DocAction | List / Button | - | 伝票状態/アクション | ’DR’ / ‘CO’ |
| PostingType | List | Y | 転記タイプ | callout: asset |
ビジネスロジック
Section titled “ビジネスロジック”beforeSave()
Section titled “beforeSave()”- DateAcct 未入力なら DateDoc をセット
- 新規または DateAcct 変更時に
MPeriod.getで C_Period_ID を自動セット - A_Disposed_Date 未入力なら DateAcct をセット
prepareIt()
Section titled “prepareIt()”MPeriod.testPeriodOpen(GL Document として期間オープンチェック)updateFromAssetで資産から最新残高を再転記し、値が変わった場合は AssetStatusChangedException(処理中に資産が変更された)MDepreciationWorkfile.isDepreciated(DateAcct)→ 償却済みなら AssetAlreadyDepreciatedExceptionMDepreciationExp.checkExistsNotProcessedEntries→ 未処理償却明細があればエラー
completeIt()
Section titled “completeIt()”flowchart TD
A[completeIt] --> B{isDisposal?}
B -->|No 再稼働| C["A_Activation_Method=Activation<br/>→ 資産ステータス=稼働中"]
B -->|Yes 除却| D{Disposed Method}
D -->|Preservation| E[ステータス=保全]
D -->|Simple / Trade| F["ステータス=除却済み<br/>除却額=取得価額<br/>累計差分=償却累計<br/>Expense=除却額-累計差分<br/>createDisposal()"]
D -->|PartialRetirement| G["createDisposal() のみ"]
C --> H[資産を保存 → Processed=Y → 完了]
E --> H
F --> H
G --> H
除却だけでなく、A_Activation_Method=Activation による再稼働(ステータスを稼働中へ戻す)も同じ伝票で処理されます。
createAssetDisposed(MInvoiceLine)
Section titled “createAssetDisposed(MInvoiceLine)”仕入請求書の明細から除却レコードを生成する静的ファクトリです。現行の除却フローではこちらのルートが使用できます。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”- 標準 Callout:
org.idempiere.fa.model.CalloutA_Asset_Disposed(asset / amt / date)— 資産選択時の残高転記、金額連動、日付連動を担当 - 除却の追加検証(証憑必須化・除却理由の必須化等)は Model Validator の
docValidate(TIMING_BEFORE_COMPLETE)で拡張できます
関連プロセス
Section titled “関連プロセス”Processing ボタンから伝票処理(DocAction)が起動されます。GL への転記は除却資産仕訳作成のエントリ完了処理で行います。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”除却処理は互換用画面の扱いも含めてバージョンごとの差異が大きい領域です。現行バージョンでの安全な除却フロー設計・移行はお任せください。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。