軽減税率の導入に向けて、iDempiereの各種伝票の日付と自動初期設定される税金情報マスタの関係について、調査及び研究しその成果をまとめておきたいと思います。
iDempiere標準機能
iDempiereの標準機能では、売上に係る消費税の計算(仮受消費税の計算)は、受注伝票と売上請求伝票で行われ、会計の仕訳は売上請求伝票の完成時に起票されます。そして仕入に係る消費税の計算(仮払消費税の計算)は、発注伝票と仕入請求伝票で行われ、会計の仕訳は仕入請求伝票の完成時に起票されます。
受注伝票/発注伝票 - DateOrdered
受注伝票と発注伝票は、DateOrdered(注文日付/発注日付)の日付で、適用する消費税率を自動的に初期設定します。これは、あくまでも品目マスタなどを入力した時に自動的に設定されるだけですので、必要に応じて変更する事ができます。
売上請求伝票/仕入請求伝票 - DateInvoiced
売上請求伝票と仕入請求伝票は、DateInvoiced(請求日付)の日付で、適用する消費税率を自動的に初期設定します。これは、あくまでも品目マスタなどを入力した時に自動的に設定されるだけですので、必要に応じて変更する事ができます。
JPiereのカスタマイズ機能
JPiereでは、次の伝票で消費税が関係してきます。
見積伝票/手書伝票 - DateOrdered
見積伝票/手書伝票は、DateOrdered(注文日付)の日付で、適用する消費税率を自動的に初期設定します。その際に、注意が必要となるのが、見積伝票/手書伝票はその伝票の性格上、取引先フィールドと取引先住所フィールドの入力が必須では無い事です。税金情報マスタを自動設定するロジックには、取引先や取引先の住所情報も必要となります。その情報が無いと適切な税金情報マスタを適用する事ができません。
そのため、取引先フィールドと取引先住所フィールドが未入力の場合には、税金情報マスタは適切なマスタを手入力して下さい。
出納帳
出納帳では、税金情報マスタの初期値を自動的に設定するようなロジックは実装されていません。適宜適切な税金情報マスタを選択して処理して下さい。
初期値の設定を活用して、あらかじめよく使用する税金情報を設定しておくと、便利かなと思います。
契約テンプレート - DateInvoiced(プライスリスト適用日付)
契約テンプレートは、DateInvoiced(プライスリスト適用日付)の日付で、適用する消費税率を自動的に初期設定します。その際に、注意が必要となるのが、契約テンプレートはその性格上、取引先フィールドと取引先住所フィールドの入力が必須では無い事です。税金情報マスタを自動設定するロジックには、取引先や取引先の住所情報も必要となります。その情報が無いと適切な税金情報マスタを適用する事ができません。 そのため、取引先フィールドと取引先住所フィールドが未入力の場合には、税金情報マスタは適切なマスタを手入力して下さい。
契約書 - DateDoc ≒ DateInvoiced
契約書は契約テンプレートからコピーして作成する事ができますので、その場合契約内容明細の税金情報は、契約内容明細テンプレートの税金情報マスタをそのまま引き継ぎます。
契約内容明細を手入力する際には、DateDoc(伝票日付)の日付をもとに、税金情報マスタを自動設定します。
ここで説明の便宜上、DateDoc(伝票日付)と言っていますが、DateDocに入力した日付を自動的にDateInvoicedにコピーして、実際にプログラム上はDateInvoicedの日付をもとに税金情報マスタを自動設定しています。
【カスタマイズポイント】税金情報を自動設定するコールアウト
契約内容明細の税金情報を自動設定するコールアウトは、売上請求伝票と仕入請求伝票で使用されているCalloutInvoiceクラスを使用しています(2019年8月現在)。
そして、税金情報マスタを自動設定するロジックでは、取引先の住所や倉庫の情報が必要になるのですが、取引先の住所情報は、契約書タブの取引先住所が使用され、倉庫についてはコンテキストの#M_Warehouse_IDの値が使用されます。
多くの場合は、これで問題はないかと思いますが、契約書ヘッダでは日本の取引先を指定しているにも関わらず、契約内容タブでは海外の取引先を指定しているような場合で、より正確に税金情報マスタの自動設定を行いたい場合は、契約書専用の税金情報マスタの自動設定ロジックを実装する必要があります。
売上計上伝票/仕入計上伝票
売上計上伝票は、出荷納品伝票から作成される際に、受注伝票の税金情報を引き継ぎます。売上計上伝票を手入力する際にはDateInvoiced(請求日付)の日付をもとに、税金情報マスタを自動設定します。
仕入計上伝票は、入荷伝票から作成される際に、発注伝票の税金情報を引き継ぎます。仕入計上伝票を手入力する際には、DateInvoiced(請求日付)の日付をもとに、税金情報マスタを自動設定します。