iDempiere まとめ払い選択の使い方|債権債務・資金管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 債権債務・資金管理の全体像: 債権債務・資金管理の全体図 も合わせてご覧ください。
まとめ払い選択は、支払対象の仕入請求書を選択し、銀行口座からの支払をまとめて準備するウィンドウです。支払候補の抽出 →(必要なら)金額調整 → 支払準備(Prepared Payments の生成)→ 支払印刷/エクスポートでの実支払作成、という買掛金支払業務の起点になります。
📌 ポイント: このウィンドウで作られるのは「用意済み支払(支払の下書き)」までです。実際の入金支払伝票は、後続の「支払印刷/エクスポート」ウィンドウで確定・生成します。
まとめ払い選択でできること
Section titled “まとめ払い選択でできること”- 支払対象の仕入請求書の手動選択、または条件に基づく候補抽出(支払選択詳細作成)
- 明細ごとの支払金額・割引金額・回収不能額の調整
- 請求書残高(残高金額)と支払金額の差異確認
- 「支払準備」による用意済み支払(Prepared Payments)の一括生成
- 取引先・支払方法単位での支払集約(または請求書ごとの個別支払)
- 「Reverse Prepare Payment」による支払準備の取消
まとめ払い選択はヘッダー+明細 2 種の 3 タブ構成です。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| まとめ払い選択 | C_PaySelection | 約14項目 | ヘッダー(銀行口座・支払日付・処理ボタン) |
| まとめ払い選択詳細 | C_PaySelectionLine | 約16項目 | 支払対象の請求書ごとの明細 |
| 用意済み支払 | C_PaySelectionCheck | 約14項目 | 支払準備で生成された取引先別の支払(下書き) |
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>債権債務管理&資金管理 > まとめ払い選択"] --> B["➕ 新規でヘッダーを入力<br/>(名称・銀行口座・支払日付)"]
B --> C{明細の作り方}
C -->|一括抽出| D["⚙️ 支払選択詳細作成ボタン<br/>(条件に合う仕入請求を抽出)"]
C -->|個別選択| E["📝 まとめ払い選択詳細タブで<br/>仕入請求伝票を手動追加"]
D --> F["✏️ 支払金額・割引・回収不能額を調整<br/>(calloutが差異を自動計算)"]
E --> F
F --> G["▶️ 支払準備ボタン<br/>(用意済み支払を生成)"]
G --> H["👀 用意済み支払タブで<br/>取引先別の支払を確認"]
H --> I{内容OK?}
I -->|OK| J["🖨 支払印刷/エクスポートで<br/>入金支払伝票を作成"]
I -->|やり直し| K["↩️ Reverse Prepare Payment<br/>で支払準備を取消"]
K --> F
アクセス方法
Section titled “アクセス方法”メニューから「債権債務管理&資金管理 > まとめ払い選択」を開きます。
- ツールバーの「新規」ボタンをクリック
- **ヘッダー(まとめ払い選択タブ)**を入力:
- 名称: 支払バッチの識別名(デフォルトは現在日時)
- 銀行口座: 支払元の銀行口座(必須)
- 支払日付: 支払実行日(必須・デフォルトはログイン日付)
- One Payment Per Invoice: 請求書ごとに支払を分ける場合にチェック
- 「支払選択詳細作成」ボタンで支払対象の仕入請求書を一括抽出(または明細タブで手動追加)
- 「まとめ払い選択詳細」タブで各明細を確認・調整:
- 仕入請求伝票: 支払対象の請求書(選択時に callout が残高等を自動セット)
- 支払金額: 実際に支払う金額(残高金額との差異が自動計算)
- 割引金額 / 回収不能額: 差し引く金額
- ヘッダーの「支払準備」ボタンを実行 → 「用意済み支払」タブに取引先別の支払が生成されます
支払の確定(後続処理)
Section titled “支払の確定(後続処理)”用意済み支払はまだ支払の下書きです。「支払印刷/エクスポート」ウィンドウで小切手印刷・支払データのエクスポートを行うと、実際の入金支払伝票が作成されます。生成後の支払は銀行取引明細との照合で消し込みます。
⚠️ 注意: まとめ払い選択は伝票状態(DocStatus/DocAction)を持たないプロセス駆動型のウィンドウです。処理済みフラグ(Processed)と各処理ボタンで進行を管理します。
項目リファレンス
Section titled “項目リファレンス”主要項目のみ抜粋します。全項目一覧はリファレンス参照。
まとめ払い選択タブ(ヘッダー)
Section titled “まとめ払い選択タブ(ヘッダー)”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 名称 | 必須 | 文字列 | 支払バッチの識別名(デフォルト: 現在日時) |
| 銀行口座 | 必須 | 選択 | 支払元の銀行口座 |
| 支払日付 | 必須 | 日付 | 支払実行日 |
| 合計 | 必須 | 金額 | 支払合計金額 |
| One Payment Per Invoice | - | チェック | 請求書ごとに個別の支払を生成 |
| 支払選択詳細作成 | - | ボタン | 条件に基づき支払対象請求書を抽出 |
| 支払準備 | 必須 | ボタン | 用意済み支払(Prepared Payments)を生成 |
| Reverse Prepare Payment | - | ボタン | 支払準備の取消 |
| 処理済み | 必須 | チェック | 処理済みフラグ |
まとめ払い選択詳細タブ
Section titled “まとめ払い選択詳細タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 明細番号 | 必須 | 整数 | 自動採番(最大値+10) |
| 支払方法 | 必須 | リスト | 支払手段(デフォルト: S) |
| 仕入請求伝票 | 必須 | 検索 | 支払対象の請求書(callout で残高セット) |
| 販売(ON) / 購買(OFF) | 必須 | チェック | 販売取引かどうか |
| 残高金額 | 必須 | 金額 | 請求書の未払残高 |
| 支払金額 | 必須 | 金額 | 今回支払う金額(callout で再計算) |
| 割引金額 | 必須 | 金額 | 早期支払割引 |
| 回収不能額 | 必須 | 金額 | 貸倒処理額(デフォルト: 0) |
| 差異 | 必須 | 金額 | 残高−(支払+割引+回収不能)の差額 |
| 支払選択チェック | - | 検索 | 支払準備後に紐づく用意済み支払 |
用意済み支払タブ
Section titled “用意済み支払タブ”| 項目名 | 必須 | 型 | 説明 |
|---|---|---|---|
| 取引先 | 必須 | 検索 | 支払先 |
| 支払方法 | 必須 | リスト | 支払手段 |
| 数量 | 必須 | 整数 | 集約された明細(請求書)の件数 |
| 支払金額 | 必須 | 金額 | 支払額合計 |
| 入金支払伝票 | - | 検索 | 確定後に生成された支払伝票 |
| 印刷 | 必須 | チェック | 印刷済みかどうか |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. 伝票状態(完了・無効化など)が見当たりません
Section titled “Q. 伝票状態(完了・無効化など)が見当たりません”まとめ払い選択は DocAction を持たないプロセス駆動型のウィンドウです。「支払選択詳細作成」→「支払準備」→ 支払印刷/エクスポート、という各処理ボタンの実行で進み、処理済みフラグ(Processed)で状態を管理します。
Q. 支払準備をやり直したいときは?
Section titled “Q. 支払準備をやり直したいときは?”ヘッダーの「Reverse Prepare Payment」ボタンで支払準備を取り消せます(用意済み支払を戻す処理)。取消後に明細を修正し、再度「支払準備」を実行してください。
Q. 実際の支払伝票はいつ作成されますか?
Section titled “Q. 実際の支払伝票はいつ作成されますか?”「支払準備」で生成されるのは C_PaySelectionCheck(用意済み支払)までです。「支払印刷/エクスポート」ウィンドウでの確定処理(MPaySelectionCheck.confirmPrint)により入金支払伝票(C_Payment)が作成され、用意済み支払の「入金支払伝票」欄に紐づきます。
Q. 同じ取引先の複数請求書が 1 件の支払にまとめられてしまいます
Section titled “Q. 同じ取引先の複数請求書が 1 件の支払にまとめられてしまいます”用意済み支払は取引先・支払方法単位で明細を集約します(「数量」欄が集約件数)。請求書ごとに支払を分けたい場合は、ヘッダーの「One Payment Per Invoice」にチェックを入れてから支払準備を実行してください。
Q. 支払金額を変えると差異が自動で変わるのはなぜですか?
Section titled “Q. 支払金額を変えると差異が自動で変わるのはなぜですか?”明細の支払金額・割引金額・回収不能額には callout(CalloutPaySelection.amounts)が設定されており、残高金額との差異(DifferenceAmt)を自動再計算します。仕入請求伝票の選択時も callout(CalloutPaySelection.invoice)が残高等を自動セットします。
🛠 技術仕様(開発者向け)
まとめ払い選択は C_PaySelection(ヘッダー)、C_PaySelectionLine(請求書明細)、C_PaySelectionCheck(用意済み支払)の 3 テーブルで構成されます。MPaySelection クラスは 143 行と薄く(DocAction 非実装)、業務ロジックの中心は MPaySelectionCheck クラス(774行)にあります。支払確定(confirmPrint)による C_Payment 生成もここで実装されています。アクセスレベルは 3 テーブルとも 1(組織)です。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MPaySelection {
+getLines(boolean) MPaySelectionLine[]
+getC_Currency_ID() int
}
class MPaySelectionLine {
+setInvoice(C_Invoice_ID, isSOTrx, OpenAmt, ...) void
+getInvoice() MInvoice
}
class MPaySelectionCheck {
+getOfPayment(ctx, C_Payment_ID, trx) MPaySelectionCheck
+createForPayment(ctx, C_Payment_ID, trx) MPaySelectionCheck
+confirmPrint(checks, batch, createDepositBatch) int
+addLine(MPaySelectionLine) void
+getPaySelectionLines(boolean) MPaySelectionLine[]
+deleteGeneratedDraft(ctx, C_Payment_ID, trx) boolean
}
class X_C_PaySelection {
<<generated>>
}
class PO {
<<abstract>>
}
MPaySelection --|> X_C_PaySelection
X_C_PaySelection --|> PO
MPaySelection --> MPaySelectionLine : has many
MPaySelectionCheck --> MPaySelectionLine : aggregates
MPaySelection --> MPaySelectionCheck : has many
MPaySelectionCheck --> MPayment : confirmPrint generates
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MPaySelection.java / MPaySelectionLine.java / MPaySelectionCheck.java
関連DBテーブル
Section titled “関連DBテーブル”C_PaySelection(まとめ払い選択)
Section titled “C_PaySelection(まとめ払い選択)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| C_PaySelection_ID | ID | PK | 支払選択ID | 主キー |
| Name | String(120) | Y | 名称 | デフォルト @SQL=SELECT getDate() |
| C_BankAccount_ID | TableDirect | Y | 支払元銀行口座 | |
| PayDate | Date | Y | 支払日付 | デフォルト @#Date@ |
| TotalAmt | Amount | Y | 合計金額 | |
| IsOnePaymentPerInvoice | YesNo | N | 請求書ごと個別支払 | デフォルト N |
| CreateFrom | Button | N | 支払選択詳細作成 | |
| Processing | Button | Y | 支払準備 | |
| ReversePreparePayment | Button | N | 支払準備の取消 | |
| Processed | YesNo | Y | 処理済み |
C_PaySelectionLine(まとめ払い選択詳細)
Section titled “C_PaySelectionLine(まとめ払い選択詳細)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| C_PaySelectionLine_ID | ID | PK | 明細ID | 主キー |
| C_PaySelection_ID | Search | Y | ヘッダーFK(親) | |
| Line | Integer | Y | 明細番号 | デフォルト @SQL=MAX(Line)+10 |
| PaymentRule | List(1) | Y | 支払方法 | デフォルト S |
| C_Invoice_ID | Search | Y | 仕入請求伝票 | callout: CalloutPaySelection.invoice |
| IsSOTrx | YesNo | Y | 販売取引フラグ | |
| OpenAmt | Amount | Y | 残高金額 | |
| PayAmt | Amount | Y | 支払金額 | callout: CalloutPaySelection.amounts |
| DiscountAmt | Amount | Y | 割引金額 | callout: CalloutPaySelection.amounts |
| WriteOffAmt | Amount | Y | 回収不能額 | デフォルト 0・callout 同上 |
| DifferenceAmt | Amount | Y | 差異 | callout: CalloutPaySelection.amounts |
| C_PaySelectionCheck_ID | Search | N | 用意済み支払FK | 支払準備で設定 |
C_PaySelectionCheck(用意済み支払)
Section titled “C_PaySelectionCheck(用意済み支払)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| C_PaySelectionCheck_ID | ID | PK | 支払チェックID | 主キー |
| C_PaySelection_ID | Search | Y | ヘッダーFK(親) | |
| C_BPartner_ID | Search | Y | 支払先取引先 | |
| C_BP_BankAccount_ID | TableDirect | N | 取引先銀行口座 | |
| PaymentRule | List(1) | Y | 支払方法 | |
| Qty | Integer | Y | 集約明細数 | |
| PayAmt / DiscountAmt / WriteOffAmt | Amount | Y | 支払・割引・回収不能額 | |
| DocumentNo | String(30) | N | 伝票番号(小切手番号等) | |
| IsReceipt | YesNo | Y | 入金フラグ | |
| C_Payment_ID | Search | N | 生成された支払伝票 | confirmPrint で設定 |
| IsPrinted | YesNo | Y | 印刷済み | |
| IsGeneratedDraft | YesNo | Y | 下書き生成フラグ | デフォルト N |
ビジネスロジック
Section titled “ビジネスロジック”支払準備から支払確定まで
Section titled “支払準備から支払確定まで”flowchart TD
A[C_PaySelectionLine<br/>支払対象明細] -->|支払準備 Processing| B[MPaySelectionCheck 生成<br/>取引先・支払方法単位で集約]
B --> C[addLine で明細を紐付け<br/>C_PaySelectionLine.C_PaySelectionCheck_ID]
C -->|支払印刷/エクスポート| D[confirmPrint]
D --> E[C_Payment 生成<br/>C_PaySelectionCheck.C_Payment_ID に設定]
E --> F[入金支払伝票として処理・消込へ]
confirmPrint(checks, batch, ...): 用意済み支払から実際の支払伝票(C_Payment)を確定生成しますcreateForPayment(ctx, C_Payment_ID, trx): 逆に既存の支払から支払チェックを生成する APIdeleteGeneratedDraft(ctx, C_Payment_ID, trx): 下書きとして生成された支払(IsGeneratedDraft=Y)の削除
DocAction 非実装
Section titled “DocAction 非実装”MPaySelection は DocAction インターフェースを実装していません(processIt/completeIt 等なし)。伝票ワークフローではなく、CreateFrom / Processing / ReversePreparePayment の各プロセスボタンで駆動されます。
拡張ポイント
Section titled “拡張ポイント”- Model Validator:
C_PaySelectionは Document 型でないためdocValidate()は使えません。明細生成・支払準備結果への介入はmodelChange()(C_PaySelectionLine / C_PaySelectionCheck の TYPE_BEFORE/AFTER_NEW 等)で行います - Callout: 標準で
CalloutPaySelection.invoice(C_Invoice_ID)、CalloutPaySelection.amounts(PayAmt/DiscountAmt/WriteOffAmt/DifferenceAmt)が設定されています - 支払データ出力: 全銀フォーマット等の独自支払データ出力は、支払印刷/エクスポートの出力層(Payment Export)を OSGi プラグインで差し替えて実装するのが一般的です
関連プロセス
Section titled “関連プロセス”| ボタン/プロセス | 説明 |
|---|---|
| 支払選択詳細作成(CreateFrom) | 条件に基づき支払対象の仕入請求書から明細を生成 |
| 支払準備(Processing) | 用意済み支払(Prepared Payments)を生成 |
| Reverse Prepare Payment | 支払準備の取消 |
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”まとめ払い選択は、全銀フォーマットでの振込データ出力や支払承認フローの追加など、日本の買掛金支払業務に合わせた拡張ニーズが多い領域です。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。