【JPIERE-0580(v9)】振込口座/引落口座の選択

iDempiereでは、1つの取引先に複数の銀行口座を登録できます。そこで、売上/仕入請求伝票と、まとめ入金/支払伝票の作成準備において、銀行口座を選択できるようにしました。

購買管理(債務管理)においては、振込先の口座を選択していることになります。

販売管理(債権管理)においては、自動引落する口座を選択していることになります。

売上/仕入請求伝票における取引先銀行口座の選択

売上/仕入請求伝票で、取引先銀行口座を選択できるようにしました。

これは売上請求伝票においては、自動引落データを作成する際に、どの口座から引き落とすのか選択できることを意味します。仕入請求伝票においては、振込先の口座を選択できることを意味します。

仕入請求伝票タブ

取引先フィールドに入力されている取引先の銀行口座を選択入力できます。

仕入請求伝票
仕入請求伝票

【補足説明】売上/仕入請求伝票での取引先口座情報の入力は任意

売上/仕入請求伝票での取引先口座情報の入力は任意です。ここで入力しなくても、まとめ入金/支払伝票の作成準備で入力できますし、口座の変更もできます。そういう意味では、売上/仕入請求伝票に入力する取引先口座情報は、引落予定もしくは振込予定の口座を表します。

【カスタマイズポイント】取引先口座情報の設定ロジック

 JPiereでは、売上/仕入請求伝票の取引先口座情報は手入力するようになっています。これは、ここで入力しなくても、まとめ入金/支払伝票の作成準備において、取引先口座情報を設定できるようになっていることと、売上/仕入請求伝票の取引先口座情報の自動設定ロジックを自由に実装できるようにする余地を残しておくためです。

 売上/仕入請求伝票で、取引先口座情報を自動設定するロジックは自由にカスタマイズして下さい。

まとめ入金/支払伝票の作成準備における取引先銀行口座の選択

まとめ支払伝票の作成対象仕入請求伝票タブ

まとめ支払伝票の作成対象仕入請求伝票を登録する際に、仕入請求伝票に取引先銀行口座が入力されている場合は、その口座が、まとめ支払伝票の作成対象仕入請求伝票の取引先銀行口座フィールドに設定されます。空欄の場合は、取引先マスタ上で、デフォルト指定されている取引先の銀行口座を第1候補として設定します。

【補足説明】取引先口座情報の設定ロジック

取引先口座情報は下記のロジックにより自動設定されます。

  • 売上/仕入請求伝票の取引先口座情報
  • 上記が無い場合は、取引先マスタのデフォルトフラグがONになっている銀行口座で、もっとも古くに登録されている口座。
  • 上記が無い場合は、デフォルトフラグがOFFになっている銀行口座で、もっとも古くに登録されている口座。

※前提としてまとめ支払伝票の作成準備の場合は、取引先口座の口座用途は"両方"か"口座振込"である必要があります。

※前提としてまとめ入金伝票の作成準備の場合は、取引先口座の口座用途は"両方"か"口座引落"である必要があります。

※自動設定された後で、手入力で変更することもできます。

まとめ入金/支払伝票の作成準備伝票作成

まとめ支払伝票の作成対象仕入請求伝票タブのデータをもとに、まとめ支払伝票の作成準備伝票を作成します。この際に、伝票をまとめる単位は、取引先と取引先口座単位です。

まとめ入金/支払伝票の作成準備伝票作成タブ

まとめ入金/支払伝票の作成準備伝票作成タブ
まとめ入金/支払伝票の作成準備伝票作成タブ

支払データエクスポートの改善

まとめ入金/支払伝票の作成準備伝票で、取引先口座が入力されている場合、その口座の情報を使用してエクスポートするデータを作成するように改修しました。ついでに、FBデータを作成するための情報が不足している場合は、FBデータを作成せずにエラーになるようにしました。

【補足説明】取引先口座情報の取得ロジック

まとめ入金/支払伝票の作成準備伝票の取引先口座が空欄の場合、下記のロジックにより取得できた口座の情報を使用してエクスポートするデータを作成するように改修しています。

  • 取引先マスタのデフォルトフラグがONになっている銀行口座で、もっとも古くに登録されている口座。
  • 上記が無い場合は、デフォルトフラグがOFFになっている銀行口座で、もっとも古くに登録されている口座。

※前提として支払データエクスポートの場合は、取引先口座の口座用途は"両方"か"口座振込"である必要があります。

カスタマイズ情報

カラムの追加

◆C_Invoiceテーブル

  • JP_BP_BankAccount_ID カラム

◆C_PaySelectionLineテーブル

  • JP_BP_BankAccount_ID カラム

リファレンスの追加

◆テーブルバリデーション

  • JP C_BP_BankAccount

モデルバリデーター

◆C_PaySelectionLineテーブル

  • jpiere.base.plugin.org.adempiere.base.JPierePaySelectionLineModelValidator

プロセス

◆まとめ支払伝票の作成準備伝票作成プロセス

  • プロセスの検索キー:JP_PaySelection_CreatePayment
  • クラス: jpiere.base.plugin.org.adempiere.process.JPierePaySelectionCreateCheck