【JPIERE-0408】契約管理のカウンター伝票対応

iDempiereの標準機能には、組織間取引(社内取引/グループ会社間取引)を管理するための機能としてカウンター伝票という機能があります。この機能を活用すると、例えば一方の組織で別の組織に対する発注伝票を作成した場合に、もう一方の組織では自動的に受注伝票を作成してくれます。この事により、組織間取引(社内取引/グループ会社間取引)を行う際によくある、取引の入力のズレを防止する事ができます。

これまでJPiereの契約管理はこのカウンター伝票の機能に対応していませんでしたが、ここに対応しました。

組織間取引を行うにあたり、取引を行う組織間で契約管理の契約書、契約内容、契約内容明細を互いに登録し、"カウンター契約書"の情報として登録しあうと、カウンター伝票を作成する際に、その情報を伝票に自動登録します。

 

契約管理がカウンター伝票に対応する目的

カウンター伝票だけでも、組織間取引の管理は行えますが、契約管理を使用すると自動仕訳で使用する勘定科目を切り替える事ができますので、連結会計を行いやすくなります。

例えば、売上の勘定科目は品目マスタに設定されているため、通常は取引先毎に切り替えるような事はできませんが、契約管理を使用する事で、組織間取引の場合には、組織間売上などの通常の売上科目とは別の勘定科目を使用する事ができます。

組織間取引とそうでない通常の取引とで勘定科目を切り分ける事により連結会計を容易に行う事ができます。

契約書ウィンドウの設定

契約書は通常、契約する双方に1部づつ保管しておくため合計2部作成します。そのためJPiereの契約書のデータもそれぞれの取引先毎に登録し、"カウンター契約書"として取引相手の組織の契約書を結びつけておきます。

あとはカンター伝票の設定を行い、伝票を登録するだけです。

契約書タブ

契約書タブにある「カウンター契約書」フィールドに、対応する組織間取引先の契約書を設定します。選択できる契約書は、ダイナミックバリデーションにより、組織フィールドに設定されている組織と結びついてる取引先の契約書に制限されています。

契約書タブのカウンター契約書フィールド
契約書タブのカウンター契約書フィールド

カウンター契約書は、登録している契約書と次の情報が一致している必要があります。

  • 契約区分 [JP_ContractType]
  • 契約期間(From) [JP_ContractPeriodDate_From]
  • 契約期間(To) [JP_ContractPeriodDate_To]
  • 自動更新 [IsAutomaticUpdateJP]
  • 契約延長期間 [JP_ContractExtendPeriod_ID]

カウンター契約書フィールドを変更すると、契約内容タブと契約内容明細タブに登録されているカウンター契約書の情報はリセットされます。

契約内容タブ

契約内容タブのカウンター契約内容フィールド
契約内容タブのカウンター契約内容フィールド

カウンター契約内容は、登録している契約内容と次の情報が一致している必要があります。

  • 契約処理期間(From) [JP_ContractProcDate_From]
  • 契約処理期間(To) [JP_ContractProcDate_To]
  • 契約カレンダー [JP_ContractCalender_ID]

カウンター契約内容フィールドを変更すると、契約内容明細タブに登録されているカウンター契約書の情報はリセットされます。

契約内容明細タブ

契約内容明細タブのカウンター契約内容明細
契約内容明細タブのカウンター契約内容明細

カウンター契約内容明細は、登録している契約内容明細と次の情報が一致している必要があります。

  • 品目 [M_Product_ID]
  • 摘要科目 [C_Charge_ID]
  • 入力数量 [QtyEntered]
  • 数量単位 [C_UOM_ID]
  • 派生伝票作成方針(入出荷) [JP_DerivativeDocPolicy_InOut]
  • 契約カレンダー(入出荷) [JP_ContractCalender_InOut_ID]
  • 特定契約処理期間(入出荷) [JP_ProcPeriod_Lump_InOut_ID]
  • 開始契約処理期間(入出荷) [JP_ProcPeriod_Start_InOut_ID]
  • 終了契約処理期間(入出荷) [JP_ProcPeriod_End_InOut_ID]
  • 移動数量 [MovementQty]
  • 派生伝票作成方針(請求) [JP_DerivativeDocPolicy_Inv]
  • 契約カレンダー(請求) [JP_ContractCalender_Inv_ID]
  • 特定契約処理期間(請求) [JP_ProcPeriod_Lump_Inv_ID]
  • 開始契約処理期間(請求) [JP_ProcPeriod_Start_Inv_ID]
  • 終了契約処理期間(請求) [JP_ProcPeriod_End_Inv_ID]
  • 請求数量 [QtyInvoiced]

カスタマイズ情報

追加カラム

カウンター契約書の情報を保持するカラムを追加しました。

  • JP_ContractテーブルにJP_CounterContract_IDカラムを追加
  • JP_ContractContentテーブルにJP_CounterContractContent_IDカラムを追加
  • JP_CcontractLineテーブルにJP_CounterContractLine_IDカラム