【要望】
食品メーカーのA社では、売上システムで請求処理をしていて、現在は消費税額を顧客の基準に合わせて計算している。
顧客マスタには以下の様な区分があり、
(消費税)丸め単位(1:明細単位、2:納品書単位、3:請求書単位)
(消費税)丸め方法(1:切捨て、2:四捨五入、3:切上げ)
その区分によって処理を分けている。
経理システムに連動するにあたり、請求締処理の段階で連動データを作ることになりました。
しかし、経理システムでは明細単位に消費税を持たねばならず、その合計が請求書の消費税額と一致する必要があるため、納品書単位、請求書単位の顧客のデータについては明細単位に消費税の誤差を配賦したデータを作ってください。
【配賦方法】
明細単位で丸めた消費税の合計と、納品書・請求書単位で算出した消費税の差を、明細単位の合計金額の多いものから順に1円ずつ増減する。
経理システムに連動するデータは以下のとおりです。
納品書NO
請求書NO
売上日
得意先ID
商品ID
商品区分
単価
数量
消費税
……
【テーブル】
関連するテーブルは次のとおり
売上
売上ID
納品書NO
請求書NO
得意先ID
売上日
……
売上明細
明細ID
売上ID
行NO
商品ID
単価
数量
……
得意先
得意先ID
丸め単位(1:明細単位、2:納品書単位、3:請求書単位)
丸め方法(1:切捨て、2:四捨五入、3:切上げ)
……
商品
商品ID
商品区分
消費税率
……
※ OLAP関数を使います。PostgreSQL・MySQLなどではサブクエリーが相当必要です。
※ fn丸め(数値, 丸め方法)というストアドファンクションを使います。
さて、処理をイメージできましたでしょうか?
答えはこちらのページです。→演習問題の答え