iDempiere 経費請求書(アルファ)の使い方|購買管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 購買管理の全体像: 購買管理の全体図 も合わせてご覧ください。
経費請求書(アルファ)(Expense Invoice (Alpha))は、仕入先からの経費系の買掛請求書を、品目を使わず「料金(Charge)」ベースの明細で入力するために用意されたウィンドウです。名称のとおりアルファ機能として位置づけられており、iDempiere 13 標準ではこの画面は無効化され、標準メニューにも登録されていません。
⚠️ 注意: この画面は旧バージョンからの互換用です。新規の業務設計では、通常の仕入請求伝票、または経費請求書をまとめて起票する請求一括作成伝票を使用してください。
📌 ポイント: 経費請求書(アルファ)は独自テーブルを持たず、通常の請求書と同じ
C_Invoice/C_InvoiceLineに書き込みます。つまり入力画面が違うだけで、生成されるデータは通常の請求書と同一です。
経費請求書(アルファ)でできること
Section titled “経費請求書(アルファ)でできること”- 仕入先からの経費請求書のヘッダー入力(取引先・請求日付・支払条件・通貨)
- 料金(
C_Charge_ID)ベースの明細入力(品目・数量を持たない経費行) - 明細ごとの税率(
C_Tax_ID)・税額(TaxAmt)・税込行合計(LineTotalAmt)の管理 - 明細行合計(
TotalLines)・総合計(GrandTotal)の集計 - 伝票アクション(
DocAction)による完了・転記までの伝票処理 - プロジェクト・アクティビティ・営業活動・ユーザー1/2 による会計ディメンションの付与
経費請求書(アルファ)は 2 タブ構成です。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| 請求書 | C_Invoice | 25項目 | 請求書ヘッダー(取引先・日付・支払条件・金額・伝票処理) |
| インクルード済み詳細 | C_InvoiceLine | 7項目 | 料金ベースの経費明細(料金・税率・行合計) |
💡 ヒント: 明細タブは通常の請求書明細と異なり、品目・数量・単価の項目が表示されません。料金コードと行合計金額を直接入力する構成のため、金額だけが決まっている経費(会費・手数料など)の入力に適した画面になっています。
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 画面を開く<br/>(標準メニュー未登録のため<br/>有効化が必要)"] --> B["➕ ヘッダーを入力<br/>取引先・伝票タイプ・請求日付"]
B --> C["💴 価格表・通貨・支払条件<br/>支払方法を確認"]
C --> D["📋 明細タブで料金行を追加<br/>料金・税率・行合計"]
D --> E["🧮 明細行合計・総合計を確認"]
E --> F["▶ 請求プロセス(DocAction)で<br/>完了"]
F --> G["📒 転記(Posted)"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”iDempiere 13 標準ではメニューに登録されていません(AD_Window_ID: 262、間接使用扱い)。参照する場合はアプリケーション辞書側でウィンドウを有効化し、メニュー項目を作成する必要があります。既定の運用では利用しないことを推奨します。
新規登録(必須項目ベース)
Section titled “新規登録(必須項目ベース)”- 「新規」ボタンをクリック
- ヘッダー必須項目を入力:
- 伝票タイプ(
C_DocTypeTarget_ID): 買掛請求書の伝票タイプ - 伝票番号: 伝票タイプの採番ルールに従う
- 請求日付 / 転記日付
- 取引先 / 取引先住所
- 価格表 / 通貨
- 支払方法(
PaymentRule) / 支払条件(C_PaymentTerm_ID)
- 伝票タイプ(
- 必要に応じて プロジェクト・アクティビティ・営業活動・取引組織・ユーザー1/2 を設定
- 「保存」をクリック
明細(インクルード済み詳細)の入力
Section titled “明細(インクルード済み詳細)の入力”- 「インクルード済み詳細」タブに移動
- 明細行を追加:
- 明細番号(
Line) - 料金(
C_Charge_ID): 経費の勘定を決める料金コード - 税率(
C_Tax_ID) - 行合計(
LineNetAmt): 税抜の行金額 - 必要に応じて 税額(
TaxAmt) / 税込行合計(LineTotalAmt)
- 明細番号(
- ヘッダーに戻り、明細行合計・総合計が想定どおりか確認
C_Invoice は DocStatus / DocAction を持つ Document 型テーブルです。伝票処理の流れは通常の請求書と同一です。
graph LR
A["起票 Drafted"] --> B["準備 In Progress"]
B --> C["完了 Completed"]
C --> D["転記 Posted"]
C --> E["取消・逆仕訳"]
B --> F["無効 Voided"]
📌 ポイント: 完了処理・転記処理は
MInvoice(3,662行)の共通ロジックが担当します。したがって、会計仕訳・支払スケジュール生成・照合処理の挙動は通常の仕入請求伝票と同じです。
項目リファレンス
Section titled “項目リファレンス”請求書タブ(主要項目)
Section titled “請求書タブ(主要項目)”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 伝票番号 | 必須 | 文字列 | 伝票の採番 |
| 伝票タイプ | 必須 | 選択 | 対象伝票タイプ(買掛請求書) |
| 請求日付 | 必須 | 日付 | 請求書に印字される日付 |
| 転記日付 | 必須 | 日付 | 会計計上日 |
| 取引先 | 必須 | 検索 | 仕入先 |
| 取引先住所 | 必須 | 選択 | 請求元住所 |
| 価格表 | 必須 | 選択 | 適用する価格表 |
| 通貨 | 必須 | 選択 | 取引通貨 |
| 支払方法 | 必須 | リスト | 支払手段 |
| 支払条件 | 必須 | 選択 | 支払期日・割引条件 |
| 発注参照伝票番号 | - | 文字列 | 仕入先側の参照番号 |
| 社内担当者 | - | 検索 | 担当者 |
| プロジェクト | - | 選択 | 会計ディメンション |
| アクティビティ | - | 選択 | 会計ディメンション |
| 明細行合計 | 必須 | 金額 | 明細合計(税抜) |
| 総合計 | 必須 | 金額 | 伝票総額 |
| 伝票状態 | 必須 | リスト | 伝票のステータス |
| 請求プロセス | 必須 | ボタン | 伝票アクションの実行 |
| 転記 | 必須 | ボタン | 転記状態 |
インクルード済み詳細タブ
Section titled “インクルード済み詳細タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 明細番号 | 必須 | 整数 | 行番号 |
| 料金 | - | 選択 | 経費の料金コード |
| 説明 | - | テキスト | 明細の説明 |
| 税率 | 必須 | 選択 | 適用税率 |
| 行合計 | 必須 | 金額 | 税抜の行金額 |
| 税額 | - | 金額 | 明細の税額 |
| 税込行合計 | - | 金額 | 税込の行合計 |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. この画面はメニューから開けません
Section titled “Q. この画面はメニューから開けません”iDempiere 13 標準ではこのウィンドウが無効化されており、メニューにも登録されていないためです。旧バージョンからの互換用として辞書上に残されているもので、通常の運用では仕入請求伝票を使用してください。
Q. 通常の仕入請求伝票と何が違いますか?
Section titled “Q. 通常の仕入請求伝票と何が違いますか?”格納先テーブルは同じ C_Invoice / C_InvoiceLine で、生成されるデータに違いはありません。異なるのは画面に表示される項目だけで、経費請求書(アルファ)は明細から品目・数量・単価を省き、料金と金額のみで入力できるよう絞り込んだ構成になっています。
Q. 経費の一括入力をしたい場合はどうすればよいですか?
Section titled “Q. 経費の一括入力をしたい場合はどうすればよいですか?”複数の経費請求書をまとめて起票する用途には、請求一括作成伝票(Invoice Batch)が適しています。明細を入力してバッチ処理を実行すると、取引先・住所・伝票番号の区切りごとに実際の請求書が生成されます。
Q. 明細で品目を使いたいのですが
Section titled “Q. 明細で品目を使いたいのですが”このウィンドウの明細タブには品目項目がありません。品目を伴う仕入は通常の仕入請求伝票で入力してください。
- 仕入請求伝票(Purchase Invoice)の使い方
- 請求一括作成伝票(Invoice Batch)の使い方
- 発注伝票(Purchase Order)の使い方
- 支払条件(Payment Term)の使い方
- 画面リファレンス: 経費請求書(アルファ)
🛠 技術仕様(開発者向け)
経費請求書(アルファ)は AD_Window_ID 262 のウィンドウ定義であり、専用テーブルを持ちません。ヘッダーは C_Invoice(“Invoice Identifier”)、明細は C_InvoiceLine(“Invoice Detail Line”)で、いずれもアクセスレベル 1(組織)です。モデルクラスは MInvoice(3,662行)および MInvoiceLine で、通常の請求書と完全に共通です。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MInvoice {
+prepareIt() String
+completeIt() String
+voidIt() boolean
+closeIt() boolean
+reverseCorrectIt() boolean
+getLines() MInvoiceLine[]
}
class DocAction {
<<interface>>
}
class X_C_Invoice {
<<generated>>
}
class X_C_InvoiceLine {
<<generated>>
}
class PO {
<<abstract>>
}
MInvoice --|> X_C_Invoice
MInvoice ..|> DocAction
X_C_Invoice --|> PO
MInvoiceLine --|> X_C_InvoiceLine
X_C_InvoiceLine --|> PO
MInvoice --> MInvoiceLine : has many
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MInvoice.java / MInvoiceLine.java
関連DBテーブル
Section titled “関連DBテーブル”C_Invoice(請求書ヘッダー・当ウィンドウで使用する主要カラム)
Section titled “C_Invoice(請求書ヘッダー・当ウィンドウで使用する主要カラム)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| C_Invoice_ID | ID | PK | 請求書ID | 主キー |
| DocumentNo | String | Y | 伝票番号 | 伝票タイプの採番に従う |
| C_DocTypeTarget_ID | Table | Y | 対象伝票タイプ | 完了時に C_DocType_ID へ確定 |
| C_DocType_ID | Table Direct | Y | 伝票タイプ | |
| DateInvoiced | Date | Y | 請求日付 | |
| DateAcct | Date | Y | 転記日付 | |
| C_BPartner_ID | Search | Y | 取引先 | |
| C_BPartner_Location_ID | Table Direct | Y | 取引先住所 | |
| M_PriceList_ID | Table Direct | Y | 価格表 | |
| C_Currency_ID | Table Direct | Y | 通貨 | |
| PaymentRule | Payment | Y | 支払方法 | |
| C_PaymentTerm_ID | Table Direct | Y | 支払条件 | |
| TotalLines | Amount | Y | 明細行合計 | |
| GrandTotal | Amount | Y | 総合計 | |
| DocStatus | List | Y | 伝票状態 | |
| DocAction | Button | Y | 伝票アクション | |
| Posted | Button | Y | 転記状態 | |
| POReference | String | N | 発注参照伝票番号 | |
| C_Project_ID / C_Activity_ID / C_Campaign_ID | - | N | 会計ディメンション | |
| User1_ID / User2_ID | Search | N | ユーザー定義要素 |
C_InvoiceLine(当ウィンドウで表示される主要カラム)
Section titled “C_InvoiceLine(当ウィンドウで表示される主要カラム)”| カラム名 | 型 | 必須 | 説明 |
|---|---|---|---|
| C_InvoiceLine_ID | ID | PK | 明細ID |
| Line | Integer | Y | 明細番号 |
| C_Charge_ID | Table Direct | N | 料金 |
| C_Tax_ID | Table Direct | Y | 税率 |
| LineNetAmt | Amount | Y | 行合計(税抜) |
| TaxAmt | Amount | N | 税額 |
| LineTotalAmt | Amount | N | 税込行合計 |
| Description | Text | N | 説明 |
erDiagram
C_Invoice ||--o{ C_InvoiceLine : "lines"
C_Invoice }o--|| C_BPartner : "vendor"
C_Invoice }o--|| C_PaymentTerm : "terms"
C_Invoice }o--|| C_DocType : "doc type"
C_InvoiceLine }o--o| C_Charge : "expense charge"
C_InvoiceLine }o--|| C_Tax : "tax"
C_InvoiceLine ||--o{ M_MatchInv : "matched"
ビジネスロジック
Section titled “ビジネスロジック”ヘッダー・明細のロジックは通常の請求書と共通で、MInvoice の prepareIt() / completeIt() / voidIt() / reverseCorrectIt() などの DocAction 実装が使用されます。当ウィンドウ固有のビジネスロジックはソース上に存在せず、ウィンドウ定義(表示フィールドの絞り込み)のみが差分です。
⚠️ 注意: アルファ機能として無効化されている画面のため、UI 側の入力補助(品目関連の Callout など)が働かない構成になっています。料金・税率・金額の整合は入力者が担保する前提です。
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”OSGi Model Validator(推奨)
Section titled “OSGi Model Validator(推奨)”C_Invoice は Document 型のため、modelChange() に加えて docValidate() を利用できます。
public class CustomExpenseInvoiceValidator implements ModelValidator { @Override public String docValidate(PO po, int timing) { if (po instanceof MInvoice && timing == TIMING_BEFORE_COMPLETE) { MInvoice inv = (MInvoice) po; // 例: 買掛の経費請求では料金コードを必須にする if (!inv.isSOTrx()) { for (MInvoiceLine line : inv.getLines()) { if (line.getC_Charge_ID() == 0 && line.getM_Product_ID() == 0) { return "経費明細には料金または品目を指定してください"; } } } } return null; }}Callout
Section titled “Callout”当ウィンドウで表示される C_Invoice / C_InvoiceLine のカラムには、請求書共通の Callout が AD_Column.Callout 経由で適用されます。経費入力に特化した補助(料金選択時の税率自動セット等)を追加する場合は、独自 Callout を AD_Column に登録します。
代替設計の推奨
Section titled “代替設計の推奨”新規導入では、この画面を有効化するよりも次のいずれかを推奨します。
| 目的 | 推奨機能 |
|---|---|
| 単票の経費請求入力 | 仕入請求伝票 |
| 複数経費請求の一括起票 | 請求一括作成伝票 |
| 従業員経費の精算 | 経費精算(Expense Report) |
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”経費請求の入力画面は、料金体系や会計ディメンションの運用に合わせて設計し直すことで、入力工数を大きく削減できます。 アルファ機能に頼らず、専用ウィンドウやインポート機能として実装する方法もご提案可能です。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。