在庫管理で最初に決めるのは、機能でも画面でもありません。「在庫数を、記録の積み上げで出すか/その数字を直接書き換えるか」の1つです。ここを先に決めないと、あとから数が合わなくなったときに追えません。
結論から書くと、入出庫を1件ずつ記録する方式をおすすめします。実際に動かしている見本は製造業のkintoneにあり、この記事はその中の在庫の部分をどう設計したかの話です。
Excelの在庫表が詰まるところ
Excelが悪いわけではありません。品目が数十、動かす人が1人の間は、Excelのほうが速いです。詰まるのは、人と品目が増えたときです。
| 詰まるところ | 現場で起きること |
|---|---|
| 在庫表のセルを直接書き換えている | 「なぜこの数になったか」が残らない |
| 入庫は納品書、出庫は指示書と、紙が別々 | 記録が在庫表に反映されるのが月末 |
| 誰かが開いていると編集できない | 出庫した人がその場で書けず、あとでまとめて入れる |
| ロットを備考欄に書いている | 「このロットをどこに出したか」を調べられない |
| 安全在庫の列はあるが見ていない | 足りないと気づくのは、引き当てようとした瞬間 |
一番重いのは1行目です。在庫表のセルを書き換える運用は、差が出たときに原因を追えません。 棚卸しで実棚と合わなかったとき、「数え間違い」なのか「出庫の付け忘れ」なのか「二重に引いた」のかが分かりません。
2つの方式の違い
kintoneで在庫を持つ方法は、大きく2つです。
| ① 入出庫を1件ずつ記録する | ② 在庫数を直接書き換える | |
|---|---|---|
| 持つもの | 入出庫アプリに1入庫=1レコード、1出庫=1レコード | 品目マスタの在庫数フィールド1つ |
| 現在の在庫数 | 入庫の合計 − 出庫の合計 | そのフィールドの値 |
| 作る手間 | アプリが1つ増える | 品目マスタだけで済む |
| 差が出たときに追えるか | 追える(いつ・誰が・いくつを、履歴で見られる) | 追えない(前の値が残らない) |
| ロットごとの履歴 | 取れる | 取れない |
| 月次の入出庫の集計 | グラフ機能で取れる | 取れない |
| 入力の手間 | 動かすたびに1レコード | 数字を直すだけ |
②が向くのは、動きがほとんどない備品や治具です。それ以外は①にしてください。②で始めると、半年後に「合わないので数え直す」以外の手が無くなります。
「記録を正にする」とはどういうことか
①にすると決めたら、在庫数は入出庫の積み上げと一致しているのが正しい状態になります。見本でもこの形にしています。
- 品目 C-3001(テスト用ベアリング 6204)
- 入出庫:2026-09-08 に入庫100個(LOT-2609-B)、2026-09-12 に出庫82個(LOT-2609-B)
- 品目マスタの在庫数:18個

実棚と合わなかったときは、差を消すのではなく「棚卸調整」という区分の入出庫を1件足します。 そうすると「いつ、いくつ調整したか」も履歴に残ります。
アプリの持ち方
在庫だけを見るなら、必要なアプリは2つです。
| アプリ | 1レコードの単位 | 主な項目 |
|---|---|---|
| ① 品目マスタ | 1品番 | 品番・品名・区分(原材料/部品/半製品/製品)・単位・標準原価・在庫数・安全在庫・在庫の余裕・仕入先 |
| ⑤ 在庫入出庫 | 1回の入庫または出庫 | 日付・品番・品名・区分(入庫/出庫)・数量・ロット・備考 |
つなぎ方は2つです。
- ルックアップ:入出庫で品番を選ぶと、品名が自動で入ります(→kintoneルックアップ機能の使い方)
- 関連レコード一覧:品目を開くと、その品番の入出庫の履歴が下に並びます

入出庫を品目のサブテーブルに持たない
「品目マスタの中に入出庫の明細テーブルを作る」形は、最初は楽です。ただ入出庫は1品番で何百行にもなり、次の3つができなくなります。
- 月ごと・仕入先ごとの入出庫の集計
- ロットでの絞り込み(「LOT-2609-B をどこに出したか」)
- 入出庫だけを日付順に並べた一覧
サブテーブルの中身は、kintoneの一覧・絞り込み・グラフの対象になりません。「あとで横に集計したくなるもの」は別アプリにするのが基本です。判断の基準は6章 複数アプリのつなぎ方と5章 アプリ設計の基本にまとめています。
安全在庫割れを、色で出す
在庫数が並んでいても、人は見ません。見てほしいものだけ色を変えるのが、在庫管理を続けるコツです。
見本では品目マスタに「在庫の余裕」という計算フィールド(在庫数 - 安全在庫)を置き、これが負の数のときに色を付けています。安全在庫を割った品目が、一覧で一目で分かります。

これは無料プラグイン条件書式の設定だけで作っています。手順は4つです。
- アプリの設定 →「プラグイン」→「条件書式」の歯車アイコン
- 「+ ルールを追加」で「在庫の余裕 が 0 より小さい」を作る
- 色を付ける対象に「在庫数」「安全在庫」「在庫の余裕」を選び、背景色を選ぶ
- 「保存する」→「アプリを更新」
数値は文字の並びではなく大小で比べられるので、「在庫の余裕が 10 より小さいなら薄い色、0 より小さいなら濃い色」のように2段階にもできます。色の付け方はkintoneの一覧で条件に合う行に色を付ける方法に詳しく書きました。
二重登録を止める
同じ納品書を2人が入れてしまう事故は、必ず起きます。無料プラグイン重複チェック Proで、複数の項目の組み合わせ(品番+区分+日付+ロット)が同じレコードを保存前に止められます。
kintone標準の「値の重複を禁止する」は1つのフィールドにしか設定できないため、この組み合わせは表せません。違いはkintoneで重複登録を禁止する方法にまとめています。
在庫数を入出庫から出す(JavaScript)
品目の詳細画面に、入出庫から計算した在庫数を出す最小の例です。スペースフィールドを1つ置いておきます。
(() => {
'use strict';
const IO_APP = 5; // 在庫入出庫アプリのID
const KEY = '品番';
const KUBUN = '区分'; // 入庫 / 出庫
const QTY = '数量';
const SPACE = 'stock-calc'; // スペースフィールドの要素ID
kintone.events.on('app.record.detail.show', async (event) => {
const el = kintone.app.record.getSpaceElement(SPACE);
if (!el) return event;
const code = event.record[KEY].value;
const resp = await kintone.api('/k/v1/records', 'GET', {
app: IO_APP,
query: `${KEY} = "${String(code).replace(/"/g, '\\"')}" limit 500`,
fields: [KUBUN, QTY],
});
const stock = resp.records.reduce((sum, r) => {
const n = Number(r[QTY].value || 0);
return r[KUBUN].value === '入庫' ? sum + n : sum - n;
}, 0);
el.textContent = `入出庫から計算した在庫数:${stock.toLocaleString()}`;
el.style.color = stock < 0 ? '#c00' : '#333';
return event;
});
})();
30行ほどです。limit 500 を超える品目では、カーソルを使った取得に書き換える必要があります。JavaScriptカスタマイズの基本は13章 JavaScript・API・外部連携にまとめています。
入出庫の保存と同時に品目の在庫数を書き換えることもできますが、同じ品番を2人が同時に保存したときに片方の更新が消える可能性があります。まずは上のように「計算して見せるだけ」から始めて、運用が固まってから書き込みを足すのが安全です。
ロットと棚卸し
| やりたいこと | kintoneでの持ち方 |
|---|---|
| ロットごとの入出庫を追う | 入出庫にロットの項目を持つ。品目の関連レコード一覧をロットで絞る |
| ロットの残数を見る | 入出庫アプリのグラフで、品番×ロットごとに数量を集計する |
| 先入先出で自動的に引き当てる | 標準機能にはない。JavaScriptか専用システム |
| 棚卸しの差を残す | 区分に「棚卸調整」を足し、差の分だけ1レコード足す |
| 月次の入出庫を見る | 入出庫アプリのグラフで、月ごと・区分ごとに集計する |
グラフ機能の使い方はkintoneのグラフ・レポート機能にまとめています。
正直に言っておく限界
| 限界 | どうするか |
|---|---|
| 在庫数は標準では自動で増減しない | JavaScriptを書くか、入出庫から計算して見せる |
| 先入先出の自動引き当てはない | ロットの選択は人が行う前提にする |
| 所要量計算(MRP)はできない | 町工場の生産管理をkintoneで作る方法に線引きを書きました |
| 無料プラグインはパソコンの画面のみ対応 | 重複チェックなどはPCでの入力を前提にする |
| 入出庫が数万件を超える | 集計をグラフ機能に寄せ、JavaScriptでの全件取得は避ける |
最初から在庫の自動計算を作り込むと、運用が始まる前に時間を使い切ります。まずは「動かしたら1レコード増える」状態を作るほうが、効果が出るのが早いです。
進め方と費用
初回30分で業務を聞き、その場で画面の形を出します。そこから1〜4週目で構築し、動くアプリを現場の声で直します。ここまでが0円です(1業務1アプリまで、最大1か月)。1ヶ月後に使うか使わないかを決めていただき、使うと決めた場合だけ月額5万円から(最低12ヶ月)で改善と追加を続けます。
kintoneのライセンス料(スタンダードコース 1ユーザー月1,800円・税抜/最小10ユーザー)は別途、サイボウズ社とのご契約です。使い続けるといくらかかるかは2章 費用の全体像にまとめています。
まとめ
- 先に決めるのは「入出庫を記録するか/在庫数を書き換えるか」。差が出たときに追えるのは前者
- 在庫数は入出庫の積み上げと一致させる。実棚とずれたら「棚卸調整」を1件足す
- 入出庫は品目のサブテーブルではなく別アプリに持つ。ロット・月次での集計ができるようになる
- 安全在庫割れは条件書式で色を付ける。「在庫の余裕」を計算フィールドで持つと条件が1つで済む
- 二重登録は重複チェック Proで止める。標準の重複禁止では組み合わせを表せない
- 在庫数の自動書き換えは、運用が固まってから足す
→ 製造業のkintone(実際の画面つき) → 町工場の生産管理をkintoneで作る方法(ERPとの線引き) → 工程実績をkintoneで取る方法 → 建設業の原価管理をkintoneで作る方法 → kintone導入支援の詳細 → kintone無料プラグイン一覧 → 不動産の物件管理をkintoneで作る方法
よくある質問
kintoneで在庫管理はできますか
できます。ただし「在庫管理ソフト」が入っているわけではなく、品目マスタと入出庫の2つのアプリを自分で作る形になります。この2つがあれば、現在の在庫数・安全在庫割れ・ロットごとの履歴までは作れます。
在庫数は自動で増減しますか
標準機能では増減しません。JavaScriptを書けば入出庫の保存と同時に品目の在庫数を書き換えられます。ただし入出庫の記録を残さずに在庫数だけを書き換える設計にすると、実棚と合わなくなったときに原因を追えません。入出庫を1件ずつ残す方式をおすすめします。
在庫管理のアプリを無料で作れますか
kintoneのライセンス料(スタンダードコース 1ユーザー月1,800円・税抜/最小10ユーザー)はかかります。無料になるのは構築の費用です。当社では1業務1アプリまで最大1か月0円で作ります。使う設定に必要なプラグインも無料のものだけで足ります。
ロットや賞味期限も持てますか
持てます。入出庫のレコードにロットの項目を足し、品目を開いたときにロットごとの履歴が並ぶ形にします。ただし「先入先出で自動的に引き当てる」までは標準機能にはないので、必要ならJavaScriptか専用システムになります。
バーコードは使えますか
バーコードを読んで文字列を入力する機器であれば、そのまま品番の入力欄で使えます。kintoneのモバイルアプリでもカメラでの読み取りができます。専用のハンディ端末との連携は、機器側の仕様に合わせた作り込みが必要です。


