svg

公開日: 2026/2/2

単価表×AI連携で「入力」を減らす考え方(手順つき)

Express+Cloudflare Tunnel+JSON+Excel VBA+ChatGPTで、工務店の単価表運用を“回る仕組み”にした話

Express+JSON+Excel VBA+ChatGPT(マイGPT)で、工務店の単価表運用を“回る仕組み”にした話。

小規模な工務店の単価表って、気づくとこうなりません?

  • ・どこかのExcelが最新版か分からない

  • ・仕入、外注請求書の単価を「見た瞬間に分かる場所」に残せない

  • ・入力がめんどくさくて更新が止まる

  • ・誰かがセル崩して終了

  • ・値上げの履歴が消えて、見積りがブレる

つまり、単価表の敵は「入力の多さ」と「運用の止まりやすさ」。そこで僕は、“入力を減らす”を最優先にして、単価表をAI連携の仕組みに作り直しました。

使ったのは、ゴツいSaaS(課金サービスのようなもの)じゃなくて、身の丈セットです。

  • ・設計:Express+JSON+Excel VBA

  • ・運用:ChatGPT(マイGPT)

  • ・コード記述:ChatGPT+Codex+VsCode

  • ・DB:JSON(PCフォルダ)+Excel

  • ・連携:Cloudflare Tunnel

  • ・かかる費用:ChatGPT、Dropbox(社員共有)、ドメイン費用(初年度1円、更新は年1,000円超〜)だけ

  • ・弱点:PCが起動してないと常時使えない

でも、この弱点を飲み込めるなら、維持費ほぼゼロ級で“入力の手間”が激減します。

結論:「入力」を減らすコツは、入力を“人間の仕事”にしないこと

単価表って、更新するたびに

商品名、カテゴリ、単位、税抜、税込、仕入先、年月…よし、入力するか…

ってなるのが苦しい。ここで手が止まる。だから僕がやったのは、発想を逆にして

  • ・入力は「請求書」から発生する

  • ・なら、請求書を投げたら単価表が増える

  • ・分からない項目は、AIが推測して提案する

  • ・人間は、最後の確認だけやる

この形に寄せました。

“入力”じゃなくて、“チェック”に仕事を変える。単価表運用の成功率が跳ね上がります。

全体像:この仕組みでできること

単価表の運用フロー

1) 請求書をチャッピー(ChatGPT)にアップするだけで、単価表に自動追加

請求書をアップ → AIが項目を読み取る → JSONに追記 → Excelにも反映
この流れ。

2) よく分からない人でも、チャッピーが推測で提案できる

例えば、請求書の記載が曖昧でも

  • ・「これは外構?塗装?大工?設備?」

  • ・「単位はm?式?枚?」

  • ・「同じ品目の過去単価から妥当値は?」

みたいな“現場の推測”をAIがやってくれる。もちろん100%正解じゃないけど、「叩き台」が速いのは正義。

3) 維持費がほぼ軽い(ここが売り)

SaaSの月額が積み上がらない。かかってるのは、実質これだけ。

  • ・ChatGPT(マイGPT運用) 月20ドル

  • ・Dropbox(社員共有) 月1,500円

  • ・ドメイン(初年度1円、更新は年1,000円超〜)

4) スマホでも単価確認ができる

パソコンをつけたまますれば、現場等に出ている時にでも、
「ボードの値段いくら?」とスマホのChatGPT(Chrome、Safariなどのブラウザ、アプリ)で聞けば、費用がその場でわかる。

弱点も正直に:PCが起動してないと使えない

この構成は、PC内のJSONをDBにしてるので、基本はローカル運用。Cloudflare Tunnelで外から叩けるようにしてるけど、PCが寝たら止まります。

ただし逆に言うと

  • ・サーバー維持費ほぼゼロ

  • ・データがローカルにある安心感

  • ・小さく始めて育てられる

このメリットがある。

仕組みの中身(設計編):Express+JSONがちょうどいい理由

僕が「DBにJSON」を選んだ理由はシンプルで、

  • ・速い(作るのが)

  • ・軽い(維持が)

  • ・持ち運べる(Dropbox/バックアップしやすい)

  • ・Excelと相性がいい(VBAが扱える)

Expressは、単価表データを読む/書くAPI役。Excel VBAは、現場の“見積の入り口”として残す。

つまり、

  • ・Excelは「使い慣れた操作」

  • ・JSONは「壊れない保存」

  • ・Expressは「橋」

  • ・AIは「入力係」

こう役割分担してます。

運用の心臓:マイGPTにやらせる仕事

マイGPT側の仕事は3つ。

  1. 請求書から項目抽出(商品名、単位、金額、会社名、日付など)
  2. カテゴリや用途の推測(外構、塗装、設備、消耗品…)
  3. 登録ルールに沿って整形(あなたの単価表フォーマットに合わせる)

重要なのは、マイGPTに「人間のやり方」を教えること。例えば、

  • ・強力値引き、端数調整は登録しない

  • ・カテゴリはこの一覧から選ぶ

  • ・迷ったら候補を2つ出して確認する

  • ・同名があれば過去単価を引っ張る

こういう“現場ルール”が入るほど、運用がラクになります。

手順:実際の運用フロー(これが本題)

ここから「入力を減らす」ための実手順です。

手順1:請求書を“そのまま投げる”

チャッピーに請求書をアップします。ここでポイント。

  • ・スキャンPDFは精度が落ちることがある

  • ・工夫として、PDFよりJPEGなど画像ファイルの方が読み取り精度が高い(体感で差が出る)

つまり、
「スキャンPDFで微妙」→ JPEGに変換する、もしくは写真を撮って「画像化して投げる」
これだけで成功率が上がります。

手順2:AIに抽出させる(+推測させる)

AIが拾うべき項目はだいたいこのへん。

  • ・品名(工事名・材料名)

  • ・単位

  • ・税抜/税込

  • ・会社名

  • ・仕入れ業者

  • ・年月

  • ・カテゴリ(推測)

ここで“分からない項目”があっても止めない。AIに「推測して候補を出して」と言えば、叩き台が出ます。

手順3:人間は“確認だけ”する

確認ポイントは最小限に絞ります。

  • ・品名が変じゃないか

  • ・単位が合ってるか

  • ・金額の桁が合ってるか

  • ・カテゴリが近いか

ここだけOKなら、入力はほぼ終わりです。

手順4:JSONに追記 → Excelに反映

最終的に、AIが整形したデータをAPI経由でJSONへ追記。必要ならExcel側にも反映。

Excelは“現場で見る場所”として残すのがポイント。「結局Excelで見たい」問題は、工務店あるあるなので。

これで何が変わった?

単価表って、毎回の入力が面倒だから止まるんです。でもこの流れになると、

  • ・入力 → チェックに変わる

  • ・更新が溜まらない

  • ・値上げの履歴を残しやすい

  • ・誰でも運用に参加できる

単価表が“育つ”ようになります。

よくある質問(先回り)

Q. AIの推測って危なくない?

危ないです。だから設計として

  • ・推測は提案止まり

  • ・最終確定は人間

  • ・怪しいときは候補を2つ出す

このルールにします。AIは入力係、人間は監督。

ここまで読んだ人へ:同じ仕組みを作るなら、最初に決めるべき3つ

① 「登録しないもの」をルール化すると爆速になる

あなたがすでに言ってる「強力値引き、端数調整は登録不要」これ超大事。ここが曖昧だとAIが迷って、運用が重くなる。

② “ゆらぎ”対策:品名の表記ゆれをどう扱うか

同じ商品が「PS3832MW」「ロール連結ビス」「ビス(シルバー)」みたいに揺れる。ここは別名辞書(同義語テーブル)を作ると世界が平和になります。JSONでOK。

③ “履歴”の扱い:上書きじゃなくて「時系列」にする

単価表は「今いくら」だけじゃなくて、“いつから上がったか”が命。JSONを「最新版+履歴」構造にしておくと、見積の根拠が作れます。

最後に:入力を減らすと、単価表は勝手に育つ

  • ・人が入力するから止まる

  • ・請求書を投げる形にすると続く

  • ・AIに抽出と推測をやらせて、人は確認だけ

  • ・ローカルJSON+Excel+Tunnelで、維持費を最小化できる

  • ・弱点(PC起動必須)はあるが、費用と引き換えに割り切れる

このやり方、工務店の現場にはわりと“ちょうどいい”です。