Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

販売管理における未入金を考える

経営陣が販売管理システムに求める共通事項は、未入金の顧客を抽出したいということ。今回はどういった考え方で未入金を管理していこうとするのかを晒すことで、僕の頭の整理をする。

請求が起こらないと入金も起きない

大前提として、請求を起こさなければ入金も発生しません。また、請求額と入金額はイコールでなければなりません。請求した入金予定額と実際に入金された額の突き合わせを行わないと回収されたことにならず、回収したかどうかわからないと未入金かどうかもわからない、という。

請求には大きく2つパターンがあります。都度請求と締め請求です。

都度請求の入金処理及び売掛消しこみ

都度請求というのは、請求したその都度お金をもらう方式です。簡単にいえば、個人が店で物を買うのと一緒。請求された額をその場で支払う方式で、弊社の場合は代引き等で出荷した伝票がそれに当たります。

この場合の処理は簡単で、伝票に販売区分を持たせておいて現金の伝票の一覧を抽出します。で、そいつをクリックすると入金入力画面に飛んで、入金IDを伝票側に差し込んで消しこみます。入金額を間違えても入金額を訂正すればオッケーです。入金額と請求額が一致しない限り、未入金だぞこの野郎という状態になります。

締め請求の入金処理及び売掛消しこみ

ちょっとややこしくなります。入金予定額の算出の考え方が悩ましいからです。

日本はホントにもう個人の事情を優先するのが好きな国なので、請求日と入金予定日までの期間がバラバラ。海外だと請求書を出してから◯◯日間みたいな単純ルールらしいですね。みんなそれで統一すればいいのに。加藤良三なんとかしろ。

  • 10日締の翌月5日払い
  • 20日締の翌月15日払い
  • 20日締の翌月20日払い
  • 20日締の翌月31日払い
  • 20日締の翌々月10日払い
  • 末締の翌月20日払い
  • 末締の翌々月末払い

上記のように、請求年月日からその請求が入金される予定日の期間が異なります。支払期間が30日を超える顧客の場合は、必ず繰越残が出てしまいます。請求書を出すまでの期間が30日なのに、それを超えられたら先月分の入金が無いことにあるのは当たり前だからです。

なので、「請求書に繰越残がある=未入金である」は正しくないし、「繰越残を含んだ当月請求額=入金予定額」でもありません。よって、基本的に掛売の請求書に対する入金予定額は、その請求月の買上総額(税込)であるというのが正しいと僕は考えています。なので、その額と入金総額が合わない請求を未入金の請求として抽出しようとしています。

まとめて入金する場合

こういう場合の消し込み、どうやってやってるんだろう。

顧客の締め支払いが、20日の翌10日払いとします。

  • 4/20 請求 50000円
  • 5/20 請求 25000円 + 先月の50000円
  • 6/20 入金 75000円

わ、わかります・・・? 支払期間が30日以内の顧客で、2ヶ月分溜めちゃったのを一括で入金頂いている場合が難しい。6/20の請求書には当然入金額として6/20に75000円頂くことになるんですねぇ・・・。支払が30日以下で繰越がある場合に限り、入金予定額は繰越+当月買上額になるんやろか。

・・・って思ったけど、未入金なら繰越=当月買上額なんだから、1件ずつ請求を消しこんでいけば良いと思いました。

ひたすら繰越

こんな感じで3ヶ月前の請求がずっと残る事もありえる。

  • 4/20 請求 50000円
  • 5/20 請求繰越 50000円
  • 6/20 請求繰越 50000円

5月と6月には何も伝票が起きてない(当月買上が無い)パターン。請求だし忘れたのか何かで、たまーにあるんだよね。経理も伝票が発生していないので、見過ごしがちなのが良くないね。この場合は仮に6/30に5万円入金があったら、4/20の請求を6/30入金で消しこむんだろうなーと思って、そういう考えで実装しようとしている。

入金が分納された場合

  • 4/20 請求 50000円
  • 5/10 入金 20000円
  • 5/15 入金 30000円

分割払いでのご入金があった場合は、4/20の当月請求額が見合ってないから、入金予定額は請求額から既に入金分を引かなければならないってことになるな。1つの請求に複数の入金で消しこむ可能性があるんだから、請求テーブルには入金IDを付与できないので、入金側に請求IDをもたせるDB設計じゃないとあかんことになるな・・・。

こういった入金処理や消しこみを行った上で、発行される請求書が正しいかどうかを今週いっぱいで仕上げていこう。20日はもうすぐや・・・。

7/18 19:10 追記

結局、請求を1個ずつ消しこむのは現実的ではないということになりました。赤残の場合、過不足があった場合、まとめて入金があった場合・・・そういったものを1件ずつ入金と請求を紐付けても負担ばかりが増えてしまいます。

というわけで、一番単純な方法は請求書の繰越残の目視による確認が楽ということになりました。翌々の支払いのところはどーしても残が残るので、それは請求一覧表でわかるようにしておけば、本来入って来なければならない入金がないことがわかります。

もっとリアルタイムにやりたいんだったら請求と入金の残高テーブルを作って、残高がプラスだったらアウトという設計にすればシンプルかな。