iDempiere 資産追加の使い方|固定資産管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 固定資産管理の全体像: 固定資産管理の全体図 も合わせてご覧ください。
資産追加(Asset Addition)は、固定資産の取得価額を計上し、資産を有効化(Activated)する伝票です。仕入請求書・プロジェクト・GL仕訳・手動入力・インポートの5つの取得元(Source Type)に対応し、伝票を完了すると減価償却ワークファイルが生成・更新され、償却計算の起点となります。
📌 ポイント: 新規資産は「Create Asset」フラグを ON にした資産追加伝票の完了によって初めて「有効(Activated)」状態になり、償却が開始されます。資産マスタを登録しただけでは償却は始まりません。
資産追加でできること
Section titled “資産追加でできること”- 固定資産の取得価額(資産値)の計上と資産の有効化
- 仕入請求書(請求書照合)からの資産計上(Source Type: Invoice)
- プロジェクト(建設仮勘定)からの資産振替(Source Type: Project)
- 手動入力・GL仕訳・レガシーデータインポートによる計上
- 資本的支出(Capital)と修繕費(Expense)の区分計上
- 残存価額(Salvage Value)・耐用期間の設定
- 減価償却ワークファイルの自動生成と償却計算の再構築
資産追加は単一タブのシンプルな伝票ウィンドウです(AD_Window_ID: 53113)。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| Addition | A_Asset_Addition | 37項目 | 取得元・金額・数量・通貨・伝票処理の全情報 |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>資産管理 > Splits Transfers and Disposals > Asset Addition"] --> B["➕ 新規作成<br/>資産・伝票日付を入力"]
B --> C{取得元<br/>Source Type}
C -->|Invoice| D["🧾 売上請求伝票・<br/>請求書照合伝票を選択"]
C -->|Project| E["🏗️ プロジェクトを選択<br/>(建設仮勘定からの振替)"]
C -->|Manual / Journal| F["✏️ 金額を手動入力"]
C -->|Imported| G["📥 Imported Fixed Asset<br/>を選択"]
D --> H["💰 Entered Amount・資産値・<br/>現在数量を確認"]
E --> H
F --> H
G --> H
H --> I{新規資産?}
I -->|Yes| J["☑️ Create Asset = Yes<br/>(資産を有効化する)"]
I -->|No(増設等)| K["Create Asset = No"]
J --> L["✅ 伝票完了(Complete)<br/>→ 償却ワークファイル生成"]
K --> L
L --> M["📒 転記(Posted)"]
⚠️ 注意: 資産値(AssetValueAmt)が 0 のままでは伝票を完了できません(準備処理でエラーになります)。また「Create Asset = Yes」で有効化できるのは状態が「新規(New)」の資産のみです(インポート由来を除く)。
アクセス方法
Section titled “アクセス方法”メニューから「資産管理 > Splits Transfers and Disposals > Asset Addition」を開きます。
- ツールバーの「新規」ボタンをクリック
- 基本情報を入力:
- 資産: 対象の資産(資産マスタで事前登録)
- 伝票日付 / 転記日付: 取得日・会計計上日(初期値は当日)
- Source Type: 取得元(Invoice / Project / Journal Entry / Manual / Imported。初期値 Invoice)
- 資本/費用: Capital(資本的支出)または Expense(初期値 Capital)
- Create Asset: 新規資産の有効化なら Yes
- 金額・数量を入力:
- Entered Amount: 入力金額(通貨・レートから Source Amount が自動計算)
- 資産値: 資産の帳簿価額(0 は不可)
- 現在数量: 資産数量
- Asset Salvage Value: 残存価額(任意)
- Source Type に応じた参照伝票(請求伝票明細・プロジェクト等)を選択
- 「保存」をクリック
- 「Asset Addition Process」(伝票アクション)ボタンで「完了」を実行
- 完了処理で以下が自動実行されます:
- 資産状態の「有効(Activated)」への変更(Create Asset = Yes の場合、サービス開始日もセット)
- 減価償却ワークファイルの生成/取得と取得原価の加算
- 償却スケジュールの再構築
- 「転記」ボタンで会計仕訳を生成
💡 ヒント: 会計スキーマと異なる通貨で入力した場合、転記日付・通貨レートタイプに基づいて自動的に換算されます。
項目リファレンス
Section titled “項目リファレンス”主要項目のみ記載します。全37項目の一覧は 画面リファレンス を参照してください。
| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 資産 | 必須 | 検索 | 計上対象の資産 |
| Create Asset | 必須 | チェック | 新規資産の有効化(初期値 No) |
| 伝票日付 | 必須 | 日付 | 伝票の基準日(初期値 当日) |
| 転記日付 | - | 日付 | 会計計上日 |
| 転記タイプ | 必須 | リスト | Actual 等(初期値 A) |
| Source Type | 必須 | リスト | Invoice / Project / Journal Entry / Manual / Imported |
| 資本/費用 | 必須 | リスト | Capital=取得原価に加算、Expense=費用 |
| Entered Amount | 必須 | 金額 | 入力通貨での金額(初期値 0) |
| 資産値 | 必須 | 金額 | 資産の帳簿価額(0 不可) |
| 現在数量 | 必須 | 数値 | 資産数量(初期値 0) |
| 通貨 / 通貨レートタイプ | 必須 | 選択 | 換算に使用 |
| 売上請求伝票 / 請求伝票明細 / 請求書照合伝票 | - | 検索 | Source Type=Invoice で使用 |
| プロジェクト | - | 検索 | Source Type=Project で必須 |
| Asset Salvage Value | - | 数値 | 残存価額 |
| 伝票状態 / Asset Addition Process | - | リスト/ボタン | DocStatus(初期値 起票)と伝票アクション |
| 転記 | 必須 | ボタン | 転記状態・仕訳照会 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 完了時に「Only new assets can be activated」エラーになります
Section titled “Q. 完了時に「Only new assets can be activated」エラーになります”「Create Asset = Yes」で有効化できるのは、資産状態が「新規(New)」の資産のみです(Source Type が Imported の場合を除く)。既に有効化済みの資産への増設・追加計上の場合は「Create Asset = No」で登録してください。
Q. 資産値が 0 のまま完了できますか?
Section titled “Q. 資産値が 0 のまま完了できますか?”できません。準備(Prepare)処理で資産値(AssetValueAmt)が 0 の場合は「@Invalid@ @AssetValueAmt@=0」エラーになります。また Create Asset = Yes の新規資産では、金額・数量に 0 が含まれると完了できません。
Q. プロジェクトから資産計上しようとするとエラーになります
Section titled “Q. プロジェクトから資産計上しようとするとエラーになります”Source Type = Project ではプロジェクトの選択が必須です。さらに、同じプロジェクトに対して処理中・完了・クローズ状態の資産追加伝票が既に存在する場合は二重計上防止のためエラーになります(エラーメッセージに既存伝票番号が表示されます)。
Q. 完了した資産追加を取り消せますか?
Section titled “Q. 完了した資産追加を取り消せますか?”伝票アクションの「無効(Void)」で取消できます。取消時は逆仕訳処理(reverse)が実行され、償却ワークファイルへの影響も戻されます。
🛠 技術仕様(開発者向け)
資産追加は Document 型(DocAction 対応)の伝票で、A_Asset_Addition テーブル(アクセスレベル 3: Client+Org、大量データテーブル)に格納されます。MAssetAddition クラス(1,253行)が取得元別の伝票生成・検証・完了処理(償却ワークファイル更新)を担います。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MAssetAddition {
+createAsset(MMatchInv) MAssetAddition$
+createAsset(MIFixedAsset) MAssetAddition$
+createAsset(MProject, MProduct) MAssetAddition$
+prepareIt() String
+completeIt() String
+voidIt() boolean
+setSourceAmt(BigDecimal) void
+hasZeroValues() boolean
}
class X_A_Asset_Addition {
<<generated>>
}
class PO {
<<abstract>>
}
class DocAction {
<<interface>>
}
MAssetAddition --|> X_A_Asset_Addition
X_A_Asset_Addition --|> PO
MAssetAddition ..|> DocAction
MAssetAddition --> MAsset : activates
MAssetAddition --> MDepreciationWorkfile : creates or adjusts
MAssetAddition --> MAssetChange : logs addition
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MAssetAddition.java
関連DBテーブル
Section titled “関連DBテーブル”A_Asset_Addition(資産追加)
Section titled “A_Asset_Addition(資産追加)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| A_Asset_Addition_ID | ID | PK | 資産追加ID | 主キー |
| AD_Client_ID / AD_Org_ID | TableDirect | Y | クライアント / 組織 | |
| DocumentNo | String(30) | N | 伝票番号 | 識別子 |
| A_Asset_ID | Search | Y | 資産FK | callout: CalloutAsset.asset |
| A_CreateAsset | YesNo | Y | 資産有効化フラグ | 初期値 ‘N’ |
| DateDoc | Date | Y | 伝票日付 | 初期値 @#Date@、callout: dateDoc / periodOffset |
| DateAcct | Date | N | 転記日付 | callout: amt / periodOffset |
| PostingType | List | Y | 転記タイプ | 初期値 ‘A’ |
| A_SourceType | List(3) | Y | 取得元 | ’IMP’/‘INV’/‘JRN’/‘MAN’/‘PRJ’、初期値 ‘INV’ |
| A_CapvsExp | List(3) | Y | 資本/費用 | ’Cap’/‘Exp’、初期値 ‘Cap’ |
| AssetAmtEntered | Amount | Y | 入力金額 | 初期値 0、callout: amt |
| AssetSourceAmt | Amount | N | 元金額 | callout: amt |
| AssetValueAmt | Amount | Y | 資産値(帳簿価額) | 0 は prepareIt で拒否 |
| A_Salvage_Value | Number | N | 残存価額 | |
| A_QTY_Current | Number | Y | 現在数量 | 初期値 0 |
| C_Currency_ID / C_ConversionType_ID | TableDirect | Y | 通貨 / レートタイプ | callout: amt |
| CurrencyRate | Number | N | 通貨レート | callout: amt |
| C_Invoice_ID / C_InvoiceLine_ID / M_MatchInv_ID | Search | N | 請求書関連FK | Source Type=INV |
| C_Project_ID | Search | N | プロジェクトFK | Source Type=PRJ で必須、callout: project |
| I_FixedAsset_ID | Search | N | インポート資産FK | Source Type=IMP |
| GL_JournalBatch_ID | Search | N | GL仕訳バッチFK | Source Type=JRN |
| M_Product_ID / M_AttributeSetInstance_ID / M_Locator_ID | Search 等 | N | 品目・属性・保管場所 | |
| A_Life_Period_Min / A_Life_Period_Max | Integer | N | 耐用期間(最小/最大) | |
| DocStatus / DocAction | List / Button | Y/N | 伝票状態 / アクション | 初期値 ‘DR’ / ‘CO’ |
| Posted / Processed | Button / YesNo | Y | 転記状態 / 処理済 |
ビジネスロジック
Section titled “ビジネスロジック”prepareIt() の検証
Section titled “prepareIt() の検証”- 転記日付の会計期間オープンチェック(伝票ベースタイプ: GL Journal)
- AssetValueAmt ≠ 0 チェック(0 なら STATUS_Invalid)
- Create Asset = Yes の場合、金額・数量にゼロ値がないか検証(
hasZeroValues()) - Create Asset = Yes は資産状態 New のみ許可(Source Type=IMP を除く)
- Source Type=PRJ: プロジェクト必須 + 同一プロジェクトの既存伝票(DocStatus IN ‘IP’,‘CO’,‘CL’)があれば AssetException
- Source Type=INV: C_Invoice_ID 必須
completeIt() の主要処理
Section titled “completeIt() の主要処理”- 属性セットインスタンスの確認/生成(checkCreateASI)
- Create Asset = Yes なら資産に保管場所をセットし、サービス開始日 = 伝票日付
- 資産状態を Activated に変更
- 償却ワークファイル(
MDepreciationWorkfile)を取得。無ければ資産グループ会計(MAssetGroupAcct)ごとに新規生成 - 取得原価の加算(
adjustCost)。会計スキーマ通貨と入力通貨が異なる場合はMConversionRate.convertで換算 - 資本/費用 = Capital の場合のみ残存価額セット・未処理償却エントリのチェック
- 新規資産は償却期間カウンタを 1 に初期化
- 償却スケジュール再構築(
buildDepreciation()) MAssetChange.createAdditionで資産変更履歴を記録、updateSourceDocumentで元伝票を更新
voidIt()
Section titled “voidIt()”reverseIt(false) により逆処理を実行します(Model Validator の TIMING_BEFORE_VOID / TIMING_AFTER_VOID が発火)。
静的ファクトリメソッド
Section titled “静的ファクトリメソッド”| メソッド | 用途 |
|---|---|
createAsset(MMatchInv) | 請求書照合からの資産追加生成 |
createAsset(MIFixedAsset) | インポート資産からの生成 |
createAsset(MProject, MProduct) | プロジェクト(建設仮勘定)からの生成 |
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”標準 Callout
Section titled “標準 Callout”| カラム | Callout |
|---|---|
| A_Asset_ID | org.idempiere.fa.model.CalloutAsset.asset |
| DateDoc | org.idempiere.fa.model.CalloutA_Asset_Addition.dateDoc / periodOffset |
| DateAcct | CalloutA_Asset_Addition.amt / periodOffset |
| AssetAmtEntered / AssetSourceAmt / CurrencyRate / C_Currency_ID / C_ConversionType_ID | CalloutA_Asset_Addition.amt(金額連動計算) |
| C_Project_ID | CalloutA_Asset_Addition.project |
OSGi Model Validator(推奨)
Section titled “OSGi Model Validator(推奨)”Document 型のため docValidate の TIMING_BEFORE_PREPARE / AFTER_PREPARE / BEFORE_COMPLETE / AFTER_COMPLETE / BEFORE_VOID / AFTER_VOID が利用できます。取得価額の上限チェックや承認ルールの追加はコア改変なしで実装可能です。
@Overridepublic String docValidate(PO po, int timing) { if (po instanceof MAssetAddition && timing == TIMING_BEFORE_COMPLETE) { MAssetAddition aa = (MAssetAddition) po; // 例: 一定金額以上は承認済みでないと完了不可 } return null;}関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”資産追加の承認フローや取得元別の検証ルールは、Model Validator でコア改変なしに拡張できます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。