購買管理システムは、商品の調達活動を円滑かつ適切に運営するための管理システムで、在庫管理システムと密接に連携しています。
システムの構成としては、大きくは、発注管理、仕入・検収管理、買掛管理に分かれます。

ここでは、個別機能の前に共通で使用される仕入先マスタ、商品マスタを概説します。
【仕入先マスタ】
取引を行う仕入先の基本情報をシステム上格納するのが仕入先マスタです。
仕入先マスタには仕入先コード、仕入先名称、住所、ホームページURL、電話・FAX番号、担当者名、メールアドレス、仕入先分類、支払先情報、締日、支払日、支払サイト、決済方法、振込口座、消費税処理方法などの情報が格納されます。ここで、支払先情報とあるのは、仕入先と支払先とが異なる場合に利用されます。例えば、個別の仕入先はメーカの営業所ですが支払先はメーカ本社の経理部、という場合などが該当します。
仕入先マスタは、取引の基本情報であり、支払口座を含む支払条件を含んでいて不正や誤謬による影響が大きいため、管理上、取扱いの職務分掌を明確にします。情報システム上も登録・変更内容に応じて承認フロー、権限レベルを整備し、内部統制を機能させます。登録時のプルーフリストの出力、変更履歴の出力などの機能を保有することになります。
【商品マスタ】
購買業務に限らず、在庫管理、販売管理業務など、卸売業のすべての局面で共通に利用され業務の根幹となる商品情報が商品マスタに格納されます。具体的には、商品を特定する商品コード(SKU: Stock Keeping Unit)、JANコード(JAN: Japanese Article Number)、商品名称、型番・品番、商品分類、仕入先コード、標準仕入単価、発注単位、販売単価、販売単位などの情報を保有します。

JANコード、商品名称、型番・品番など、商品固有の情報はメーカなど仕入先から入手し、SKU、商品分類、仕入先コードなど、卸会社固有の情報は、自社で登録を行います。
商品を識別する方法として、すべての商品にJANコードが採番されていれば、JANコードにより商品の特定が可能ですが、商品によってはJANコードが採番されていないもの、あるいは、JANコードでは桁が長く使用しにくい等の理由で、JANコードとは別に自社商品コードを採番する例も多く商品マスタには自社商品コードもあわせて保有する場合が多くあります。
商品マスタは業務の根幹情報となるばかりか、リテールサポートとして小売など得意先への情報提供の基礎情報にもなる点、さらに価格情報を含み財務会計への影響も大きい点から、その情報の精度とタイムリーなメンテナンスに加えて、重複登録防止や廃番管理などのデータガバナンスが重要となります。アクセス制御や管理機能については、仕入先マスタで記述した内容と同様です。
【発注管理】
発注管理は、仕入先に対する発注情報を管理します。発注情報には、発注先、発注担当者、部署、発注日、アイテム、単価、金額、単位、数量、納品先、入荷予定日などが含まれます。
発注管理における特に重要な項目は、発注単価、発注タイミング、発注数量です。
発注単価の管理として、一般的なのは、事前にシステムに単価を登録しておき、発注時点では登録単価を参照して、ユーザが直接単価を変更できないようにガードをかける方法があります。
◇商品マスタの単価を参照している例

なお、単価の登録先としては、商品マスタ、仕入先別マスタ、期間別マスタなどがありますが、優先順位に依存します。単価マスタ参照の場合、単価に変更あれば、マスタ単価情報をタイムリーに変更する必要があります。
仕入値引
発注時にマスタの単価を初期値として参照するものの、ボリュームディスカウントなどを反映して、新単価で上書きすることにより変更可能とする場合もあります。入力処理の容易性はありますが、反面、入力ミスにつながる危険性もあるため、商品マスタ単価の、例えば10%など、一定比率を入力可能範囲として設定しておくことにより、制限をかける方法もあります。
仕入値引を管理する方法としては、発注処理時に仕入値引の区分を設けて、商品マスタに登録された単価に対して、減額情報を付与して値引を行う方法があります。この方法だと、商品マスタの価格情報を変更する必要がなく、また、仕入値引の区分を集計することによって、容易に仕入値引の実績を把握することができます。この際、商品(伝票明細)別に仕入値引を対応させれば、商品別に値引を反映した発注単価が求められます。これに対して、複数商品が含まれた伝票全体に対して一括の仕入値引を行うと、個別商品への値引の反映は難しくなります。
◇仕入値引コードを使用して発注入力を行っている例

システムの機能としては、上記のようにいくつかのバリエーションがありますが、仕入先との価格交渉は、商品部の重要な業務であり、商慣行や単価管理の方針にもとづいてシステムの機能も検討されることになります。
発注点管理
発注を支援する代表的な手法として発注点管理があります。在庫量があらかじめ設定した水準(発注点)まで低下したタイミングで発注をかける、在庫補充の管理手法です。「定量発注方式」とも呼ばれます。
マスタにアイテムごとの発注点を設定しておき、ある時点の在庫水準がこの基準在庫を下回ると発注処理を行うというものです。
発注点はリードタイム(発注から納品までの日数)中の需要量と安全在庫(需要の変動や納品遅延に備えた最低限の在庫)を加算して設定されます。需要が比較的安定している定番商品・消耗品に向いた手法です。
発注点 = リードタイム中の需要量 + 安全在庫
処理方法として、発注勧告用のリストを出力した上で、マニュアルで発注手配を行う方法と、EDI(Electronic Data Interchange:電子データ交換)やクラウド連携による自動処理の2つの方法があります。
後者の場合、業務効率は良くなりますが、在庫の精度および発注点が正しく管理されていないと、在庫過多など業務に悪影響を与える恐れもあります。
上記の他に、発注数の決定をサポートする機能として過去の発注履歴や在庫状況、受注残が基礎情報として提供されます。
発注入力・承認が行われると発注書が出力され、仕入先に送付されます。仕入先とEDIやクラウド連携などによりネットワーク化がされていれば、発注データが電子データで仕入先に送信されます。卸売業のトランザクション数は非常に多いため、電子データを利用する例が多く見られます。EDIを利用する場合は、ワークフローによる電子承認が組み込まれます。
発注後の数量、単価、納期の変更あるいはキャンセルも発生するため、変更管理も重要な機能となります。
電子取引
電子取引の一つの形態として、VAN(Value Added Network)があります。付加価値通信網という略ですが、VANは取引相手との1:1の電子取引ではなく、標準的な通信手順と標準的なデータフォーマットを使用することによりN:Nの取引を行うとするものです。VAN業者は利用企業に対して、ネットワークや通信ソフトを提供し、データ変換、データの集配信を行います。
これに対して、近年はインターネットの普及により、よりオープンなインターネットをプラットホームに電子データ取引が行われる事例が増えています。WEB等のインターネット環境があれば、EDIを行えるという容易さはあるものの、個社によって書式が異なり、共通データフォーマットなど標準化も整備段階なので、個別の変換が必要になるなどの課題もあります。
【仕入・検収管理】
発注データをもとに標準納期もしくは納期回答による納期情報が加わると、入荷予定データが作成されます。予定日別、倉庫別、仕入先別に入荷予定表を出力すると、物流部での要員管理、保管場所管理など入荷作業計画に活用されます。
仕入先からの納品に際しては、検品済みの納品書にもとづいて、検収入力が行われます。検収により仕入データが生成される一方で、未入荷分は発注残として把握されます。

入荷実績情報が発注情報と同一であれば、入荷予定データを元データとして検収入力を行うことで仕入処理が行われ、処理が完了しますが、納品数が発注に満たさず欠品の場合、一部のみ納品される分納の場合、発注数量を上回る過納の場合など、幾つか考慮が必要となります。やや各論ですが、例として分納の場合を解説します。
分納
発注数の全数ではなく部分入荷の場合、発注データのうち、入荷部分のみ処理し、未入荷分を発注残として認識する必要があります。
システムがこうした分納処理に対応していないと業務とシステムとのギャップが生じて、すべての商品が揃うまで、入荷処理が行えないという事態が発生します。この結果、システム上の在庫数が狂う原因となります。
以下の例は、分納時に発注データを分割している例です。入荷予定の9/19に発注数10に対して8のみ入荷があったため、発注(入荷予定)データを検収完了分と未入荷分に分割して、検収完了分は仕入データとなり、未入荷分は発注残として把握されます。この方法では、当初発注NOに枝番をつけることにより、当初発注情報との紐付けを可能とし、仕入先への問い合わせ・確認が容易に行えます。
◇分納時に発注データを分割する例

仕入返品
検品時に入荷商品に破損など瑕疵があれば、仕入返品入力により、仕入のマイナス処理が行われます。なお、仕入返品の取引区分を別途保有することにより、仕入返品データのみを識別するこが可能となります。
直送
仕入先からの顧客への直送品の場合、売上計上と仕入計上を同時に行います。この場合、各社の売上計上のタイミング(収益認識基準)と仕入計上のタイミングの整合性をはかる必要があり、システム上もこの点の考慮が必要となります。
仕入リベート
業種固有の仕入リベートは収益管理の面ではとても重要ですが、バリュエーションが多いため、システム化には困難が伴います。パッケージソフトでは対応が難しく、自社でシステムを構築している例が多いと考えられます。
特に中堅企業においては、仕入リベートを購買管理システムですべてを対応せず、直接、会計システムで対応するという例も多いですが、以下の点の考慮が必要になります。
リベートの会計処理として、仕入原価からの控除する仕入原価調整型と雑収入として処理される収益型の二つの方法がありますが、前者であれば、仕入リベートを売上原価に算入して、在庫の評価計算に仕入リベートを反映する必要があります。会計方針との整合性に留意が必要となります。
輸入
輸入仕入が伴う場合は輸入システムとして別システムが構成されるか、購買管理システムに機能が包含されます。輸入システムの機能としては、外貨換算、Purchase Order(発注書)出力をはじめとする発注管理、船積処理の進行管理、計上方法に応じた仕入管理、輸入諸掛に関する原価管理などがあります。
【買掛管理】
仕入データが生成されると、商品部又は管理部が仕入先から送付される請求書と仕入データとの照合を行い、買掛債務を確定します。
卸の仕入データは膨大な量になるため、マニュアル処理で照合作業をすると非常に煩雑であり、仕入先から電子データとして請求データを入手し、照合処理を電子処理し省力化する例が多く見られます。次の手順となります。
(1)入手した請求データを自社システムのフォーマットを合わせます。
(2)請求データと自社の発注データおよび仕入データとの3点を照合します。
(3)総額ベースで照合を行い、不一致の場合、今度は納品伝票の合計単位にブレイクダウンして照合を行います。
(4)不一致の場合、今度は、納品書明細ベースにブレイクダウンして照合を行います。
(5)詳細ベースにブレイクダウンし、最終的にアンマッチリストを出力します。
◇照合処理の電子化の例

なお、照合に際してはAIやRPA(Robotic Process Automation)など最新のテクノロジーを活用した省力化も行われています。
支払
買掛債務が確定すると、支払締処理が行われ、仕入先マスタ情報による支払先情報、支払締日、支払サイト、支払方法に従い支払予定データが作成され、権限者の承認を経て、振込みの場合はインターネットバンキング・システムへ振込データが連携します。買掛データは購買管理システムから相手先別に集約されるなどして会計システムに取り込まれます。
なお、支払予定データは資金管理にも活用されます。
