コンテンツにスキップ

iDempiere 入金/支払伝票の使い方|債権債務・資金管理 操作マニュアル・技術仕様

📖 未収・未払管理の全体像: 未収・未払管理の業務フロー全体図 も合わせてご覧ください。

入金/支払伝票は、iDempiereの債権債務・資金管理における中核機能です。得意先からの入金(AR Receipt)と仕入先への支払(AP Payment)を一元的に管理し、請求書との消込(Allocation)を行います。

📌 ポイント: 入金と支払は同じウィンドウを使用し、伝票タイプ(AR入金 / AP支払)で区別されます。複数請求書への消込は「支払配分」タブで行います。

入金と支払は同一ウィンドウで管理され、伝票タイプにより区別されます。現金・振込・小切手・クレジットカードなど複数の支払方法に対応しています。

  • 得意先からの入金(売掛金回収)の記録
  • 仕入先への支払(買掛金決済)の記録
  • 請求書との消込(支払配分)
  • 複数の支払方法(振込、現金、小切手、クレジットカード等)
  • 前受金・前払金の管理
  • オンライン決済処理との連携
  • 通貨換算による外貨取引の入出金

画面レイアウト(ヘッダータブ)

Section titled “画面レイアウト(ヘッダータブ)”
┌─ 入出金伝票(Payment)───────────────────────────────────────────────────┐
│ │
│ クライアント [▼ Table Direct] 組織 [▼ Table Direct] │
│ 入金 [☐ Yes-No] 伝票番号 [________________] │
│ │
│ ── 伝票タイプ・日付 ────────────────────────────────────────────────── │
│ 対象伝票タイプ [▼ Table] 銀行口座 [▼ Table Direct] │
│ 取引日付 [📅 Date] 転記日付 [📅 Date] │
│ │
│ ── 取引先・請求書 ──────────────────────────────────────────────────── │
│ 取引先 [🔍 Search] 請求書 [🔍 Search] │
│ 支払方法 [▼ List] 通貨 [▼ Table Direct] │
│ 支払金額 [¥_________] 割引金額 [¥_________] │
│ 超過/不足金額 [¥______] チャージ金額 [¥_________] │
│ │
│ ── ステータス ──────────────────────────────────────────────────────── │
│ 伝票状態 [▼ List] 伝票タイプ [▼ Table Direct] │
│ [支払処理] [消込] │
│ │
│ [入出金] [支払配分] [消込伝票明細] │
└──────────────────────────────────────────────────────────────────────────┘

📌 ポイント: この図はADメタデータ(AD_Field.XPosition, IsSameLine)から再現した実際のUI配置です。画面は2カラム構成で、左列(XPosition=1)と右列(XPosition=4)にフィールドが配置されます。

graph TD
    subgraph "Payment and Receipt (Window 195)"
        T1["💳 入金/支払伝票<br/>C_Payment<br/>93項目"]
        T2["📋 支払配分<br/>C_PaymentAllocate<br/>12項目"]
        T3["🔍 消込伝票明細<br/>C_AllocationLine<br/>11項目(参照)"]
    end
    T1 --> T2
    T1 --> T3

Payment and Receipt (Window 195) 入金/支払伝票 C_Payment 93項目 支払配分 C_PaymentAllocate 12項目 消込伝票明細 C_AllocationLine 11項目(参照)

💡 ヒント: 1件の請求書を直接消込する場合はヘッダーの「請求書」欄に指定します。複数の請求書に按分消込する場合は「支払配分」タブを使用してください。

タブ名テーブル役割主な入力項目
入金/支払伝票C_Paymentヘッダー情報(取引先・金額・支払方法等)取引先、伝票タイプ、支払方法、金額
支払配分C_PaymentAllocate複数請求書への消込配分請求書、消込金額、割引額
消込伝票明細C_AllocationLine消込結果の参照(読み取り専用)消込金額、請求書、入金伝票
graph TD
    A["🚀 メニューから開く<br/>債権債務・資金管理 > 入金/支払伝票(標準)"] --> B["➕ 新規で伝票タイプを選択<br/>AR入金 または AP支払"]
    B --> C["📝 ヘッダー情報を入力<br/>(取引先・銀行口座・支払方法・金額)"]
    C --> D["💾 保存"]
    D --> E{消込方法}
    E -->|1件消込| F["📄 ヘッダーの請求書欄に指定"]
    E -->|複数消込| G["📋 支払配分タブで各請求書に配分"]
    F --> H["✅ 伝票処理 → 完了"]
    G --> H
    H --> I["🏦 会計仕訳・銀行口座残高に反映"]

メニューから開く 債権債務・資金管理 > 入金/支払伝票(標準) 新規で伝票タイプを選択 AR入金 または AP支払 ヘッダー情報を入力 (取引先・銀行口座・支払方法・金額) 保存 ヘッダーの請求書欄に指定 支払配分タブで各請求書に配分 伝票処理 → 完了 会計仕訳・銀行口座残高に反映 消込方法 1件消込 複数消込

⚠️ 注意: 支払配分タブの消込金額合計がヘッダーの入金/支払金額と一致しないと完了処理でエラーになります。

メニューから「債権債務・資金管理 > 入金/支払伝票(標準)」を開きます。

入金伝票の新規登録(AR Receipt)

Section titled “入金伝票の新規登録(AR Receipt)”
  1. ツールバーの「新規」ボタンをクリック
  2. ヘッダー情報を入力:
    • 伝票タイプ: 「AR入金」を選択
    • 取引先: 入金元の得意先を選択
    • 銀行口座: 入金先の銀行口座を選択
    • 支払方法: 振込、現金、小切手等を選択
    • 金額: 入金額を入力
    • 転記日付: 入金日を入力(デフォルト: 当日)
  3. 保存」をクリック

支払伝票の新規登録(AP Payment)

Section titled “支払伝票の新規登録(AP Payment)”
  1. 新規」ボタンをクリック
  2. 伝票タイプで「AP支払」を選択
  3. 仕入先、銀行口座、支払方法、金額を入力
  4. 保存」をクリック
  1. 支払配分」タブに移動
  2. 請求書を選択(未消込の請求書が表示される)
  3. 消込金額を入力(部分消込も可能)
  4. 割引額超過/不足額を必要に応じて入力
  5. 保存」をクリック
  1. 入金/支払伝票」タブに戻る
  2. 伝票処理」ボタンをクリック
  3. アクション「完了(Complete)」を選択
  4. OK」をクリック

完了処理により以下が自動実行されます:

  • 請求書との消込(Allocation)の確定
  • 銀行口座残高への反映
  • 会計仕訳の生成

入金/支払伝票タブ(ヘッダー)

Section titled “入金/支払伝票タブ(ヘッダー)”
項目名必須説明
伝票タイプリストAR入金 / AP支払
取引先検索入金元または支払先の取引先
銀行口座選択入出金する銀行口座
支払方法リスト振込、現金、小切手、クレジットカード等
金額金額入金額または支払額
通貨自動選択銀行口座の通貨から自動セット
転記日付日付入金/支払の日付
請求書-検索直接消込する場合の請求書(1件のみ)
割引額-金額早期支払割引の金額
超過/不足額自動金額請求額との差額
伝票状態自動リスト起案、完了、無効 等
項目名必須説明
請求書検索消込対象の請求書
消込金額金額この請求書に配分する金額
割引額-金額早期支払割引
超過/不足額-金額消込後の過不足
伝票タイプ用途IsSOTrx
AR入金得意先からの入金Y
AP支払仕入先への支払N
AR入金取消入金の取消伝票Y
AP支払取消支払の取消伝票N
stateDiagram-v2
    [*] --> 起案: 新規作成
    起案 --> 完了: 完了処理
    起案 --> 無効: 無効処理
    完了 --> 無効: 取消処理(逆仕訳)
    完了 --> 消込済: 請求書と完全消込

*

Q. 1件の入金で複数の請求書に消込するには?

Section titled “Q. 1件の入金で複数の請求書に消込するには?”

「支払配分」タブで複数行を登録し、各請求書への配分金額を指定してください。配分合計がヘッダーの入金額と一致する必要があります。

Q. 前受金(請求書なしの入金)を登録するには?

Section titled “Q. 前受金(請求書なしの入金)を登録するには?”

請求書を指定せずに入金伝票を作成し、完了してください。後日、請求書が発行された際に「支払消込」プロセスで消込を行います。

Q. 外貨建ての入金で為替差損益が発生する場合は?

Section titled “Q. 外貨建ての入金で為替差損益が発生する場合は?”

入金伝票の通貨と請求書の通貨が異なる場合、完了処理時に自動的に通貨換算が行われ、為替差損益が会計仕訳に計上されます。

graph TD
    A[売上請求書] -->|消込| B[入金伝票]
    C[仕入請求書] -->|消込| D[支払伝票]
    B --> E[出納帳]
    D --> E
    E --> F[銀行照合]

消込 売上請求書 入金伝票 仕入請求書 支払伝票 出納帳 銀行照合


iDempiereの入金/支払管理は、複数通貨・複数支払方法に対応した柔軟な債権債務管理を実現します。 売掛金・買掛金の消込から銀行照合まで、オープンソースERPで資金管理を効率化しませんか?

As-Link株式会社では、iDempiereの導入支援・カスタマイズ開発を承っております。

OSS ERP導入サービスの詳細はこちら


🛠 技術仕様(開発者向け)

画面レイアウト(ヘッダータブ)

Section titled “画面レイアウト(ヘッダータブ)”
┌─ 入出金伝票(Payment)───────────────────────────────────────────────────┐
│ │
│ クライアント [▼ Table Direct] 組織 [▼ Table Direct] │
│ 入金 [☐ Yes-No] 伝票番号 [________________] │
│ │
│ ── 伝票タイプ・日付 ────────────────────────────────────────────────── │
│ 対象伝票タイプ [▼ Table] 銀行口座 [▼ Table Direct] │
│ 取引日付 [📅 Date] 転記日付 [📅 Date] │
│ │
│ ── 取引先・請求書 ──────────────────────────────────────────────────── │
│ 取引先 [🔍 Search] 請求書 [🔍 Search] │
│ 支払方法 [▼ List] 通貨 [▼ Table Direct] │
│ 支払金額 [¥_________] 割引金額 [¥_________] │
│ 超過/不足金額 [¥______] チャージ金額 [¥_________] │
│ │
│ ── ステータス ──────────────────────────────────────────────────────── │
│ 伝票状態 [▼ List] 伝票タイプ [▼ Table Direct] │
│ [支払処理] [消込] │
│ │
│ [入出金] [支払配分] [消込伝票明細] │
└──────────────────────────────────────────────────────────────────────────┘

📌 ポイント: この図はADメタデータ(AD_Field.XPosition, IsSameLine)から再現した実際のUI配置です。画面は2カラム構成で、左列(XPosition=1)と右列(XPosition=4)にフィールドが配置されます。

入金/支払伝票は Document 型の伝票で、C_Payment テーブルに格納されます。販売側入金(IsReceipt=Y)と購買側支払(IsReceipt=N)の両方で共用されます。MPayment クラス(3,388行)が中核ビジネスロジックを担い、DocAction インターフェースを実装しています。

classDiagram
    class MPayment {
        +prepareIt() String
        +completeIt() String
        +voidIt() boolean
        +closeIt() boolean
        +allocateIt() boolean
        +processOnline() boolean
        +testAllocation() boolean
        +setPaymentProcessor() boolean
    }
    class X_C_Payment {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    class DocAction {
        <<interface>>
    }
    MPayment --|> X_C_Payment
    X_C_Payment --|> PO
    MPayment ..|> DocAction
    MPayment --> MPaymentAllocate : has many
    MPayment --> MAllocationHdr : creates

+prepareIt() String +completeIt() String +voidIt() boolean +closeIt() boolean +allocateIt() boolean +processOnline() boolean +testAllocation() boolean +setPaymentProcessor() boolean <> <> <> > X_C_Payment X_C_Payment --

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

カラム名必須説明備考
C_Payment_IDIDPK入金/支払ID主キー
AD_Client_IDTableDirectYクライアント
AD_Org_IDTableDirectY組織
IsReceiptYesNoY入金フラグY=入金, N=支払
DocumentNoStringY伝票番号
C_DocType_IDTableDirectY伝票タイプAR入金 / AP支払
DocStatusListY伝票状態DR/CO/VO/RE
C_BPartner_IDSearchY取引先Callout: payment
C_BankAccount_IDTableDirectY銀行口座
C_Invoice_IDSearchN請求書単一消込用
PayAmtAmountY支払金額
DiscountAmtAmountN割引額
OverUnderAmtAmountN過不足額
WriteOffAmtAmountN貸倒額
C_Currency_IDTableDirectY通貨銀行口座から自動
TenderTypeListY支払方法K=小切手, C=クレジット, A=振込等
DateTrxDateY取引日
DateAcctDateY転記日付
IsAllocatedYesNoY消込済フラグtestAllocation()で判定
ProcessedYesNoY処理済み

複数請求書への消込配分を管理。

カラム名必須説明
C_PaymentAllocate_IDIDPK配分ID
C_Payment_IDTableDirectY入金/支払FK
C_Invoice_IDSearchY消込対象請求書
AmountAmountY消込金額
DiscountAmtAmountN割引額
OverUnderAmtAmountN過不足額
WriteOffAmtAmountN貸倒額
erDiagram
    C_Payment ||--o{ C_PaymentAllocate : "has"
    C_Payment }o--|| C_BPartner : "references"
    C_Payment }o--|| C_BankAccount : "references"
    C_Payment }o--o| C_Invoice : "references"
    C_Payment ||--o{ C_AllocationLine : "allocated by"
    C_PaymentAllocate }o--|| C_Invoice : "references"
    C_BankAccount }o--|| C_Bank : "belongs to"

allocated by belongs to

  1. ModelValidator.TIMING_BEFORE_PREPARE イベント発火
  2. 会計期間のオープンチェック
  3. 取引先の必須チェック
  4. 金額の正値チェック(0以下は不可)
  5. 支払配分(C_PaymentAllocate)の合計金額整合性チェック
  6. ModelValidator.TIMING_AFTER_PREPARE イベント発火
  1. ModelValidator.TIMING_BEFORE_COMPLETE イベント発火
  2. オンライン決済の場合、processOnline() で決済処理実行
  3. 請求書指定がある場合、allocateIt() で消込伝票(MAllocationHdr)を自動生成
  4. 支払配分(C_PaymentAllocate)がある場合、複数請求書への消込を実行
  5. testAllocation() で消込完了状態を判定し IsAllocated を更新
  6. カウンターパート伝票の自動生成(組織間取引時)
  7. ModelValidator.TIMING_AFTER_COMPLETE イベント発火

MAllocationHdr / MAllocationLine を生成し、入金/支払と請求書を紐付ける。通貨が異なる場合は換算レートを適用し、為替差損益を自動計上する。

PaymentProcessor を呼び出し、クレジットカード等のオンライン決済を実行する。決済プロセッサの設定は C_PaymentProcessor テーブルで管理。

入金/支払に紐づく全消込行の合計が支払額と一致するかを検証し、IsAllocated フラグを更新する。

stateDiagram-v2
    [*] --> Drafted : 新規作成
    Drafted --> InProgress : prepareIt()
    InProgress --> Completed : completeIt()
    Completed --> Voided : voidIt()
    Completed --> Reversed : reverseCorrectIt()
    Drafted --> Voided : voidIt()

*

Calloutクラスメソッドトリガーフィールド処理内容
CalloutPaymentdocTypeC_DocType_ID伝票タイプに応じた IsReceipt の自動セット
CalloutPaymentinvoiceC_Invoice_ID請求書の未消込残高を金額にセット
CalloutPaymentamountsPayAmt / DiscountAmt / WriteOffAmt過不足額の自動計算
CalloutPaymentpaymentC_BPartner_ID取引先情報の自動セット

Calloutソース: org.adempiere.base.callout/src/org/compiere/model/CalloutPayment.java

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

Section titled “拡張ポイント(カスタマイズ箇所)”

入金/支払伝票に独自バリデーションや後処理を追加する例:

public class CustomPaymentValidator implements ModelValidator {
@Override
public String docValidate(PO po, int timing) {
if (po instanceof MPayment) {
MPayment payment = (MPayment) po;
if (timing == TIMING_BEFORE_COMPLETE) {
// 例: 一定金額以上の支払は承認必須
if (!payment.isReceipt()
&& payment.getPayAmt().compareTo(new BigDecimal("1000000")) > 0) {
// 承認済みかチェック
if (!payment.isApproved()) {
return "100万円以上の支払には承認が必要です";
}
}
}
if (timing == TIMING_AFTER_COMPLETE) {
// 例: 入金完了時に通知メール送信
if (payment.isReceipt()) {
sendPaymentNotification(payment);
}
}
}
return null;
}
}

TenderType に独自の支払方法を追加する場合は、AD_Reference の値リストに追加し、対応する PaymentProcessor を実装する。

プロセス名説明
伝票処理 (DocAction)伝票の完了・無効・取消等
支払消込 (Payment Allocation)入金/支払と請求書の手動消込
支払選択 (Payment Selection)複数の支払をまとめて実行
自動消込 (Auto Allocation)未消込の入金/支払を自動マッチング

iDempiereの入金/支払機能は Model Validator や Callout で安全にカスタマイズできます。 承認フロー、自動消込ルール、外部決済連携など、コア改変なしで業務要件に合わせた拡張が可能です。

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

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