【JPIERE-0369】摘要科目による外税と内税の明細の混合対応

iDempiereでは、受注伝票、売上請求伝票、発注伝票、仕入請求伝票で、 消費税が計算されています。その際に、伝票ヘッダにあるプライスリスト により、伝票単位で内税か外税かの消費税処理が決定されます。

しかし場合によっては内税と外税の明細を混在した伝票を作りたくなる事 もあるでしょう。そこでJPiereでは、摘要科目(旧料金タイプ)を使用して プライスリストで選択されている、伝票単位の内税か外税かの処理に関 わらず、どちらでも処理ができるようにしました。

JPiereでは、摘要科目を使用する事で、伝票明細に税込みと税抜きの明細 を混在させる事ができます。

iDempiere無料出張セミナーと相談会

カスタマイズ概要

iDempiereは、伝票毎に税抜処理か税込処理かどちらかを選択されます。 しかし、摘要科目(旧訳:料金タイプ)には、税込価格フラグがあり、明細行毎に税抜 or 税込の処理ができるようにも仕様的に検討されている痕跡が存在します。

摘要科目マスタ
摘要科目マスタ
  • 税込価格(IsTaxIncluded)…適用科目を使用した明細には税込価格で入力する事を意味するフラグだと思われます。
  • 同じ税金(IsSameTax)…税込価格フラグのON/OFFに関わらず、伝票の税込or 税抜処理に従うかどうかの判定フラグだと思われます。

この仕様は、iDempiereでは実装されていませんが(税込価格フラグはOFFの状態で読取専用になっており変更できない。また同じ税金フラグは使用している箇所が見当たらない)、JPiereではタックスプロバイダー(税金処理のプラグイン)のロジックに組み込む事で実装しました。

 

税抜き計算の伝票に、税込みの明細を登録する場合、その税金情報マスタは明細レベルの税額計算にする必要があります。伝票レベルで処理してしまうと、端数処理の関係で仕訳と数円ズレる可能性があります。
摘要科目に登録するマスタで、必ず税込で処理させたい場合は、同じ税金フラグをOFFにして、税込価格をONにします。

使用例

「得意先へ1000円(税別)の出張サービスを提供し、サービス料は税抜きで、出張に係る旅費交通費は実費980円の税込み価格で処理したい。」

売上請求伝票の例
売上請求伝票の例

プライスリストは税抜きなので、S0001_サービスAの品目については、税抜き処理されているのが確認できます。摘要科目の8431_旅費交通費(税込)については、税込処理するように設定されていますので、980円が税込み価格として処理されています。

転記
転記

もちろん、転記にも反映されています。

技術情報

修正したクラス(Recognition関係)

◆jpiere.base.plugin.org.adempiere.model.JPiereTaxProvider

◆jpiere.base.plugin.org.adempiere.model.MRecognitionLine

◆jpiere.base.plugin.org.adempiere.model.Doc_JPRecognition

修正したクラス(Estimation関係)

◆jpiere.base.plugin.org.adempiere.model.JPiereTaxProvider

◆jpiere.base.plugin.org.adempiere.model.MEstimationLine

修正したクラス(Order関係)

◆jpiere.base.plugin.org.adempiere.base.JPiereOrderLineModelValidator

◆jpiere.base.plugin.org.adempiere.model.JPiereTaxProvider

修正したクラス(Invoice関係)

◆jpiere.base.plugin.org.adempiere.base.JPiereInvoiceLineModelValidator

◆jpiere.base.plugin.org.adempiere.model.JPiereTaxProvider

◆jpiere.base.plugin.org.compiere.acct.Doc_InvoiceJP

2021年6月26日追加したクラス

◆MInvoiceTaxJP

◆MOrderTaxJP

◆MRMATaxJP

カスタマイズ履歴

2021年6月26日チェックロジックの修正

外税と内税が混在する際に、外税の明細と内税の明細で、共通した税金情報マスタを使用しないようにチェックロジックを実装しました。

【補足説明】明細を登録した後で、明細の外税と内税処理を切り替える場合

明細を登録すると税金情報が計算されます。一度、税金情報が計算された後で、明細の外税と内税処理を変更する場合、共通した税金情報マスタを利用していなくても、エラーになる場合があります。これは、変更前の税金情報マスタの税金情報の計算もチェックの対象にしているためです。このようになった場合、その明細を一度削除して再登録して下さい。もしくは、明細の金額を0円にして、税金情報マスタを外税と内税で共有しないように選択し直していったん保存して下さい。その後で、摘要科目を選択し直すとエラーにならずに登録する事ができます。

 

2020年12月22日 : 不具合修正

受注伝票/発注伝票において、外税と内税が混在した時に"総合計"フィールドの計算が外税になってしまう不具合を修正しました。

関連するコンテンツ

説明資料

iDempiereトレーニング研修