iDempiere 振替資産仕訳作成の使い方|固定資産管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 固定資産管理の全体像: 固定資産管理の全体図 も合わせてご覧ください。
振替資産仕訳作成は、資産振替で発生した資産の振替を総勘定元帳(GL)へ転記するための仕訳エントリ(A_Depreciation_Entry)を作成・処理するウィンドウです。減価償却仕訳と同じ仕訳エントリ基盤を使い、Entry Type で振替用のエントリを扱います。
📌 ポイント: 完了処理では、選択した会計期間内の未処理明細(A_Depreciation_Exp)が一括処理されます。明細の転記日付が期間外にあるとエラーで完了できません。また、この伝票は完了後に無効化(Void)できません。
振替資産仕訳作成でできること
Section titled “振替資産仕訳作成でできること”- 資産振替のGL仕訳エントリの作成
- Entry Type(エントリ種別)の指定
- 会計スキーマ・伝票タイプ・転記タイプの指定
- 会計期間・転記日付の指定(Calloutによる期間自動セット)
- Process Depreciation Entry ボタンによる伝票処理(完了)
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| Create Asset Transfer Entry | A_Depreciation_Entry | 約14項目 | 振替仕訳エントリの作成・処理 |
基本操作手順
Section titled “基本操作手順”graph TD
A["🔁 事前準備<br/>資産振替ウィンドウで<br/>振替を登録"] --> B["🚀 振替資産仕訳作成を開く<br/>(標準メニュー未登録・要割当)"]
B --> C["➕ 新規でエントリ作成<br/>(会計スキーマ・伝票タイプ)"]
C --> D["📅 伝票日付・転記日付を入力<br/>(期間はCalloutで自動セット)"]
D --> E["💾 保存"]
E --> F["▶ Process Depreciation Entry<br/>ボタンで完了処理"]
F --> G["✅ 期間内の未処理明細を<br/>一括処理しGLへ転記可能に"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”標準メニューには未登録のウィンドウです(AD_Window_ID: 53046)。使用する場合はシステム管理者がメニューまたはロールのウィンドウアクセスに割り当てます。
- 「新規」ボタンをクリック
- 基本情報を入力:
- 会計スキーマ: 対象の会計スキーマ(必須)
- 伝票タイプ: 伝票タイプ(必須)
- 転記タイプ: 実績(Actual)等(必須・デフォルト A)
- Entry Type: エントリ種別
- 伝票日付 / 転記日付: 日付を入力すると会計期間が自動セット
- 通貨: 通貨(必須)
- 「保存」をクリック
A_Depreciation_Entry は DocStatus / DocAction を持つ伝票テーブルです。
- 「Process Depreciation Entry」ボタンをクリック
- 準備(Prepare)で会計期間のオープンチェックが実行されます
- 完了(Complete)で、指定期間内の未処理明細(A_Depreciation_Exp)が順次処理されます
- 完了後、DocStatus は「完了(CO)」、DocAction は「クローズ(CL)」になります
項目リファレンス
Section titled “項目リファレンス”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 説明 | - | 文字列 | エントリの説明 |
| Entry Type | - | リスト | エントリ種別 |
| 転記タイプ | 必須 | リスト | 転記対象(デフォルト A=実績) |
| 会計スキーマ | 必須 | 選択 | 対象会計スキーマ |
| 伝票タイプ | 必須 | 選択 | 伝票タイプ |
| 伝票日付 | 必須 | 日付 | Callout で転記日付と連動 |
| 転記日付 | 必須 | 日付 | Callout で期間自動セット |
| 期間 | 必須 | 選択 | 会計期間 |
| 通貨 | 必須 | 選択 | 通貨(デフォルトはクライアント通貨) |
| Cost Center / Department | - | 選択 | 原価センタ・部門(任意) |
| Process Depreciation Entry | 必須 | ボタン | 伝票処理の実行 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 完了時に「The date is not within this Period」エラーになります
Section titled “Q. 完了時に「The date is not within this Period」エラーになります”エントリに紐づく明細(A_Depreciation_Exp)の転記日付が、ヘッダで選択した会計期間の範囲外です。MDepreciationEntry.completeIt() は各明細の日付が期間内かをチェックし、期間外の明細があると例外を投げます。期間または明細の日付を見直してください。
Q. 完了済みのエントリを無効化(Void)できますか?
Section titled “Q. 完了済みのエントリを無効化(Void)できますか?”できません。MDepreciationEntry.voidIt() は常に false を返す実装です。誤処理の場合は逆仕訳での訂正を検討してください。
Q. 会計期間が閉じているとどうなりますか?
Section titled “Q. 会計期間が閉じているとどうなりますか?”準備(prepareIt)で MPeriod.testPeriodOpen により転記日付・伝票タイプ・組織に対する期間オープンチェックが行われ、クローズ済み期間ではエラーになります。
🛠 技術仕様(開発者向け)
振替資産仕訳作成は A_Depreciation_Entry テーブルを操作する 1 タブ構成のウィンドウです。MDepreciationEntry クラス(432行)が DocAction を実装し、仕訳エントリの準備・完了・明細処理を担います。同じテーブル・クラスを除却資産仕訳作成・分割資産仕訳作成でも使用し、Entry Type で用途を区別します。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MDepreciationEntry {
+processIt(action) boolean
+prepareIt() String
+completeIt() String
+voidIt() boolean
+getLinesIterator(onlyNotProcessed) Iterator
+setC_Period_ID() void
+deleteFacts(MDepreciationExp) void
}
class X_A_Depreciation_Entry {
<<generated>>
}
class PO {
<<abstract>>
}
class DocAction {
<<interface>>
}
MDepreciationEntry --|> X_A_Depreciation_Entry
X_A_Depreciation_Entry --|> PO
MDepreciationEntry ..|> DocAction
MDepreciationEntry --> MDepreciationExp : processes lines
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MDepreciationEntry.java
関連DBテーブル
Section titled “関連DBテーブル”A_Depreciation_Entry(仕訳エントリ)
Section titled “A_Depreciation_Entry(仕訳エントリ)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| A_Depreciation_Entry_ID | ID | PK | エントリID | 識別子 |
| DocumentNo | String(60) | Y | 伝票No | |
| A_Entry_Type | List | N | エントリ種別 | |
| C_AcctSchema_ID | TableDirect | Y | 会計スキーマ | |
| C_DocType_ID | TableDirect | Y | 伝票タイプ | |
| PostingType | List | Y | 転記タイプ | デフォルト ‘A’ |
| DateDoc | Date | Y | 伝票日付 | callout: CalloutEngine.dateAcct |
| DateAcct | Date | Y | 転記日付 | callout: CalloutGLJournal.period |
| C_Period_ID | Table | Y | 期間 | callout: CalloutGLJournal.period |
| C_Currency_ID | TableDirect | Y | 通貨 | デフォルト @$C_Currency_ID@ |
| C_CostCenter_ID / C_Department_ID | TableDirect | N | 原価センタ/部門 | |
| DocStatus | List | Y | 伝票状態 | デフォルト ‘DR’ |
| DocAction | Button | Y | 伝票アクション | デフォルト ‘CO’ |
| Posted | Button | Y | 転記状態 | デフォルト ‘N’ |
| Processed / Processing | YesNo / Button | Y | 処理済み/処理中 |
ビジネスロジック
Section titled “ビジネスロジック”prepareIt()
Section titled “prepareIt()”- Model Validator(TIMING_BEFORE_PREPARE)実行
MPeriod.testPeriodOpenで会計期間オープンチェック- DocAction を Complete にセットし STATUS_InProgress を返却
completeIt()
Section titled “completeIt()”- 未準備なら prepareIt() を再実行、未承認なら暗黙承認
getLinesIterator(true)で未処理明細(A_Depreciation_Exp)を取得- 明細ごとに個別トランザクション(Trx.run)で処理:
- 明細の DateAcct がヘッダ期間内かをチェック(期間外は AssetException)
depexp.process()を実行
- エラーが 1 件以上あれば AssetArrayException を送出
- Processed=Y、DocAction=Close、STATUS_Completed を返却
voidIt() / closeIt()
Section titled “voidIt() / closeIt()”voidIt() は常に false(無効化不可)。取消は逆仕訳等の運用で対応します。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”- 標準 Callout:
CalloutEngine.dateAcct(DateDoc)、CalloutGLJournal.period(DateAcct / C_Period_ID) - 伝票検証は Model Validator の
docValidate(TIMING_BEFORE/AFTER_PREPARE、TIMING_AFTER_COMPLETE)をフックして拡張できます MDepreciationEntry.deleteFacts(MDepreciationExp)は明細再処理時の会計ファクト削除に使用されます
関連プロセス
Section titled “関連プロセス”Process Depreciation Entry ボタン(Processing カラム)から伝票処理(DocAction)が起動されます。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”固定資産の仕訳エントリは日本の償却実務(月次償却・期末一括等)に合わせた運用設計が重要です。仕訳タイミングや承認フローのカスタマイズもご相談ください。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。