コンテンツにスキップ

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

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

資産勘定変更(Asset Change Account)は、稼働中の固定資産に紐づく会計勘定(資産勘定・減価償却累計額勘定・減価償却費勘定・売却益/売却損勘定)を、別の勘定科目へ付け替えるための伝票です。組織変更や勘定科目体系の見直しの際に、資産マスタを作り直すことなく勘定だけを切り替えられます。

📌 ポイント: 完了処理すると、転記日付を有効開始日(ValidFrom)とする新しい資産会計設定(A_Asset_Acct)レコードが作成されます。以後の償却処理は新しい勘定で行われ、過去の仕訳はそのまま保持されます。

  • 資産勘定(Asset Acct)の付け替え
  • 減価償却累計額勘定(Accumulated Depreciation Account)の付け替え
  • 減価償却費勘定・売却益勘定・売却損勘定の新勘定指定
  • 会計スキーマ・転記タイプ(実績/予算等)を指定した変更
  • 伝票処理(完了)による変更の確定と履歴管理

単一タブのシンプルな伝票ウィンドウです。

タブ名テーブル項目数役割
Asset Change accountA_Asset_Transfer約24項目対象資産・新旧勘定の指定と伝票処理
graph TD
    A["🚀 ウィンドウを開く<br/>(標準メニュー未登録のためウィンドウ検索から)"] --> B["➕ 新規で転記日付・会計スキーマを入力"]
    B --> C["🏭 資産を選択<br/>→ Callout が現在の勘定5種を自動セット"]
    C --> D["✏️ 変更したい (new) 勘定を書き換え<br/>(最低1つは現勘定と異なる値に)"]
    D --> E["💾 保存"]
    E --> F["⚙️ 伝票処理ボタンで完了"]
    F --> G["✅ 新しい A_Asset_Acct が生成<br/>(ValidFrom = 転記日付)"]

ウィンドウを開く (標準メニュー未登録のためウィンドウ検索から) 新規で転記日付・会計スキーマを入力 資産を選択 → Callout が現在の勘定5種を自動セット 変更したい (new) 勘定を書き換え (最低1つは現勘定と異なる値に) 保存 伝票処理ボタンで完了 新しい A_Asset_Acct が生成 (ValidFrom = 転記日付)

⚠️ 注意: 転記日付の時点で対象資産の償却が既に処理済みの場合、完了処理はエラーになります(AssetAlreadyDepreciatedException)。未処理の償却明細が残っている場合も同様にチェックされます。

本ウィンドウは標準メニューに登録されていません(間接使用ウィンドウ)。画面上部の検索ボックスでウィンドウ名「Asset Change Account」を検索して開くか、ロールのメニューに追加して使用します。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 転記日付: 勘定変更を有効にする会計日付(必須)
    • 会計スキーマ: 対象の会計スキーマ(必須)
    • 転記タイプ: 実績(デフォルト A)等
  3. 資産を選択すると、Callout が現在の資産会計設定(A_Asset_Acct)から新旧5組の勘定を自動セット
  4. 変更したい「(new)」側の勘定(資産勘定・減価償却累計額勘定・減価償却費勘定・売却損勘定・売却益勘定)を書き換え
  5. 保存」をクリック
  1. Asset Transfer Process」(伝票処理)ボタンをクリックし「完了」を選択
  2. 検証が通ると伝票状態が「完了」になり、新しい資産会計設定レコードが作成されます
  3. 転記」ボタンで会計仕訳の転記状態を確認できます
項目名必須説明
伝票番号-文字列伝票の連番
伝票日付-日付伝票の日付(変更時に転記日付へ自動コピー)
転記日付必須日付勘定変更の有効開始日。会計期間オープンチェックの対象
資産必須検索対象の固定資産。選択時に現勘定を自動取得
会計スキーマ必須選択勘定変更を適用する会計スキーマ
資本/費用必須リストCapital/Expense 区分(デフォルト Cap
転記タイプ必須リスト実績・予算等(デフォルト A=実績)
Asset Acct (new)必須勘定変更後の資産勘定
資産勘定-勘定現在の資産勘定(自動セット・参照用)
Accumulated Depreciation Account (new)必須勘定変更後の減価償却累計額勘定
Depreciation Acct (new)必須勘定変更後の減価償却費勘定
Disposal Loss Acct (new)必須勘定変更後の売却損勘定
Disposal Revenue Acct (new)必須勘定変更後の売却益勘定
伝票状態必須リストドラフト(DR)→ 完了
Asset Transfer Process必須ボタン伝票処理(デフォルトアクション CO=完了)
転記-ボタン会計転記の状態

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

Q. 完了時に「An account has been changed」エラーになるのはなぜですか?

Section titled “Q. 完了時に「An account has been changed」エラーになるのはなぜですか?”

新勘定((new) 側5項目)がすべて現在の勘定と同一、つまり何も変更されていない状態です。少なくとも1つの勘定を現勘定と異なる値に変更してから完了してください。

Q. 「The accounts have been changed」エラーが出ます

Section titled “Q. 「The accounts have been changed」エラーが出ます”

伝票を作成した後に、資産マスタ側の会計設定(A_Asset_Acct)が別途変更され、伝票に保持している「現勘定」と一致しなくなっています。資産を選択し直して現勘定を再取得してから、あらためて完了処理を行ってください。

Q. 完了できず「資産は既に償却済み」と表示されます

Section titled “Q. 完了できず「資産は既に償却済み」と表示されます”

転記日付の時点で、対象資産の償却ワークファイル(A_Depreciation_Workfile)が既に償却処理済みです。また、未処理の償却明細(A_Depreciation_Exp)が残っている場合もエラーになります。当月の償却処理との前後関係を確認してください。

Q. 勘定変更は過去の仕訳に影響しますか?

Section titled “Q. 勘定変更は過去の仕訳に影響しますか?”

影響しません。完了処理は既存の資産会計設定をコピーし、転記日付を有効開始日(ValidFrom)とする新しい A_Asset_Acct レコードを追加する方式です。変更日以降の償却処理から新勘定が使用されます。

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

資産勘定変更は伝票(Document)型のウィンドウで、A_Asset_Transfer テーブルに格納されます。MAssetTransfer クラス(305行)が DocAction を実装し、prepareIt/completeIt で勘定変更の検証と A_Asset_Acct レコードの世代管理を行います。

classDiagram
    class MAssetTransfer {
        +setC_Period_ID() void
        +prepareIt() String
        +completeIt() String
        +processIt(String) boolean
        +voidIt() boolean
        +reverseCorrectIt() boolean
    }
    class X_A_Asset_Transfer {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    class DocAction {
        <<interface>>
    }
    MAssetTransfer --|> X_A_Asset_Transfer
    X_A_Asset_Transfer --|> PO
    MAssetTransfer ..|> DocAction
    MAssetTransfer --> MAssetAcct : creates new generation
    MAssetTransfer --> MDepreciationWorkfile : validates

+setC_Period_ID() void +prepareIt() String +completeIt() String +processIt(String) boolean +voidIt() boolean +reverseCorrectIt() boolean <> <> <> > X_A_Asset_Transfer X_A_Asset_Transfer --

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

カラム名必須説明備考
A_Asset_Transfer_IDIDPK伝票ID主キー
AD_Client_IDTableDirectYクライアント@#AD_Client_ID@
AD_Org_IDTableDirectY組織@#AD_Org_ID@
DocumentNoStringN伝票番号
DateDocDateN伝票日付callout: CalloutA_Asset_Transfer.dateDoc
DateAcctDateY転記日付callout: CalloutGLJournal.period
A_Asset_IDSearchY資産親キー。callout: CalloutA_Asset_Transfer.asset
C_AcctSchema_IDTableY会計スキーマ
A_CapvsExpListY資本/費用デフォルト 'Cap'
PostingTypeListY転記タイプデフォルト A
A_Asset_New_AcctAccountY新・資産勘定
A_Asset_AcctAccountN現・資産勘定callout で自動セット
A_Accumdepreciation_New_AcctAccountY新・減価償却累計額勘定
A_Depreciation_New_AcctAccountY新・減価償却費勘定
A_Disposal_Loss_New_AcctAccountY新・売却損勘定
A_Disposal_Revenue_New_AcctAccountY新・売却益勘定
A_Split_PercentNumberY分割割合デフォルト 1
DocStatusListY伝票状態デフォルト DR
DocActionButtonY伝票処理デフォルト CO
PostedButtonN転記状態
ProcessedYesNoY処理済デフォルト N
  1. 会計期間チェック: MPeriod.testPeriodOpen()(DocBaseType=GLJournal)
  2. 償却済みチェック: MDepreciationWorkfile.isDepreciated(DateAcct) が真なら AssetAlreadyDepreciatedException
  3. 現勘定の整合性: 伝票に保持した現勘定5種が最新の MAssetAcct と一致しなければ「The accounts have been changed」
  4. 変更有無チェック: 新勘定5種すべてが現勘定と同一なら「An account has been changed」(変更なしエラー)
  5. 日付チェック: ワークファイルの会計日付と転記日付が同一の場合はエラー(月末日は翌月に変更)
  6. 未処理明細チェック: MDepreciationExp.checkExistsNotProcessedEntries()
flowchart TD
    A[completeIt] --> B[現行の MAssetAcct を取得]
    B --> C[PO.copyValues で新レコードへコピー]
    C --> D["A_Asset_Acct / A_Accumdepreciation_Acct を<br/>新勘定に差し替え"]
    D --> E["ValidFrom = 転記日付 をセットして保存"]
    E --> F[Processed=Y / DocAction=Close]

A_Asset_Acct / A_Accumdepreciation_Acct を 新勘定に差し替え ValidFrom = 転記日付 をセットして保存 現行の MAssetAcct を取得 PO.copyValues で新レコードへコピー Processed=Y / DocAction=Close

既存の会計設定は削除されず、有効開始日で世代管理されます。invalidateIt() は常に false を返します。

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

Section titled “拡張ポイント(カスタマイズ箇所)”
  • Model Validator: TIMING_BEFORE_PREPARE / TIMING_AFTER_PREPARE / TIMING_BEFORE_COMPLETE / TIMING_AFTER_COMPLETE の各タイミングで fireDocValidate が呼ばれるため、承認フローや追加検証を OSGi プラグインで注入できます
  • Callout(本テーブル固有):
    • org.idempiere.fa.model.CalloutA_Asset_Transfer.asset — 資産選択時に MAssetAcct から新旧5組の勘定を自動セット
    • org.idempiere.fa.model.CalloutA_Asset_Transfer.dateDoc — 伝票日付を転記日付へコピー
    • org.compiere.model.CalloutGLJournal.period — 転記日付から会計期間を決定
プロセス名説明
Asset Transfer Process(DocAction)伝票処理ボタン。完了時に新しい資産会計設定を生成

固定資産の勘定変更に承認フローや独自の検証を加えたい場合も、Model Validator でコア改変なしに拡張できます。

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

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