はじめに
バイト先について
個人営業で厳選された食品や雑貨等を販売しているセレクトショップです。この店では、ExcelとVBAで構築されたレジ・在庫管理システムを使用しています。
きっかけ
接客・レジ・納品など包括的に業務を担当するスタッフとして2022年12月から働き始めました。
業務を行なっていく中で非効率な部分を改善したいと思い、オーナーに提案し改良していきました。
具体的な改良事例をご紹介します
発注書作成の半自動化
概要
レジ内の商品情報を活用し、商品を選択するだけで発注書を自動作成・PDF化し、取引先にメール送信するシステムです。
使用技術
- VBA
- Excel関数
- Outlook
従来の方法と問題点
従来は手作業でWordに商品情報や取引先情報を入力し、PDFに変換してメールで取引先に送信していました。さらに、金額も手計算で行っていたため、計算ミスが発生していました。
改良点
- 商品を選択し個数を入力するだけで、テンプレートに商品情報を自動入力し、手作業を大幅に削減しました
- PDF化およびメール送信のプロセスを自動化し、送信作業を効率化しました
- 発注した商品を納品待機リストに登録し、納品時の作業を減らしました
QRコードシール発行の全自動化
概要
納品時の商品に貼るQRコードシールの発行作業をPythonで全自動化するプログラムです。
使用技術
- VBA
- Python(PyAutoGUI)
従来の方法と問題点
- レジ・在庫管理システムで納品する商品の情報をCSVファイルとして作成
- 作成したCSVファイルをP-touch(シール発行ソフト)にインポート
- 各種設定を手動で行い、シールを発行
この方法では、選択・入力する項目が多く、作業に時間がかかっていました。また、納品作業を迅速に完了する必要があったため、時間短縮が求められていました。
従来方法での発行の様子
youtube: https://youtu.be/14i7qR1KSv0
改良点
- CSVファイルの作成ステップを実行すると、残りの2〜3ステップを全自動で行うように改善しました
- 手作業で約3分かかっていたシール発行作業を、30秒に短縮し、作業効率を大幅に向上させました
改良後の発注書作成と納品の様子
youtube: https://youtu.be/pbCaKHtNEvE
BASE在庫数更新の自動化
概要
レジ・在庫システムの在庫情報をネットショップ「BASE」へ自動的に反映するシステムです。
使用技術
- VBA
- Excel関数
- BASEAPI
- python
従来の方法と問題点
従来は在庫数に余裕のある商品のみを出品していました。しかし、全商品を販売して売上をアップさせるためには、確実に販売できる在庫数をBASEに正確に設定する必要がありました。このプロセスには多くの手作業が伴い、時間がかかる上に計算ミスのリスクもありました。
改良点
- BASEのCSV出力・入力機能を利用し、商品IDと賞味期限に基づいて適切な在庫数を自動更新するロジックを構築しました。これにより、手動でのデータ入力を大幅に削減しました
- 賞味期限が10日以内の商品の販売停止や割引フラグの管理を自動化しました。これにより、在庫管理の精度が向上し、期限切れ商品の販売を防止しました
現在の課題
複雑な条件分岐をExcel関数とVBAで組み合わせて実現したため、コードが読みにくく保守が困難となっています。また、在庫情報のCSVアップロードは手動で行っており、実行に時間がかかるため、現在は1日に1回しか更新できていません。そのため、1日に大量の商品が売れた場合、BASEで購入された際に在庫が不足するという事態が発生してしまいました。
今後の展望
現在、BASE APIを活用した完全自動化システムの構築を進めています。これにより、在庫情報のリアルタイム反映とさらなる業務効率化を図り、在庫不足のリスクを最小限に抑えることを目指しています。また、コードの整理と最適化を行い、保守性の向上にも取り組んでいます。
追記(2024/12/18)
BASE APIとPythonを活用した自動化在庫管理システムの構築を行いました。
賞味期限管理画面の作成・自動割引適用
概要
賞味期限管理画面を作成し、割引設定している商品の可視化と割引処理を自動化するシステムです。
使用技術
- VBA
従来の方法と問題点
従来は、在庫画面から賞味期限列でフィルターをかけて期限の近い商品を手動でチェックしていました。この方法では、以下の問題が発生していました。
- チェック漏れ: 手動作業により、一部の商品を見落とす可能性が高かった
- 割引処理の不透明さ: 割引シールを貼っているかどうかがシステム上でわからず、レジ時に割引処理を手動で行う必要があった
- 割引処理の漏れや期限切れ商品の回収忘れ: 手動作業によるエラーが頻発し、割引処理の漏れや期限切れ商品の適切な処理が行われないことがあった
改良点
- 各商品の割引開始期間をあらかじめ設定し、毎日一回その情報に基づいて割引開始商品を自動的に洗い出し、一覧で表示する画面を作成しました
- レジでの割引処理を自動で適用するようにシステムを修正しました。これにより、手動での割引処理が不要となり、作業時間の短縮とエラーの減少を実現しました