コンテンツにスキップ

iDempiere 資産除却2の使い方|固定資産管理 操作マニュアル・技術仕様

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

資産除却2(Asset Disposal2)は、固定資産の除却(Disposal)に必要な GL 仕訳エントリを作成するためのウィンドウです。Step1 で対象資産を選択し、Step2 で除却方法・除却日付・売却額(Proceeds)等を指定して処理します。

⚠️ 注意: このウィンドウは iDempiere 13 標準では無効化されています(旧バージョンからの互換用)。新規の業務設計での利用は推奨されません。除却レコード(A_Asset_Disposed)は仕入請求書の明細からの生成ルート(MAssetDisposed.createAssetDisposed(MInvoiceLine))も用意されています。

📌 ポイント: 除却方法(Disposed Method)により処理が分岐します。単純除却・下取は資産ステータスを「除却済み」に変更して全額除却、保全(Preservation)はステータス変更のみ、一部除却(Partial Retirement)は指定額での除却明細作成となります。

  • 除却対象資産の選択(Step1: 資産マスタの参照)
  • 除却方法(Disposed Method)・除却理由(Disposed Reason)の指定
  • 除却日付・伝票日付・転記日付の指定
  • 売却額(Asset Proceeds)・下取資産(Asset Trade)の記録
  • 除却額・償却累計差分・除却損(Expense)の自動計算
  • 資産ステータスの変更(除却済み/保全)
タブ名テーブル項目数役割
Step1 Select an AssetA_Asset約38項目除却対象資産の選択
Step2 Asset DisposalA_Asset_Disposed約13項目除却条件の入力と処理
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へ転記"]

資産除却2を開く (標準では無効化・互換用) ① Step1 除却対象の資産を選択 ② Step2 除却方法・除却日付を入力 全額除却 ステータス=除却済み 除却額・累計差分を自動セット ステータス=保全のみ 指定額で除却明細作成 ▶ Processingボタンで完了 除却資産仕訳作成で GLへ転記 Disposed Method 単純除却 / 下取 保全 Preservation 一部除却

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

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

標準メニューには未登録のウィンドウで、iDempiere 13 標準では画面自体が無効化されています(AD_Window_ID: 53049)。検証・互換目的で使用する場合はシステム管理者がウィンドウを有効化し、ロールに割り当てる必要があります。

  1. Step1 タブで除却対象の資産レコードに移動
  2. Step2 タブで除却条件を入力:
    • Disposed Method: 除却方法(必須)
    • Disposed Reason: 除却理由(任意)
    • 処理日付(除却日付)/ 伝票日付 / 転記日付: Callout により連動入力
    • Asset Proceeds: 売却額(任意)
    • Asset Trade: 下取で置き換える資産(任意)
  3. Processing」ボタンで伝票処理(完了)を実行
  4. 除却結果の 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-検索下取対象の資産
処理中必須ボタン伝票処理の実行

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

Q. この画面は使ってよいですか?

Section titled “Q. この画面は使ってよいですか?”

iDempiere 13 標準では無効化されており、旧バージョンからの互換用です。新規の業務設計では、仕入請求書明細からの除却レコード生成(MAssetDisposed.createAssetDisposed(MInvoiceLine))等、現行の除却フローを検討してください。

Q. 完了時に AssetAlreadyDepreciatedException が出ます

Section titled “Q. 完了時に AssetAlreadyDepreciatedException が出ます”

prepareIt() は償却ワークファイルの isDepreciated(転記日付) を確認し、転記日付時点で既に償却処理済みの場合は例外を投げます。また未処理の償却明細が存在する場合も完了できません(MDepreciationExp.checkExistsNotProcessedEntries)。先に該当期間の償却処理を確定してください。

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 を実装し、除却方法に応じた資産ステータス変更・除却額計算・除却明細作成を行います。

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

+createAssetDisposed(MInvoiceLine) MAssetDisposed +processIt(action) boolean +prepareIt() String +completeIt() String +beforeSave(newRecord) boolean +updateFromAsset(bean) void +isDisposal() boolean +getAsset() MAsset <> +changeStatus(status, date) void <> <> > X_A_Asset_Disposed X_A_Asset_Disposed --

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

カラム名必須説明備考
A_Asset_Disposed_IDIDPK除却ID識別子
A_Asset_IDSearchY対象資産callout: CalloutA_Asset_Disposed.asset
A_Disposed_MethodListY除却方法処理分岐の基準
A_Disposed_ReasonListN除却理由
A_Disposed_DateDateY除却日付callout: CalloutA_Asset_Disposed.date
DateDoc / DateAcctDateY伝票日付/転記日付callout: CalloutA_Asset_Disposed.date
C_Period_IDTableN期間beforeSave で自動セット
A_Asset_CostAmountN取得価額資産から転記
A_Accumulated_DeprAmountY償却累計額callout: CalloutA_Asset_Disposed.amt
A_Disposal_AmtAmountY除却額callout: CalloutA_Asset_Disposed.amt
A_Accumulated_Depr_DeltaAmountY償却累計差分
ExpenseNumberY除却損完了時に自動計算
A_ProceedsAmountN売却額
A_Asset_Trade_IDSearchN下取資産
A_Activation_MethodListY再稼働方法デフォルト ‘AA’
C_Invoice_ID / C_InvoiceLine_IDSearchN請求書/明細請求書経由の除却
DocStatus / DocActionList / Button-伝票状態/アクション’DR’ / ‘CO’
PostingTypeListY転記タイプcallout: asset
  1. DateAcct 未入力なら DateDoc をセット
  2. 新規または DateAcct 変更時に MPeriod.get で C_Period_ID を自動セット
  3. A_Disposed_Date 未入力なら DateAcct をセット
  1. MPeriod.testPeriodOpen(GL Document として期間オープンチェック)
  2. updateFromAsset で資産から最新残高を再転記し、値が変わった場合は AssetStatusChangedException(処理中に資産が変更された)
  3. MDepreciationWorkfile.isDepreciated(DateAcct) → 償却済みなら AssetAlreadyDepreciatedException
  4. MDepreciationExp.checkExistsNotProcessedEntries → 未処理償却明細があればエラー
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 → 資産ステータス=稼働中 ステータス=除却済み 除却額=取得価額 累計差分=償却累計 Expense=除却額-累計差分 createDisposal() createDisposal() のみ isDisposal? Disposed Method No 再稼働 Yes 除却 Simple / Trade ステータス=保全 資産を保存 → Processed=Y → 完了

除却だけでなく、A_Activation_Method=Activation による再稼働(ステータスを稼働中へ戻す)も同じ伝票で処理されます。

仕入請求書の明細から除却レコードを生成する静的ファクトリです。現行の除却フローではこちらのルートが使用できます。

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

Section titled “拡張ポイント(カスタマイズ箇所)”
  • 標準 Callout: org.idempiere.fa.model.CalloutA_Asset_Disposed(asset / amt / date)— 資産選択時の残高転記、金額連動、日付連動を担当
  • 除却の追加検証(証憑必須化・除却理由の必須化等)は Model Validator の docValidate(TIMING_BEFORE_COMPLETE)で拡張できます

Processing ボタンから伝票処理(DocAction)が起動されます。GL への転記は除却資産仕訳作成のエントリ完了処理で行います。


除却処理は互換用画面の扱いも含めてバージョンごとの差異が大きい領域です。現行バージョンでの安全な除却フロー設計・移行はお任せください。

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

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