請求キャンセル・入金編

請求締めして売上計上訂正して請求キャンセルして締め直したらどかーんと行った件。
http://d.hatena.ne.jp/rokugen/20050325/1111722671
解決策として、請求キャンセルの制約条件を設けましたの件。
http://d.hatena.ne.jp/rokugen/20050325/1111724860

これを思い出しつつ、入金の場合も考えてみる。気をつけなくてはいけないのは、入金と請求の関係がデータ上でがっつり紐付くのは消し込みの段階で、請求データを作る段階では帳票に表示する時に都度持ってきてやらなきゃいけないって事だ。その件についてはこれ。
http://d.hatena.ne.jp/rokugen/20050329/1112070936

勉強になるなあ。←宣伝。

で、現在の所の請求キャンセルの制約条件を確認する。

  • 請求に紐付く売上の内、1つでも消し込み中・消し込み済みのものがあれば、キャンセル不可ァ〜。もう振り替え伝票も出ちゃってますから、訳判んなくなる。
  • キャンセル対象の請求が、最新の請求ではない場合、キャンセル不可不可ァ〜。請求残が狂うからキャンセル請求から最新請求までの間の全ての請求を作り直さなきゃいけなくなる。
  • 最新請求締め日より後の日付で売上が1つでも出来てたら、キャンセル不可不可不可ァ〜。赤黒がてれこになる恐れがある。詳しくは上記リンク。

以上を踏まえていってみよう、やってみよう。

またぞろ、3/20締め請求を出しました、と。当月売上は1200円でした、と。前月請求残は0円とする。前受金もなし。消費税は度外視。

 請求一覧とかそういう帳票のイメージ
 月    前月残   入金額     売上金額   請求額
 ---   -------- ---------- ---------- ----------
 03/20      0円        0円     1200円     1200円

4月になりまして、4/5に1200円入金があって、当月売上は500円で、4/21に請求を締めました、と。

 入金テーブル
 ID  得意先 入金日 区分  金額   手数料  税コード 税額  赤黒
 --- ------ ------ ----- ------ ------- -------- ----- -----
 001 1234   04/05  現金  1200円  200円  売外     10円  黒

 請求一覧とかそういう帳票のイメージ
 月    前月残   入金額     売上金額   請求額
 ---   -------- ---------- ---------- ----------
 04/20   1200円     1200円      500円      500円

よし、ばっちりだ。だが、それと同時に入金登録ミスが発覚。本当は1700円だった。でももう請求締めしちゃったので、得意先に謝って次月に乗っけようって事になった。

 入金テーブル
 ID  得意先 入金日 区分  金額    手数料  税コード 税額  赤黒
 --- ------ ------ ----- ------- ------- -------- ----- -----
 001 1234   04/05  現金   1200円   200円 売外      10円 元
 002 1234   04/21  現金  -1200円   200円 売外      10円 赤
 003 1234   04/21  現金   1700円   200円 売外      10円 黒

これで、次月の請求に-1200円と1700円を合算した500円が乗る事になる。ばっちりだ。

だがしかし、ここでやっぱり請求キャンセルして入金日を修正して綺麗にしようよって事になった。

 入金テーブル
 ID  得意先 入金日 区分  金額    手数料  税コード 税額  赤黒
 --- ------ ------ ----- ------- ------- -------- ----- -----
 001 1234   04/05  現金   1200円   200円 売外     10円  元
 002 1234   04/21  現金  -1200円   200円 売外     10円  赤
 003 1234   04/21  現金   1700円   200円 売外     10円  元
 004 1234   04/20  現金  -1700円   200円 売外     10円  赤
 005 1234   04/20  現金   1700円   200円 売外     10円  黒

赤と黒の計上日は同日が今の所基本なのでこうだな。では請求を3/21〜4/20でもう一度作ってみよう。

 請求一覧とかそういう帳票のイメージ
 月    前月残   入金額     売上金額   請求額
 ---   -------- ---------- ---------- ----------
 04/20   1200円     1200円      500円      500円

かわんないじゃん・・・。このまま売上なかったとして5月締めを見る。

 請求一覧とかそういう帳票のイメージ
 月    前月残   入金額     売上金額   請求額
 ---   -------- ---------- ---------- ----------
 05/20    500円      500円        0円        0円

結局次月に乗ってんじゃん。これはですな、赤伝票の入金日(要は計上日)の仕様をきっちり作り込まないと、この機能はフォローできんっつーことだな。こう云う入金日だったらちゃんとなるんじゃないの。

 入金テーブル
 ID  得意先 入金日 区分  金額    手数料  税コード 税額  赤黒
 --- ------ ------ ----- ------- ------- -------- ----- -----
 001 1234   04/05  現金   1200円   200円 売外     10円  元
 002 1234   04/05  現金  -1200円   200円 売外     10円  赤
 003 1234   04/21  現金   1700円   200円 売外     10円  元
 004 1234   04/21  現金  -1700円   200円 売外     10円  赤
 005 1234   04/20  現金   1700円   200円 売外     10円  黒

つまり、赤の計上日は元伝票と同じにするって形。会計締めは行われてない訳だから、月次の残は問題ない。でもそうすると、最初の修正の段階、

 入金テーブル
 ID  得意先 入金日 区分  金額    手数料  税コード 税額  赤黒
 --- ------ ------ ----- ------- ------- -------- ----- -----
 001 1234   04/05  現金   1200円   200円 売外     10円  元 ← 請求済み
 002 1234   04/05  現金  -1200円   200円 売外     10円  赤 ← 未請求
 003 1234   04/21  現金   1700円   200円 売外     10円  黒 ← 未請求

で5月請求締めをしても、003しかのってこないので1200円入金がふくれてしまう。日付コントロールじゃなくて、「請求済み」「未請求」などの請求ステータスで制御するにしても、入金日と請求期間の整合性が全く見えてこないのでとても気持ち悪い、不健康だ。

それに、さらに会計締めの前後が絡んできたらもう何が何だか、考えれば考えられるが頭使いすぎると甘いものが進んでしまって、太ってしまう。

よって、ここは禁止したい。大いに禁止したい。こんなアクロバティックな運用、お客様も良しとはしないと思う。そう思う!俺が思った!よって、制約条件追加。

  • 請求に紐付く売上の内、1つでも消し込み中・消し込み済みのものがあれば、キャンセル不可ァ〜。
  • キャンセル対象の請求が、最新の請求ではない場合、キャンセル不可不可ァ〜。
  • 最新請求締め日より後の日付で売上が1つでも出来てたら、キャンセル不可不可不可ァ〜。
  • (new!)最新請求締め日より後の日付で入金が1つでも出来てたら、キャンセル不可不可不可不可ァ〜。

オラオラですか〜?