Skip to content

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

This content is not available in your language yet.

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

資産追加(Asset Addition)は、固定資産の取得価額を計上し、資産を有効化(Activated)する伝票です。仕入請求書・プロジェクト・GL仕訳・手動入力・インポートの5つの取得元(Source Type)に対応し、伝票を完了すると減価償却ワークファイルが生成・更新され、償却計算の起点となります。

📌 ポイント: 新規資産は「Create Asset」フラグを ON にした資産追加伝票の完了によって初めて「有効(Activated)」状態になり、償却が開始されます。資産マスタを登録しただけでは償却は始まりません。

  • 固定資産の取得価額(資産値)の計上と資産の有効化
  • 仕入請求書(請求書照合)からの資産計上(Source Type: Invoice)
  • プロジェクト(建設仮勘定)からの資産振替(Source Type: Project)
  • 手動入力・GL仕訳・レガシーデータインポートによる計上
  • 資本的支出(Capital)と修繕費(Expense)の区分計上
  • 残存価額(Salvage Value)・耐用期間の設定
  • 減価償却ワークファイルの自動生成と償却計算の再構築

資産追加は単一タブのシンプルな伝票ウィンドウです(AD_Window_ID: 53113)。

タブ名テーブル項目数役割
AdditionA_Asset_Addition37項目取得元・金額・数量・通貨・伝票処理の全情報
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)"]

メニューから開く 資産管理 > Splits Transfers and Disposals > Asset Addition 新規作成 資産・伝票日付を入力 売上請求伝票・ 請求書照合伝票を選択 プロジェクトを選択 (建設仮勘定からの振替) 金額を手動入力 Imported Fixed Asset を選択 Entered Amount・資産値・ 現在数量を確認 Create Asset = Yes (資産を有効化する) Create Asset = No 伝票完了(Complete) → 償却ワークファイル生成 転記(Posted) 取得元 Source Type 新規資産? Manual / Journal No(増設等)

⚠️ 注意: 資産値(AssetValueAmt)が 0 のままでは伝票を完了できません(準備処理でエラーになります)。また「Create Asset = Yes」で有効化できるのは状態が「新規(New)」の資産のみです(インポート由来を除く)。

メニューから「資産管理 > Splits Transfers and Disposals > Asset Addition」を開きます。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 資産: 対象の資産(資産マスタで事前登録)
    • 伝票日付 / 転記日付: 取得日・会計計上日(初期値は当日)
    • Source Type: 取得元(Invoice / Project / Journal Entry / Manual / Imported。初期値 Invoice)
    • 資本/費用: Capital(資本的支出)または Expense(初期値 Capital)
    • Create Asset: 新規資産の有効化なら Yes
  3. 金額・数量を入力:
    • Entered Amount: 入力金額(通貨・レートから Source Amount が自動計算)
    • 資産値: 資産の帳簿価額(0 は不可)
    • 現在数量: 資産数量
    • Asset Salvage Value: 残存価額(任意)
  4. Source Type に応じた参照伝票(請求伝票明細・プロジェクト等)を選択
  5. 保存」をクリック
  1. Asset Addition Process」(伝票アクション)ボタンで「完了」を実行
  2. 完了処理で以下が自動実行されます:
    • 資産状態の「有効(Activated)」への変更(Create Asset = Yes の場合、サービス開始日もセット)
    • 減価償却ワークファイルの生成/取得と取得原価の加算
    • 償却スケジュールの再構築
  3. 転記」ボタンで会計仕訳を生成

💡 ヒント: 会計スキーマと異なる通貨で入力した場合、転記日付・通貨レートタイプに基づいて自動的に換算されます。

主要項目のみ記載します。全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(初期値 起票)と伝票アクション
転記必須ボタン転記状態・仕訳照会

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行)が取得元別の伝票生成・検証・完了処理(償却ワークファイル更新)を担います。

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

+createAsset(MMatchInv) MAssetAddition$ +createAsset(MIFixedAsset) MAssetAddition$ +createAsset(MProject, MProduct) MAssetAddition$ +prepareIt() String +completeIt() String +voidIt() boolean +setSourceAmt(BigDecimal) void +hasZeroValues() boolean <> <> <> > X_A_Asset_Addition X_A_Asset_Addition --

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

カラム名必須説明備考
A_Asset_Addition_IDIDPK資産追加ID主キー
AD_Client_ID / AD_Org_IDTableDirectYクライアント / 組織
DocumentNoString(30)N伝票番号識別子
A_Asset_IDSearchY資産FKcallout: CalloutAsset.asset
A_CreateAssetYesNoY資産有効化フラグ初期値 ‘N’
DateDocDateY伝票日付初期値 @#Date@、callout: dateDoc / periodOffset
DateAcctDateN転記日付callout: amt / periodOffset
PostingTypeListY転記タイプ初期値 ‘A’
A_SourceTypeList(3)Y取得元’IMP’/‘INV’/‘JRN’/‘MAN’/‘PRJ’、初期値 ‘INV’
A_CapvsExpList(3)Y資本/費用’Cap’/‘Exp’、初期値 ‘Cap’
AssetAmtEnteredAmountY入力金額初期値 0、callout: amt
AssetSourceAmtAmountN元金額callout: amt
AssetValueAmtAmountY資産値(帳簿価額)0 は prepareIt で拒否
A_Salvage_ValueNumberN残存価額
A_QTY_CurrentNumberY現在数量初期値 0
C_Currency_ID / C_ConversionType_IDTableDirectY通貨 / レートタイプcallout: amt
CurrencyRateNumberN通貨レートcallout: amt
C_Invoice_ID / C_InvoiceLine_ID / M_MatchInv_IDSearchN請求書関連FKSource Type=INV
C_Project_IDSearchNプロジェクトFKSource Type=PRJ で必須、callout: project
I_FixedAsset_IDSearchNインポート資産FKSource Type=IMP
GL_JournalBatch_IDSearchNGL仕訳バッチFKSource Type=JRN
M_Product_ID / M_AttributeSetInstance_ID / M_Locator_IDSearch 等N品目・属性・保管場所
A_Life_Period_Min / A_Life_Period_MaxIntegerN耐用期間(最小/最大)
DocStatus / DocActionList / ButtonY/N伝票状態 / アクション初期値 ‘DR’ / ‘CO’
Posted / ProcessedButton / YesNoY転記状態 / 処理済
  1. 転記日付の会計期間オープンチェック(伝票ベースタイプ: GL Journal)
  2. AssetValueAmt ≠ 0 チェック(0 なら STATUS_Invalid)
  3. Create Asset = Yes の場合、金額・数量にゼロ値がないか検証(hasZeroValues()
  4. Create Asset = Yes は資産状態 New のみ許可(Source Type=IMP を除く)
  5. Source Type=PRJ: プロジェクト必須 + 同一プロジェクトの既存伝票(DocStatus IN ‘IP’,‘CO’,‘CL’)があれば AssetException
  6. Source Type=INV: C_Invoice_ID 必須
  1. 属性セットインスタンスの確認/生成(checkCreateASI)
  2. Create Asset = Yes なら資産に保管場所をセットし、サービス開始日 = 伝票日付
  3. 資産状態を Activated に変更
  4. 償却ワークファイル(MDepreciationWorkfile)を取得。無ければ資産グループ会計(MAssetGroupAcct)ごとに新規生成
  5. 取得原価の加算(adjustCost)。会計スキーマ通貨と入力通貨が異なる場合は MConversionRate.convert で換算
  6. 資本/費用 = Capital の場合のみ残存価額セット・未処理償却エントリのチェック
  7. 新規資産は償却期間カウンタを 1 に初期化
  8. 償却スケジュール再構築buildDepreciation()
  9. MAssetChange.createAddition で資産変更履歴を記録、updateSourceDocument で元伝票を更新

reverseIt(false) により逆処理を実行します(Model Validator の TIMING_BEFORE_VOID / TIMING_AFTER_VOID が発火)。

メソッド用途
createAsset(MMatchInv)請求書照合からの資産追加生成
createAsset(MIFixedAsset)インポート資産からの生成
createAsset(MProject, MProduct)プロジェクト(建設仮勘定)からの生成

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

Section titled “拡張ポイント(カスタマイズ箇所)”
カラムCallout
A_Asset_IDorg.idempiere.fa.model.CalloutAsset.asset
DateDocorg.idempiere.fa.model.CalloutA_Asset_Addition.dateDoc / periodOffset
DateAcctCalloutA_Asset_Addition.amt / periodOffset
AssetAmtEntered / AssetSourceAmt / CurrencyRate / C_Currency_ID / C_ConversionType_IDCalloutA_Asset_Addition.amt(金額連動計算)
C_Project_IDCalloutA_Asset_Addition.project

Document 型のため docValidate の TIMING_BEFORE_PREPARE / AFTER_PREPARE / BEFORE_COMPLETE / AFTER_COMPLETE / BEFORE_VOID / AFTER_VOID が利用できます。取得価額の上限チェックや承認ルールの追加はコア改変なしで実装可能です。

@Override
public String docValidate(PO po, int timing) {
if (po instanceof MAssetAddition && timing == TIMING_BEFORE_COMPLETE) {
MAssetAddition aa = (MAssetAddition) po;
// 例: 一定金額以上は承認済みでないと完了不可
}
return null;
}

資産追加の承認フローや取得元別の検証ルールは、Model Validator でコア改変なしに拡張できます。

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

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