【JPIERE-0411】反対仕訳作成プロセス

プロセスの実行条件に合致する実績の仕訳をもとに、その反対仕訳を作成するプロセスです。

 

反対仕訳作成の目的

JPiere/iDempiereを使用開始するにあたり各種トランザクションデータと勘定科目残高を移行すると、2重で仕訳が起票されるケースがあります。そのような場合に、トランザクションデータの移行から発生した仕訳の反対仕訳を自動作成し、帳尻を合わせる事を目的としたプロセスです。

反対仕訳作成プロセスの仕様

反対仕訳作成プロセスは、実行条件に合致した実績の仕訳データの反対仕訳を振替仕訳伝票で起票します。一度、反対仕訳を起票した仕訳データは対象外となり、ひとつの仕訳データから反対仕訳が複数回起票される事はありません。そのため、同じ条件で反対仕訳プロセスを何度実行しても問題ありません。

【JPIERE-0407】振替仕訳伝票インポートの連携

反対仕訳作成プロセスは、振替仕訳伝票インポートと連携して動作します。反対仕訳作成プロセスは、はじめに実行条件に合致する実績の仕訳データを抽出し、反対仕訳が起票されていない場合は、振替仕訳伝票インポートで使用しているインポートテーブル(中間テーブル)I_GLJpurnalJPにデータを作成します。I_GLJpurnalJPテーブルに反対仕訳のデータをすべて登録した後で、インポートプロセスが実行され、反対仕訳が振替伝票に作成されます。

実行条件

反対仕訳作成プロセスの実行条件
反対仕訳作成プロセスの実行条件

◆会計スキーマ(必須)

反対仕訳作成プロセスは会計スキーマ単位で行います。実行する会計スキーマを1つ選択します。

◆組織(任意)

反対仕訳作成プロセスを組織単位で実行した場合に、実行する組織を選択する事ができます。

◆転記日付(必須)

反対仕訳の対象となる実績の仕訳を転記日付で範囲指定します。

◆テーブル(任意)

反対仕訳の対象となる実績の仕訳をトランザクションデータのテーブル単位で実行する事ができます。

◆レコード(任意)

テーブルが選択されている時に表示され入力する事ができます。レコードIDを入力して、反対仕訳の対象をレコード単位で制限する事ができます。

◆伝票タイプ(必須)

反対仕訳を起票する振替仕訳伝票で使用する伝票タイプを選択します。

◆伝票ステータス更新(任意)

振替仕訳伝票を登録した後で実行する伝票ステータス更新の処理を選択します。何も選択が無い場合は、振替仕訳伝票は作成されずに、インポートテーブル(中間テーブル)にインポートデータを作成するまでになります。

 

処理概要

◆インポートテーブル(I_GLJournalJP)のデータ削除

反対仕訳作成プロセスでは処理の最初に、I_GLJournalJPテーブルのデータを削除します。

◆反対仕訳の対象となる仕訳の実績データを抽出

実行条件の入力値をもとに、反対仕訳の対象となる仕訳の実績データを抽出します。

  • あくまでも実績のデータが対象(予算などのデータは対象外)
  • 振替仕訳伝票は原則として反対仕訳の対象外。対象に含めてしまうと、反対仕訳の反対仕訳が起票されてしまうため。どうしても振替仕訳伝票の反対仕訳を起票したい場合は、実行条件のテーブルに"振替仕訳伝票"を指定する。

◆反対仕訳の重複チェック

抽出した仕訳の実績データの中に、すでに反対仕訳が登録されているデータがある場合は、2重登録しないように処理をスキップします。すでに反対仕訳が登録されているかどうかは、データ移行用識別子(JP_DataMigration_Identifier)を使用します。反対仕訳で作成された振替仕訳伝票のデータ移行用識別子フィールドには、"RE-テーブルID-レコードID"が入力されます。反対仕訳を登録しようとしているデータと同じ"RE-テーブルID-レコードID"が入力されている振替仕訳伝票が既に登録してある場合には、2重登録となると判断し処理対象外となります。接頭辞として"RE-"を付けるのは、反対仕訳ではないデータ移行のデータと区別するためです。"RE-"はReversing Entry(反対仕訳)の略です。

◆インポートテーブル(I_GLJournalJP)にデータ作成

処理対象となった仕訳のデータをもとに、I_GLJournalJPテーブルのデータを作成します。

その際に、伝票番号には原則として反対仕訳の対象となった伝票の伝票番号が設定されます。しかし一部のトランザクションデータには伝票番号フィールドが無い場合があるので、そのような場合には、レコードID+名称欄のデータ(可能な限り)が代わりに入力されます。

◆振替伝票へインポート処理

反対仕訳作成プロセスの実行条件に伝票ステータス更新処理の指定があった場合にはI_GLJournalJPテーブルに作成したデータを振替伝票へインポートし、伝票ステータスの更新処理が行われます。伝票ステータス更新処理の指定が無かった場合は、この処理は行われません。

カスタマイズ情報

クラス

  • jpiere.base.plugin.org.adempiere.process.CreateReversingEntry