読者です 読者をやめる 読者になる 読者になる

Life is Really Short, Have Your Life!!

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

自社業務システムのDB設計メモ(受注業務編)

DB設計というかデータ設計というか。今回は受注業務、つまりお客様からもらった注文をどのように無事納品まで持って行くか、という所についてのお話。

受注単価の覚え込み

卸だけに限ったことではないと思うのですが、同じ商品でも納入先によって単価が違うことが過多ある。例えば大きな会社さんは掛け率を安くするのが通例だし、同じ商品をでも売れ残ったので特価で出すことも過多ある。何にせよ、「品番と顧客で紐づけて、その時入力した単価を納品伝票打つ時に表示する」という機能が必要になる。始め600円で次に580円になる場合もあるが、その時は最後に入れた単価でおk。「受注単価が変動している」ことが把握できれば良いので、受注単価の変更履歴が追えればおk。単価の間違いは営業マンならびに会社の信用問題に繋がるので気をつけたい。

セット品番

季節商材に良くあるのですが「春物商材アソートセット」みたいな感じで、適当な品番を作ることがある。でも先方は適当な品番だと検品できないから、セット内容の明細が欲しい。でも我々はセットの内容を1行1行打ち込むのがツライ。そこでセット品番の出番。適当なセット品番を作成する為に、セットと品番の紐付けを行うようにしておく。伝票を打つ時はセット品番、納品伝票印字時は明細が表示され摘要欄に「○○セット分」と書いておけば「素敵!抱いて!」ということになる。

受注の3パターン

通常受注

お客様のご注文の商品が全てウチに在庫があるなら何の苦労もない。予め先に仕入れてそれを倉庫に寝かしておけば、伝票切って出荷するだけ。でも、そんな支払い先行なビジネス誰もやらないので、「注文もらったその都度メーカーに問い合わせる」のがほとんど。となると、色々めんどくさいことが起きる。ま、何にせよ商品の調達には「予約」「在庫有り(自社に)」「完売終了」「生産中止」「在庫無いから要発注」「メーカー直送」という色んなパターンがあるんでね・・・。メーカーに在庫があってもなくても、事務作業がたくさん発生する。日々更新されていく注文残を的確に管理するのはExcelでは限界がある。床の臭いが強すぎて諦めがつく。通常受注の苦労ほとんど顧客の注文を調達する発注にあるんで、それは発注業務編で。

委託販売

世の中には委託販売というのがあって、「とりあえず商品をお店においてちょーだい。売れちゃうから。売れなかったら返品してくれて構いませんよ。その代わり売れたら連絡頂戴ね。伝票上げちゃうからね」というもの。委託期間を先に定めないと無償提供になるのでで2ヶ月か3ヶ月か、まーそれも店によってまちまちなので、委託販売に対応できる設計にしないとあかん。つまり「委託で入れた商品リスト」と「委託後売れた報告があった商品リスト」を付き合わせることが出来なければならないし、委託期間が過ぎたらアラート上げる必要がある。何が売れて、何が返品されるかを管理しなければならん。

予約受付

季節物の商材に良くある話。要はウエア。春物・夏物・秋物・冬物。こういうものは「賞味期限が短い=在庫に残るリスクが高い=売れ残るのはイヤだから受注生産したい」ということになるので、まとまった数が欲しい場合はメーカーに先に頼む必要がある。向こうは向こうの生産計画があるので、チマチマその都度オーダーしてるヤツの都合より、予めまとまった発注をくれる顧客を優先するのは当然のこと。売上げを作るために在庫を抑えるというのは、結構大変なことなんですな。リスク取らないとね。何がドロップシッピングだ豚野郎。お前の一方的な都合で世の中回るわけねーだろ、と。

さて、この受注生産に従って定めた発注量に対して、我々は在庫の引き落としをしなくてはならない。引き落とすだけなら単純ですが、世の中には色んなケースがあります。

予約生産に対する受注を管理する在庫の管理

初期在庫と取置在庫とフリー在庫です。初期在庫ってのは初期オーダー数。ここでは1500としまひょか。取置在庫ってのは顧客の都合で分納・直送になるので、商品だけ先に押さえるという。これリスキーなんですよ。キャンセル喰らったら全部在庫になるから。フリー在庫は初期在庫から取置を引いたもの。これはどこにも属しておらず即出荷可能という意味でフリー。まず、この3つが把握できるDB設計じゃないと意味がない。取置も「品番別」と「顧客別」の2パターンで集計することが多いから気をつけて。

取置の管理

フリー在庫の引き落としは簡単。問題は取置。取置があると色々とややこしい。取り置いたものを訂正する場合は、取り置いた数が300から330になればフリー在庫から30引っ張る必要があるし、300が200になれば、100をフリー在庫に戻す必要がある。そうしないといつまで経っても「今、いくつ取り置いているんですか?」というのが把握できない。これも取置として管理するだけならステータス管理だけで簡単だけど、次の出荷業務につながるとめんどくさくなる。

とりあえずこんなもんだな。発注には「在庫を積んでるヤツと無いヤツ」「予約生産分の受注」「委託販売」の3つがあるので、それに対応できる注文テーブルでないといけないってこっちゃ。