サービス料金導入事例開発ブログ会社案内 お問い合わせ →
Dev Blog

FAXで届いた注文書を読み取るデモを作った

FAXで届いた注文書を写真から読み取り、受注として登録するデモを作った。 → FAX注文書の読み取りデモ

見本の注文書4枚で試せる。社名・電話番号はすべて架空。

デモの見本の注文書(架空の会社)。2行目は数量と単価の掛け算が金額欄と合わない

■背景と目的

  • FAXで届いた注文書を、受注担当が見ながら受注システムに打ち込んでいる会社はまだ多い
  • 今のAIなら、注文書の写真を渡せば中身はほぼ読める。読ませるだけなら難しくない
  • 困るのは読み間違えたとき。間違った数量のまま登録されて出荷まで進むと、誰も気づかない
  • なので「読めるか」より「間違えたときに人が気づけるか」を中心に作った

■デモでできること

  • 注文書をスマホで撮るかスキャンした画像を読み込むと、得意先・品番・数量・希望納期を読み取る
  • 項目ごとに緑・黄・赤の色を付ける。緑はそのまま使ってよい、黄は人が確認する、赤は人が選ぶまで登録させない
  • 色には必ず理由を添える。「得意先マスタの○○と一致」「品番と品名が食い違っています」など
  • 確認したものは受注一覧にそのまま登録される

■作りで決めたこと

  • AIには書き写すことだけをさせる。どの得意先か・どの商品かは、AIを使わない決まったルールで照合する。AIに商品マスタを渡して選ばせると、もっともらしい別の商品を理由なしで返してくる。理由が残らないと、人が確かめようがない
  • 迷ったら緑にしない。黄が少し増えても人の手間は1クリックで済む。緑のまま間違えると誰も気づかない
  • 数量の読み違いは、マスタと照合しても分からない。「8」を「3」と読んでも、3個という注文はありうるから。そこで紙に単価と金額が書いてあれば「数量×単価=金額」を紙の中だけで確かめる。上の見本の2行目は12本×4,200円=50,400円なのに金額欄が54,000円になっていて、デモではこの行の数量を黄色にする
  • 自社の単価表とは比べない。得意先ごとの単価や古い単価表があって、正しい注文でも食い違うため
  • AIに計算し直させない。空欄を計算で埋めない、金額から数量を逆算しない。紙の計算が間違っていても、書いてあるとおりに写させる。直すのは人
  • 「3箱」のような書き方は、商品のケース入数を掛けて個数に直す。最初は箱・ケースだけ見ていたが、封筒「3袋」を試したときに気づいた。100枚入りなら300枚なのに3個として緑で通ってしまい、桁がずれる。袋・パック・束も同じ扱いにした
  • 希望納期は書き方がばらばらなので、よくある形だけ日付に直す。直せないものは直さない。推測で日付を作ると、その日付で約束してしまう。曜日が添えてあれば日付と突き合わせる
  • 画像は保存しない。読み取りにはOpenAIのAPIを使い、応答も残させない設定にしている。ただしOpenAIは不正利用の監視のため、APIへの入力を最大30日保管する。画面にもそう書いた

■精度 正解つきの注文書30枚、257項目(得意先・品番・数量・希望納期)で測った。デモで使っているモデルは gpt-6-luna。比べるために上位の gpt-6-sol でも同じ30枚を読ませた(2026年9月26日時点)。

結果gpt-6-lunagpt-6-sol
緑で正しい(人は何もしない)179(69.6%)178(69.3%)
黄で候補は正しい(確認を押すだけ)47(18.3%)51(19.8%)
黄・赤で人が直す31(12.1%)28(10.9%)
緑なのに間違い00

一番見ているのは最後の「緑なのに間違い」。黄や赤は人が直せるが、緑のまま間違っているものは誰も気づかない。どちらのモデルもここが0件だった。

ほかの数字も書いておく。

  • 書き写しが紙と一字一句同じだった:230か所中、luna が224か所(97.4%)、sol が226か所(98.3%)
  • 明細行の読み落とし:どちらも0行
  • 1枚を読むのにかかった時間:luna が平均5.3秒、sol が6.0秒

上位モデルにしても、人の手間はほとんど変わらなかった。書き写しは sol の方がわずかに正確だったが、人が触る項目(確認+直す)は luna が78、sol が79でほぼ同じ。差は数項目で、30枚ではどちらが上とも言えない。

理由ははっきりしていて、AIの読みが完璧だったとしても、緑で決まるのは187項目が上限だった。人に回る分の大半は、品番が書いていない、箱で数えているなど、注文書の書き方そのものが曖昧なことによる。読みの精度を上げても、ここは減らない。このデモでは luna で足りると判断した。

■課題

  • この30枚は、パソコンで作った注文書をFAXで送り、届いた紙をスマホで撮ったりスキャンしたりした状態を、画像処理でなぞって作ったもの。一部は教科書体で手書き風にしてあるが、本物の手書きではない。手書きの読み取り精度はまだ測れていない。実物の写真で測る必要がある
  • 評価の画像は自分で作ったもので、実際のFAXのかすれ方や汚れとは違う可能性がある
  • 得意先マスタ・商品マスタとの照合が前提。実際に使うなら、品番や品名の表記ゆれも含めてマスタが整っているかが効いてくる
  • OpenAIが入力を最大30日保管するので、取引内容を社外に出せない会社ではそのままは使えない