6.3 【設問】売上~請求、仕入~請求
例題16 請求書の再発行に対応できるようにする
誤った請求書を発行してしまう場合もあります。
このような場合、先に発行した請求書を無効化し、訂正後の請求書を再発行する必要があります。
会計上の訂正処理は、神経を使って設計する必要があります。
請求書の再発行ひとつとっても、たとえば以下のような点が考慮されているモデルを提案できることが求められます。
- 2重請求が起きない
- 誤った請求書の訂正理由を管理できる
- 請求書発行の履歴が管理できる
問題
元の請求書を無効化し、まだ請求していない請求明細は漏れなく請求できるよう、請求エンティティを詳細に見直してください。
解答
請求 | |||
* | 請求番号 | ||
請求日付 | |||
請求先顧客コード | (FK1) | ||
前月請求金額 | |||
当月入金額 | |||
当月税抜売上額 | |||
消費税金額 | (導出) | ||
当月請求金額 | (導出) | ||
請求元経理部門コード | (FK2) | ||
無効化フラグ | 1. | ||
無効化元請求番号 | (FK3) | 2. | |
無効化理由 | 3. | ||
請求明細 | |||
* | 請求番号 | (FK1) | |
* | 請求明細番号 | (FK2) | |
税抜合計金額 | (導出) | ||
受注顧客コード | (FK3) | ||
受注営業所部門コード | (FK4) | ||
希望請求締め月 | |||
請求完了フラグ | 4. |
解説
(注:番号は解答中の番号と対応します。番号が記載されていない解説は、全体に当てはまります)
- 請求ヘッダエンティティに無効化フラグを属性として追加し、再請求した元の請求オカレンスは、履歴として残しておくようにします
会計上に使用される情報はこのような処理をして、削除してしまわないようにします - 無効化フラグを立てたオカレンスには、無効化の理由を記述できるように無効化理由属性を追加します
- 新しい請求書は、新しい請求番号で作成します
新規請求オカレンスを作成する際、無効化した請求が組付けられるように、無効化元請求番号に、無効化した請求番号を入力できるようにします - 請求明細には、希望請求締め月属性を指定して、顧客側の処理の柔軟性を助けるとともに、請求完了フラグを設けます
このフラグは、請求書の作成処理が完了したら「1」が記述され、請求書に無効化フラグがたつと、「0」クリアされ、再度請求書を作成する必要があることを知らせます
解説トレーナー