

Excelで作った在庫管理表が、3人同時に開くだけでデータが破損します。
「在庫管理システムを自作したい」と思ったとき、まず確認すべきことがあります。それは「どんな規模の管理が必要か」という一点です。
自作が向いているのは、管理するSKU(商品・モノの種類)が1,000件以下、1日の入出庫件数が50件未満、利用人数が3名以下のケースが目安です。これはパッケージソフト導入の専門家が示す数字で、この3条件をすべて下回る場合は、自作でも十分な品質を保てます。
つまり自作が向いている環境は意外と限られているということです。
収納に興味がある方の場合、家庭内の消耗品・日用品ストック・趣味グッズの管理であれば十分に当てはまります。一方、小さなネットショップで複数のスタッフが同時に在庫を確認・更新する状況では、早々に自作の限界にぶつかる可能性があります。
自作のメリットは大きく2つです。
- 初期費用がほぼゼロ:ExcelやGoogleスプレッドシートを使えば、追加コストなしでスタートできます
- 自社・自分の管理ルールに100%合わせられる:既製品では対応できない独自の分類や管理単位でも自由に設計可能です
反対に、自作の最大のデメリットは「維持コスト」が見えにくいことです。PCのOSが更新されて動かなくなったとき、担当者が異動・退職したとき、管理品目が倍に増えたとき、その修正・対応にかかる時間はすべて「人件費という名の費用」として発生します。作る前に、長く使い続けるイメージまで持てるかを確認してください。
自作の手法は主に「表計算ソフト系」「ノーコードアプリ系」「プログラミング系(Pythonなど)」の3種類に分かれます。それぞれ得意分野が異なるため、管理の規模・利用人数・目的に合わせて選ぶのが基本です。
① Excel・Googleスプレッドシート
最も手軽で、学習コストが低い方法です。SUMIFやVLOOKUP関数を組み合わせるだけで、入庫・出庫の記録から在庫残高の自動計算まで構築できます。
ここで重要な違いがあります。Excelは動作が速くオフラインで使えますが、複数人での同時編集には基本的に対応していません。同時に複数の担当者が保存しようとするとファイルが壊れるリスクがあり、これが「失敗の最多パターン」として挙げられています。一方、Googleスプレッドシートはブラウザで動き、複数人が同時に編集しても誰がどこを入力しているかリアルタイムで確認でき、競合リスクがほぼありません。これは使えそうです。
| 比較項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 同時編集 | ❌ 非推奨(競合・破損リスク) | ✅ 最適(リアルタイム同時編集) |
| 動作速度 | ✅ 高速(大量データも快適) | ⚠️ 数万行超で重くなる |
| オフライン | ✅ 利用可 | ❌ 基本的に要ネット |
| スマホ連携 | ⚠️ VBA等の知識が必要 | ✅ AppSheetと連携しやすい |
| 適した環境 | 拠点固定・1名管理 | 複数拠点・複数人管理 |
② ノーコードツール(AppSheet)
プログラミングを一切書かずに、スマホで使える本格的なアプリを作れるサービスです。Googleスプレッドシートをデータベースとして、スマホのカメラでバーコード・QRコードを読み取る機能まで実装できます。料金はスタータープランで月額5ドル(約750円)程度から利用可能です。
「コードが書けない自分には無縁」と思っていた方でも、AppSheetなら在庫管理アプリを週末2日程度で作り上げた事例が実際にあります。収納の見える化ツールとしても活用でき、「どの棚に何がいくつあるか」をスマホで一瞬で確認できる仕組みが実現します。
③ Python(Flask・Django)によるWebアプリ
最も自由度が高い方法で、本格的なwebアプリとして自作できます。FlaskやDjangoというWebフレームワークを使うことで、ブラウザからアクセスできる在庫管理システムが構築でき、WindowsでもMacでもスマホでも使える環境が整います。データの保存にはSQLiteという軽量データベースが使いやすく、初めてのデータベース構築にも向いています。
プログラミング初心者にはハードルが高く感じるかもしれませんが、「Python → Flask → SQLite」という組み合わせは、学習リソースが日本語でも豊富に公開されているため、独学でも取り組みやすい構成です。
参考)自作・Excel・ノーコードの選択基準をわかりやすくまとめた解説。
在庫管理システムを自作する方法|Excel・Access・Pythonの構築手順(LOGILESS Blog)
「何から作ればいいかわからない」という方に向けて、在庫管理システムの最小構成を整理します。まず持つべき考え方は「最初から全部作ろうとしない」ことです。
システムに必要な機能は、「なければ困るもの(Must)」と「あれば便利なもの(Want)」に分けて考えます。最初に実装するのはMustだけで十分です。具体的には次の4つが基本です。
- 商品・モノの情報の登録・編集・削除
- 入庫・出庫の記録(日時・数量・担当者)
- 現在の在庫数のリアルタイム確認
- 在庫が一定数を下回ったときの警告(アラート)
この4つさえ動けば、管理の目的のほとんどは達成できます。
設計で最も大切なのは「データの入れ物(テーブル)」の設計です。Pythonで作る場合でもExcelで作る場合でも、テーブルの設計だけは慎重に行う必要があります。最低限、「商品マスタ」「入出庫履歴」「在庫残高」の3つのテーブルに相当する構造を持たせてください。
商品マスタには商品ID・商品名・カテゴリ・保管場所・単位を設定します。入出庫履歴には日時・商品ID・入出庫の区別・数量・担当者を記録します。在庫残高は入庫合計から出庫合計を引いた値を常に自動計算する形にすると、手打ちミスが生まれません。
設計段階でよくある失敗が、商品名だけで管理してしまうことです。商品名は同名のものが出てきたり、表記ゆれが起きたりします。必ず商品IDという固有の番号を付けてから運用を始めてください。これが条件です。
UIの設計については、「使う人が迷わない画面」を最優先に考えます。在庫数を更新するフォームは数字しか入力できないように制限し、商品名は直接打ち込まずにプルダウンで選ばせることで、入力ミスを大幅に減らせます。厳しいところですが、入力しやすい仕組みを作らなければ、現場で使われなくなります。
ここで多くの人が誤解しているポイントがあります。「バーコード連携は高額な専用リーダーが必要」と思っている方が多いですが、実際にはスマホのカメラだけで実現できます。
スマホ連携の最もコストパフォーマンスの高い方法は、Googleスプレッドシート+AppSheetの組み合わせです。AppSheetではスマホのカメラをそのままバーコードスキャナーとして使う機能が標準搭載されており、商品についている既存のバーコード(JANコード・QRコードなど)を読み取るだけで、在庫データに自動的に記録が入ります。
家庭の収納管理に応用するアイデアとして、日用品や食品ストックのバーコードをスキャンして「消費するたびに出庫入力」「購入したら入庫入力」という運用にすると、常にストックの正確な数が手元のスマホで確認できます。「どの棚に何がある」という収納の見える化と、「在庫が何個残っている」という数量管理を同時に実現できます。これは使えそうです。
自作でQRコードを生成・印刷して貼り付ける方法も広く使われています。必要なのはQRコード対応のバーコードリーダーかスマートフォン、ExcelまたはGoogleスプレッドシート、プリンターとシールラベルのみです。初期費用ほぼゼロで仕組みが作れます。
一方、自作でのバーコード連携には限界もあります。読み取り精度の向上や多種多様なバーコード規格への完全対応を求めると、設定の難易度が一気に上がります。精度に不安を感じ始めたら、zaico(ザイコ)やMonoC(モノシー)などの専用在庫管理アプリの無料プランを試してみることも一つの選択肢です。
参考)スマホカメラとQRコードを活用した在庫管理の導入全手順。
QRコード在庫管理の始め方|スマホで安価にDXする全手順とアプリ比較(SmartMat Cloud)
自作プロジェクトが途中で止まる理由は、ほぼ4つのパターンに集約されます。これを知っておくだけで、多くの失敗を未然に防げます。
パターン① データが「ブラックボックス」化する
作った本人しか仕組みを理解できない状態になる問題です。ExcelのVBAコードが複雑になりすぎたり、Pythonのコードにコメントが書かれていなかったりすると、担当者が交代した瞬間に誰も触れない「遺産システム」になります。対策は、作りながら必ずコメント・メモを残し、シンプルな構造を維持することです。
パターン② 共有設定によるデータ破損
Excelでファイルを複数人で共有し、同時に「上書き保存」を試みると、データが消えるケースが報告されています。この問題の回避策として有効なのが、最初からGoogleスプレッドシートで作るか、Pythonで作ったWebアプリにデータベースを持たせる構成にすることです。結論は「Excel共有運用は避ける」です。
パターン③ 「あれば便利」機能を詰め込みすぎる
自動発注メール送信・売上予測グラフ・複数倉庫管理……開発を進める中でどんどん機能を追加したくなりますが、完成に至らず途中で挫折するパターンです。開発の鉄則として「MVP(最小限の動くシステム)を先に完成させる」という考え方があります。まず動く状態を作り、そこから少しずつ機能を足していく順番が大切です。
パターン④ セキュリティ・バックアップを後回しにする
自作システムでは、セキュリティ対策やバックアップが個人のスキルに依存します。特に意識してほしいのが定期的なバックアップの自動化です。Googleスプレッドシートなら変更履歴が自動で残りますが、Excel管理では意図的にバックアップを取る仕組みが必要です。クラウドストレージへの自動保存を設定する一手間が、後の大きな損失を防ぎます。
参考)自作で失敗する原因と、自作・専用システムの切り替え判断基準を詳解。
【失敗率8割】在庫管理システムの自作手順と限界を見極める3つの判断基準(カスタメディア)