iDempiere 資産勘定変更の使い方|固定資産管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 固定資産管理の全体像: 固定資産管理の全体図 も合わせてご覧ください。
資産勘定変更(Asset Change Account)は、稼働中の固定資産に紐づく会計勘定(資産勘定・減価償却累計額勘定・減価償却費勘定・売却益/売却損勘定)を、別の勘定科目へ付け替えるための伝票です。組織変更や勘定科目体系の見直しの際に、資産マスタを作り直すことなく勘定だけを切り替えられます。
📌 ポイント: 完了処理すると、転記日付を有効開始日(
ValidFrom)とする新しい資産会計設定(A_Asset_Acct)レコードが作成されます。以後の償却処理は新しい勘定で行われ、過去の仕訳はそのまま保持されます。
資産勘定変更でできること
Section titled “資産勘定変更でできること”- 資産勘定(Asset Acct)の付け替え
- 減価償却累計額勘定(Accumulated Depreciation Account)の付け替え
- 減価償却費勘定・売却益勘定・売却損勘定の新勘定指定
- 会計スキーマ・転記タイプ(実績/予算等)を指定した変更
- 伝票処理(完了)による変更の確定と履歴管理
単一タブのシンプルな伝票ウィンドウです。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| Asset Change account | A_Asset_Transfer | 約24項目 | 対象資産・新旧勘定の指定と伝票処理 |
基本操作手順
Section titled “基本操作手順”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 = 転記日付)"]
⚠️ 注意: 転記日付の時点で対象資産の償却が既に処理済みの場合、完了処理はエラーになります(
AssetAlreadyDepreciatedException)。未処理の償却明細が残っている場合も同様にチェックされます。
アクセス方法
Section titled “アクセス方法”本ウィンドウは標準メニューに登録されていません(間接使用ウィンドウ)。画面上部の検索ボックスでウィンドウ名「Asset Change Account」を検索して開くか、ロールのメニューに追加して使用します。
- ツールバーの「新規」ボタンをクリック
- 基本情報を入力:
- 転記日付: 勘定変更を有効にする会計日付(必須)
- 会計スキーマ: 対象の会計スキーマ(必須)
- 転記タイプ: 実績(デフォルト
A)等
- 資産を選択すると、Callout が現在の資産会計設定(
A_Asset_Acct)から新旧5組の勘定を自動セット - 変更したい「(new)」側の勘定(資産勘定・減価償却累計額勘定・減価償却費勘定・売却損勘定・売却益勘定)を書き換え
- 「保存」をクリック
- 「Asset Transfer Process」(伝票処理)ボタンをクリックし「完了」を選択
- 検証が通ると伝票状態が「完了」になり、新しい資産会計設定レコードが作成されます
- 「転記」ボタンで会計仕訳の転記状態を確認できます
項目リファレンス
Section titled “項目リファレンス”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 伝票番号 | - | 文字列 | 伝票の連番 |
| 伝票日付 | - | 日付 | 伝票の日付(変更時に転記日付へ自動コピー) |
| 転記日付 | 必須 | 日付 | 勘定変更の有効開始日。会計期間オープンチェックの対象 |
| 資産 | 必須 | 検索 | 対象の固定資産。選択時に現勘定を自動取得 |
| 会計スキーマ | 必須 | 選択 | 勘定変更を適用する会計スキーマ |
| 資本/費用 | 必須 | リスト | 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=完了) |
| 転記 | - | ボタン | 会計転記の状態 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”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 レコードを追加する方式です。変更日以降の償却処理から新勘定が使用されます。
- 資産マスタ(Asset)の使い方
- 資産グループ(Asset Group)の使い方
- 再評価資産(Revaluation Asset)の使い方
- 画面リファレンス: Asset Change Account
🛠 技術仕様(開発者向け)
資産勘定変更は伝票(Document)型のウィンドウで、A_Asset_Transfer テーブルに格納されます。MAssetTransfer クラス(305行)が DocAction を実装し、prepareIt/completeIt で勘定変更の検証と A_Asset_Acct レコードの世代管理を行います。
アーキテクチャ概要
Section titled “アーキテクチャ概要”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
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MAssetTransfer.java
関連DBテーブル
Section titled “関連DBテーブル”A_Asset_Transfer(資産勘定変更)
Section titled “A_Asset_Transfer(資産勘定変更)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| A_Asset_Transfer_ID | ID | PK | 伝票ID | 主キー |
| AD_Client_ID | TableDirect | Y | クライアント | @#AD_Client_ID@ |
| AD_Org_ID | TableDirect | Y | 組織 | @#AD_Org_ID@ |
| DocumentNo | String | N | 伝票番号 | |
| DateDoc | Date | N | 伝票日付 | callout: CalloutA_Asset_Transfer.dateDoc |
| DateAcct | Date | Y | 転記日付 | callout: CalloutGLJournal.period |
| A_Asset_ID | Search | Y | 資産 | 親キー。callout: CalloutA_Asset_Transfer.asset |
| C_AcctSchema_ID | Table | Y | 会計スキーマ | |
| A_CapvsExp | List | Y | 資本/費用 | デフォルト 'Cap' |
| PostingType | List | Y | 転記タイプ | デフォルト A |
| A_Asset_New_Acct | Account | Y | 新・資産勘定 | |
| A_Asset_Acct | Account | N | 現・資産勘定 | callout で自動セット |
| A_Accumdepreciation_New_Acct | Account | Y | 新・減価償却累計額勘定 | |
| A_Depreciation_New_Acct | Account | Y | 新・減価償却費勘定 | |
| A_Disposal_Loss_New_Acct | Account | Y | 新・売却損勘定 | |
| A_Disposal_Revenue_New_Acct | Account | Y | 新・売却益勘定 | |
| A_Split_Percent | Number | Y | 分割割合 | デフォルト 1 |
| DocStatus | List | Y | 伝票状態 | デフォルト DR |
| DocAction | Button | Y | 伝票処理 | デフォルト CO |
| Posted | Button | N | 転記状態 | |
| Processed | YesNo | Y | 処理済 | デフォルト N |
ビジネスロジック
Section titled “ビジネスロジック”prepareIt() の検証
Section titled “prepareIt() の検証”- 会計期間チェック:
MPeriod.testPeriodOpen()(DocBaseType=GLJournal) - 償却済みチェック:
MDepreciationWorkfile.isDepreciated(DateAcct)が真ならAssetAlreadyDepreciatedException - 現勘定の整合性: 伝票に保持した現勘定5種が最新の
MAssetAcctと一致しなければ「The accounts have been changed」 - 変更有無チェック: 新勘定5種すべてが現勘定と同一なら「An account has been changed」(変更なしエラー)
- 日付チェック: ワークファイルの会計日付と転記日付が同一の場合はエラー(月末日は翌月に変更)
- 未処理明細チェック:
MDepreciationExp.checkExistsNotProcessedEntries()
completeIt() の処理
Section titled “completeIt() の処理”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]
既存の会計設定は削除されず、有効開始日で世代管理されます。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— 転記日付から会計期間を決定
関連プロセス
Section titled “関連プロセス”| プロセス名 | 説明 |
|---|---|
| Asset Transfer Process(DocAction) | 伝票処理ボタン。完了時に新しい資産会計設定を生成 |
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”固定資産の勘定変更に承認フローや独自の検証を加えたい場合も、Model Validator でコア改変なしに拡張できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。