発注メールから発注書を自動生成|Claude Codeで作るAIアプリ

Claude Code

※当サイトの記事には、アフィリエイト広告(PR)を含みます。

📖 約8分で読めます | 🆓 デモモード搭載 (APIキー不要)

毎日30通の発注メールを手作業で発注書に転記する。
そんな作業を、コードを1行も書かずに自動化できる時代になった。

今回作ったのは「発注メールを貼り付けるとAIが内容を抽出して、Excel発注書を自動生成するアプリ」。
使ったのは Claude Code、所要時間 5分。完成したコードは 80行

📦 コード一式は GitHub で公開準備中 (MITライセンス予定、準備完了次第本記事に追記します)

この記事で得られること

  • ✅ Claude Code に話しかけて80行のPythonアプリを作る具体手順
  • ✅ 発注メールの曖昧表現をAIで構造化抽出する実装パターン
  • ✅ APIキーなしで試せる「デモモード」の設計思想
  • ✅ 製造業の事務作業を自動化するときの落とし穴5つ
  • ✅ Gmail / RAG / freee 連携への発展ロードマップ

Claude Code とは (30秒で説明)

Claude Codeに話しかけてコードが生まれる様子

ターミナルで claude と打つだけで起動する、Anthropic公式のAIコーディングアシスタント。
「○○のアプリを作って」と日本語で話しかけると、フォルダ構造の設計・ファイル生成・コード実装・README執筆まで一気通貫で処理する。

  • 料金: Claude Pro ($20/月) または Max プラン
  • 動作環境: ターミナル (Windows / Mac / Linux) + VS Code 拡張
  • 強み: 単体のチャットではなくローカルファイル操作権限を持つ「同僚」として動く

→ 今までは「コードを書く人」が必要だった作業が「日本語で頼める」になった。これが本記事のキモだ。


発注メールの転記、何がそんなに大変なのか

毎朝大量の発注メールに埋もれる事務作業

製造業の事務作業で「ありがちで、地味に重い」のが発注メールの転記

取引先によってフォーマットがバラバラだ:

  • 「部品A SKU-1234 50個」と1行で書いてくる
  • Excelファイルが添付されてくる
  • 文章でダラダラ書いてくる
  • 「いつものやつ、いつも通りで」と短くキメる (←これが地獄)

これを社内の発注書フォーマット (Excel) に転記する。品番、数量、納期、納品先、備考…数字を一桁打ち間違えると、本来50個発注のところが500個になる。
人間がやるとミスが出る。 けど、件数が少ない中小製造業ほど「専用システムを導入するほどじゃない」と踏みとどまり、結局3年も5年も人力で続けてしまう。


完成したアプリ

streamlit run app.py で起動する、シンプルなWebアプリだ。

発注メール本文をテキストエリアに貼り付けた状態
発注メール本文をテキストエリアに貼り付けた状態

操作はたった3ステップ。

  1. 発注メール本文をテキストエリアに貼り付け
  2. 「解析する」ボタンをクリック
  3. AIが抽出したJSONを確認 → Excel発注書をダウンロード
AI抽出結果のJSON / 内容確認テーブル / Excel発注書作成ボタン
AI抽出結果のJSON / 内容確認テーブル / Excel発注書作成ボタン

「内容確認」セクションが地味だが重要だ。AI抽出結果を人間が目視チェックしてから Excel 生成に進む二段構えにしている。後述する「注意点」で触れる。


Claude Code に話しかけた指示文 (これだけ)

ターミナルで claude を起動し、次のように打ち込んだだけだ。

発注メール本文を貼り付けると、品番・数量・納期・納品先を抽出して
Excel発注書テンプレに転記するアプリを作って。

- UI: Streamlit
- LLM: Anthropic Claude (claude-sonnet-4-6)
- 最後に人間が確認できるプレビュー画面を必ず入れる
- .env でAPIキー管理

待ち時間2〜3分。
プロジェクトフォルダ、requirements.txtapp.py.env.exampleREADME.md、サンプル入力 3 通、Excelテンプレ生成スクリプト… すべて生成された。

Claude Code ターミナルセッション (プロジェクト一式が自動生成された画面)
Claude Code ターミナルセッション (プロジェクト一式が自動生成された画面)

生成されたコード (中核60行)

抽出ロジックの本体はこれだけ:

import os
import json
from datetime import datetime
import anthropic
import streamlit as st
from dotenv import load_dotenv
from openpyxl import load_workbook

load_dotenv(override=True)
client = anthropic.Anthropic()
MODEL = "claude-sonnet-4-6"


def extract_order(email_text: str) -> dict:
    """発注メール本文から注文情報をJSONで抽出する。"""
    prompt = f"""次の発注メールから情報を抽出し、JSONのみで返答してください。

スキーマ:
{{
  "取引先": "会社名",
  "品目": [{{"品番": "SKU番号", "数量": 整数}}],
  "納期": "YYYY-MM-DD",
  "納品先": "納品場所",
  "備考": "特記事項"
}}

メール本文:
---
{email_text}
---
"""
    msg = client.messages.create(
        model=MODEL, max_tokens=1024,
        messages=[{"role": "user", "content": prompt}],
    )
    return json.loads(msg.content[0].text.strip())


st.title("発注メール → 発注書AI")
email = st.text_area("発注メール本文", height=300)

if st.button("解析する"):
    with st.spinner("Claudeが読んでいます..."):
        order = extract_order(email)
    st.json(order)
    st.warning("数量・品番に誤りがないか目視確認してください")
    if st.button("Excel発注書を作成"):
        # write_to_excel() を呼んで .xlsx 生成
        ...

これで動く。
全ソースコードは公開準備中。準備完了次第、本記事に GitHub URL を追記する予定。


Claude を採用した理由

発注メールには「いつものやつ」「先月と同じで」「定例の納品先で」といった曖昧表現が頻出する。Claude の日本語文脈理解は、こうした「行間」を補完するのが得意だった。

構造化 JSON 出力の安定性も決め手。指定したスキーマ通りのキー名で返ってくるので、後処理がほぼ不要だった。

そしてもう一つ。
コーディング工程まるごと Claude Code に巻き取れる点が最大の利点。日本語で話しかけるだけで、フォルダ構造から README まで揃ったプロジェクトが手元に生まれる。実装スピードがそのまま事業スピードになる。

💡 製造業向け AI ツール選定をもっと知りたい方へ
製造業AIツール3選: ChatGPT / Claude / Gemini の使い分けガイド


実測: before / after

手作業2時間がAIアプリで10分に短縮

項目 手作業 (想定) このアプリ
メール1通の処理時間 3〜4分 5〜10秒
30通の合計処理時間 約2時間 約10分
転記ミス 月3〜5件 (想定) 0件 (人間チェック前提)
開発工数 5分 (Claude Code に指示)
月額API費用 (利用者負担) 想定 ¥300〜500

「2時間が10分に」が一番派手な数字だが、より大きな効果は転記ミスの撲滅だと考えている。
ミスの修正には、本人の謝罪 + 取引先への連絡 + 再発注処理 + 上司への報告… と作業時間以上のコストがついてくる。


デモモード搭載: APIキーなしで試せる

APIキーなしで試せるデモモードの入り口

「興味はあるけど Anthropic API キーを発行するハードルが…」という方のために、コードには DEMO MODE を組み込んだ。

DEMO_MODE = (not API_KEY) or ("dummy" in API_KEY.lower())

def extract_order(email_text: str) -> dict:
    if DEMO_MODE:
        return {"取引先": "○○商事", "品目": [...], ...}  # 固定サンプル
    # 通常モード: 実 API 呼び出し
    ...

.env ファイルを設定しないまま streamlit run app.py すると自動でデモモードに切り替わり、固定サンプルの抽出結果と Excel 出力までの動線を試せる。

実運用に移すときは、.env に有効な ANTHROPIC_API_KEY を入れるだけだ。


注意点 (5つ)

1. 人間チェックは必ず挟む

AI が「数量5」を「数量50」と誤読する可能性はゼロではない。Streamlit のプレビュー画面で必ず目視確認するフローを設計している。AIに最終判断させないのが鉄則。

2. APIキーの管理

.env ファイルで管理し、.gitignore に必ず追加すること。
GitHub にうっかりプッシュした瞬間、世界中のボットが拾って勝手に使い始める。1日で数万円課金されるケースを何度も見てきた。

3. 取引先データの取扱い

顧客情報を Anthropic API に送信することになる。
Anthropic Claude API はデフォルトで入力データをモデル学習に使用しないが、社内のセキュリティ規程・取引先との合意は別途確認が必要だ。

4. 「いつものやつ」問題

省略表現の補完には、過去の発注履歴を RAG (検索拡張生成) で参照する仕組みが必要になる。
これは関連記事「問い合わせメール100通を3分で自動分類」とあわせて読むと、メール起点の自動化パターンが見えてきます。

5. 法的・コンプライアンス

発注書は商取引の証憑書類だ。
電子帳簿保存法の要件を満たすには、AI生成データのままでは不十分なケースもある。事業規模に応じて、税理士・会計士への相談を推奨する。


次の一歩

Gmail/Slack/freee/RAGなど多方向への拡張可能性

このアプリは「入口」だ。一度組むと横展開がどんどん効く。

  • Gmail / Outlook API 連携: メール受信 → 自動解析 → Slack 通知まで全自動化
  • RAG 導入: 取引先ごとの過去発注履歴を参照して「いつものやつ」を解決
  • freee / マネーフォワード連携: 会計ソフトへ直接データ流し込み
  • 音声入力: 電話発注の音声を Whisper でテキスト化 → 同じパイプライン
  • 多言語対応: 海外取引先からの英語メールも同コードで処理可能

📚 AI導入を体系的に学びたい方へ
自社のAI導入ロードマップを描く前に、こちらの記事も合わせて読むと迷いが減る → 中小製造業のAI導入ロードマップ: 失敗しない始め方


まとめ

発注メール処理 (約2時間)
      ↓ Claude Codeに5分相談
発注書AIアプリ (80行)
      ↓ デモモードで即試せる
      ↓ APIキー入れて本番運用
作業時間 10分 / 転記ミス 0件

コードが書けなくても、AIに「日本語で」相談すればアプリは作れる。
事務作業の自動化、まずここから始めてみてはどうだろうか。


📦 ソースコード

GitHub: 公開準備中 (MITライセンス予定)
– ライセンス: MIT
– 言語: Python 3.11+
– フレームワーク: Streamlit + Anthropic SDK
– セットアップ: 3コマンドで起動 (詳細は README)


よくある質問 (FAQ)

Q1. プログラミング経験ゼロでも作れる?

A. Claude Code に「○○のアプリを作って」と日本語で頼めば、コード自体は自動生成される。
ただし、生成された後に起動コマンド (streamlit run app.py) を実行する基本操作は必要。Pythonの環境構築 (pip install) も含めて、Claude Codeが手順を案内してくれる。1日あれば誰でも到達可能。

Q2. Anthropic API キーって、コストはどれくらい?

A. 想定値で月 ¥300〜500。100通/月の処理として、claude-sonnet-4-6 1回あたり ¥0.5未満。
本記事のデモモードなら ¥0 で動作確認できる。

Q3. 自社のメールフォーマットは特殊だけど、対応できる?

A. Claude の文脈理解は強い。「いつものやつ」「先月と同じで」のような曖昧表現でも、プロンプトに過去の発注例を1〜2件含めれば精度が大きく上がる。
極端に独自のフォーマットなら、RAG (検索拡張生成) を組み合わせる発展形が有効です。

Q4. 商用利用しても大丈夫?

A. MITライセンス なので商用利用OK・改変OK・再配布OK。
ただし Anthropic API の利用規約は別途確認を。社内データを送信する場合は社内規程・取引先合意も忘れずに。

Q5. このアプリを他の業務に応用できる?

A. 大いに可能。本パターンは「メール本文 → 構造化JSON → 業務テンプレ転記」の汎用構造なので、見積依頼・問い合わせ・クレーム分類・採用書類スクリーニング… ほぼ全ての事務作業に転用できる。


関連記事


免責事項

本記事のコードは MITライセンスで提供しています。実運用にあたっては必ずご自身の責任で動作確認を行ってください。
顧客情報を Anthropic API に送信する際は、社内のセキュリティ規程・取引先との契約条件を必ず事前確認してください。
本記事の数値は想定値および実測値の混在です。導入効果は環境により異なります。


更新情報

製造AIラボでは「中小製造業のためのAI活用事例」を不定期更新中。
ブックマークやRSSで定期的にチェックしてもらえれば嬉しい。


🎯 ChatGPT/Claude/Geminiを社内で使いこなすなら

ChatGPT・Claude・Gemini・Copilot・Difyを横断的に学べる「学び放題」が、現場での再現性が一番高いと感じています。月額¥14,800・縛り無し・合わなければ翌月解約OK。

期間限定:豪華7大特典つきキャンペーン中

月額16,280円で生成AIを好きなだけ学べる!「DMM 生成AI CAMP 学び放題」

※「合わない」と感じたらマイページから翌月解約OK・しつこい勧誘なし


⚙️ 作ったAIアプリを社外公開するなら

Streamlitアプリや自社の情報発信サイトを建てるなら、初期費用無料・国内最速のレンタルサーバー ConoHa WING が最有力。月額¥968〜・WordPress同梱・WAF標準。

期間限定: HappySpring最大55%OFFキャンペーン中

最大55%OFF! 高性能レンタルサーバー【ConoHa WING】HappySpringキャンペーン

※最低利用期間なし・WordPressワンクリック起動


🖥️ Claude Codeで作ったアプリを本格運用するなら

Streamlit/FastAPI/n8n/Difyなどを自由に立てて試したい開発・テスト用途には ConoHa VPSが最適。1.3円/時間〜でroot権限OK・最低利用期間なし・必要な間だけ起動して停止OK。

VPSで色々なことを試したいなら【ConoHa VPS】がお薦め!

※時間課金プランなら検証だけで停止すれば数十円で完結


🥷 Claude Code を本気で社内導入するなら

「自社の業務を Claude Code で自動化したいが何から手をつけるか分からない」中小製造業向けの伴走型トレーニング AI鬼管理無料の業務効率化診断 (オンライン面談) で、自社のどこから自動化できるかが見える化される。

AI鬼管理 | Claude Code活用の業務自動化トレーニング 無料診断を予約する

※公式LINE経由でも申込可・診断のみで無理な勧誘なし

コメント

タイトルとURLをコピーしました