ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

請求書を2種類発行すると起きそうな事態

スポンサーリンク

以前利用されたシステムを元に、依頼元から新たなシステムの作成依頼がありました。
以前利用されたシステムをほぼそのまま継承しますが、請求書を発行する機能を

  • 会合への参加費と親睦会への参加費の合算

の請求書発行機能から、

  • 会合への参加費
  • 親睦会への参加費

の個別に請求書を発行するようにしてほしいという要望がありました。

請求書を分けたい理由は?

会合への参加費は、会社が支払ってくれるけれど、親睦会への参加費は、自費で支払うように言われたので、請求書を分けて欲しいと要望があったのかもしれないと推測しました。

以前利用されたシステムでは、請求書の宛名を入力する欄があり、

  • 請求書の宛名を入力する欄に入力されていれば、入力された宛名で請求書を発行
  • 請求書の宛名を入力する欄に入力されていなければ、参加される方の名前で請求書を発行

となっています。

依頼元は、

  • 会合への参加費の請求書の宛名を入力する欄に入力されていれば、入力された宛名で会合への参加費の請求書を発行
  • 会合への参加費の請求書の宛名を入力する欄に入力されていなければ、参加される方の名前で参加費の請求書を発行
  • 親睦会への参加費の請求書の宛名を入力する欄に入力されていれば、入力された宛名で親睦会への参加費請求書を発行
  • 親睦会への参加費の請求書の宛名を入力する欄に入力されていなければ、参加される方の名前で親睦会の請求書を発行

と考えれているようです。

書類
unsplash-logoHelloquence

請求書を分けると起きそうな事態

これまで1種類しかなかった請求書が2種類になるだけで、システムとしては難しくありません。
システムとしては難しくありませんが、運用において

  • 会合の参加費と懇親会の参加費の請求書が別々になるので、それぞれに銀行振り込みをされる

という事態が考えられます。

システムは、登録単位で合算した参加費をこれまで管理しています。
合算した金額を一度にまとめて銀行振り込みをされたという情報を、依頼元が手作業でシステムに登録しています。
この点についての変更の要望はありません。

会合の参加費と懇親会の参加費の請求書が別々になるのに合わせて、同様に

  • 会合の参加費と懇親会の参加費を別々に管理する

という要件が追加になるかもしれません。

会合の参加費と懇親会の参加費を別々に管理するようになると、今度は

  • 会合の参加費と懇親会の参加費を合算して銀行振りこみされる

という事態が考えられます。

別々の管理になると、別々に管理している金額を合算した金額と、銀行振りこみされた金額を比較して、過不足がないかの確認が必要になります。

別々に請求書を発行するようになりますが、同じ宛名の振込はなるべくまとめてもらいたいので、

  • 会合への参加費の請求書の宛名を入力する欄と親睦会への参加費の請求書の宛名を入力する欄の両方が入力されていない場合
    →会合への参加費と親睦会への参加費の合算の請求書を発行
  • 会合への参加費の請求書の宛名を入力する欄と親睦会への参加費の請求書の宛名を入力する欄の両方に同じ宛名が入力されている場合
    →会合への参加費と親睦会への参加費の合算の請求書を発行
  • 会合への参加費の請求書の宛名を入力する欄と親睦会への参加費の請求書の宛名を入力する欄を比較して、未入力と入力等、異なる場合
    →会合への参加費と親睦会への参加費の請求書を個別に発行

という考えを依頼元はされるかもしれません。


請求書を2種類に分けるという、一見簡単に思える内容が、意外に手間がかかりそうな内容だという思考結果になりました。
このシステムは、一人ずつではなく、複数人を同時に申し込めるので、もしかしたら、

  • 個人毎に、会合への参加費の請求書と親睦会への参加費の請求書を発行できるようにしたい

という要件が出てくるかもしれないと考えています。