Media > AI活用ユースケース > 知財 > 海外の現地代理人から毎月届く英文のデビットノートを読み取り、料金の取り決めと案件台帳に照らして支払う前に点検する

海外の現地代理人から毎月届く英文のデビットノートを読み取り、料金の取り決めと案件台帳に照らして支払う前に点検する

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

外国の特許事務所(現地代理人)から届く英文の請求書(デビットノート)を読み取り、明細の1行ずつを案件・作業・費用の種類に対応付けます。そのうえで料金の取り決めと案件台帳に照らし、支払う前に照会すべき行を洗い出します。

サマリー
生成AI
ChatGPT/Claude/Gemini
AIサービス
AWS Textract/Azure AI/Google Document AI
連携・自動化
Python
対象業界
IT・SaaS/医療/士業/製造
対象部門
知財/経理
対象業務
内容確認・チェック/比較検討
主な課題
人手が足りない/属人化している/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★★☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
必須
現在工数
60h/月
AI導入後
20h/月
想定削減
67%
年間削減
480h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 代理人からのメールに付いたPDFを、外国部の受付担当が共有フォルダに保存する
  2. 担当者がPDFを開き、相手方の整理番号と自社の整理番号を探して案件管理システムで案件を引く
  3. 明細を1行ずつ読み、どの作業の請求かを英文から判断する
  4. 案件の指示記録を開き、その作業を指示したか、いつ指示したかを確かめる
  5. 料金の取り決めの表を開き、手数料が取り決めどおりかを確かめる
  6. 庁費用の行は、自社で持つ庁費用の表と金額を比べる
  7. 合わない行があれば、英文の照会メールを書く
  8. 合っていれば、顧客への請求明細を日本語で起こし、経理へ支払と請求を回す
導入後(After)
  1. 人受付担当が、届いたデビットノートのPDFを受付フォルダに保存する
  2. 自動保存をきっかけに、形式・ページ数・パスワードの有無を確かめる
  3. 自動OCRが請求書の標準の項目(請求番号、日付、代理人名、合計など)と明細の行を、信頼度と通貨の情報つきで返す
  4. 自動数値と日付を自社の書き方に直し、通貨をそろえる
  5. 自動生成AIが明細の1行ずつを、案件の整理番号、作業区分、費用の種類(手数料・庁費用・実費)に対応付け、根拠の文字列を写す
  6. 自動案件台帳と指示記録を引き、その作業を指示したかを確かめる
  7. 自動料金の取り決めの表と庁費用の表から、行ごとの差額を計算する
  8. 自動行ごとの結果から、`approve` / `query_associate` / `needs_human` を規則で決める
  9. 自動`query_associate` のものに英文の照会文の下書きを、全件に日本語の顧客請求明細の下書きを付ける
  10. 人担当者が `query_associate` と `needs_human` のものを確かめ、照会文を直して送る
  11. 人`approve` のものは一覧で流し見て、経理へ支払と顧客請求を回す
各工程の詳しい説明を読む
  1. 代理人からのメールに付いたPDFを、外国部の受付担当が共有フォルダに保存する
  2. 担当者がPDFを開き、相手方の整理番号と自社の整理番号を探して案件管理システムで案件を引く
  3. 明細を1行ずつ読み、どの作業の請求かを英文から判断する
  4. 案件の指示記録を開き、その作業を指示したか、いつ指示したかを確かめる
  5. 料金の取り決めの表を開き、手数料が取り決めどおりかを確かめる
  6. 庁費用の行は、自社で持つ庁費用の表と金額を比べる
  7. 合わない行があれば、英文の照会メールを書く
  8. 合っていれば、顧客への請求明細を日本語で起こし、経理へ支払と請求を回す

(a)指示していない作業の請求に気づけない。 代理人が気を利かせて行った調査や、こちらが取り下げを伝えた後の作業が請求に入っていることがあります。4番目を急ぐと、そのまま顧客に再請求されます。 顧客から問い合わせを受けて初めて気づくと、代理人への照会は数か月後になります。

(b)英文の明細の読み解きに時間がかかる。 同じ作業でも代理人ごとに書き方が違い、取り決めの表の作業区分のどれに当たるかで、1行ずつ手が止まります。

(c)手数料と庁費用が合算されている。 1行に「Official fee and our charges」とまとめて書かれると、手数料が取り決めどおりかを確かめられません。合計だけを見て通すか、代理人に内訳を求めるかが、担当者ごとに違います。

(d)取り決めを知っている人が限られる。 値引きの約束や時間制の上限は、表の備考欄や過去のメールにしかないことがあり、古参の2名が休むと点検が止まります。

  1. 【人】 受付担当が、届いたデビットノートのPDFを受付フォルダに保存する
  2. 【自動】 保存をきっかけに、形式・ページ数・パスワードの有無を確かめる
  3. 【自動】 OCRが請求書の標準の項目(請求番号、日付、代理人名、合計など)と明細の行を、信頼度と通貨の情報つきで返す
  4. 【自動】 数値と日付を自社の書き方に直し、通貨をそろえる
  5. 【自動】 生成AIが明細の1行ずつを、案件の整理番号、作業区分、費用の種類(手数料・庁費用・実費)に対応付け、根拠の文字列を写す
  6. 【自動】 案件台帳と指示記録を引き、その作業を指示したかを確かめる
  7. 【自動】 料金の取り決めの表と庁費用の表から、行ごとの差額を計算する
  8. 【自動】 行ごとの結果から、approve / query_associate / needs_human を規則で決める
  9. 【自動】 query_associate のものに英文の照会文の下書きを、全件に日本語の顧客請求明細の下書きを付ける
  10. 【人】 担当者が query_associate と needs_human のものを確かめ、照会文を直して送る
  11. 【人】 approve のものは一覧で流し見て、経理へ支払と顧客請求を回す

10番目が、この設計の分かれ目です。 人が明細を1行ずつ読むのは、根拠が台帳に無い行と、読み取れなかった行だけです。 全部の行を人が読み直す設計にすると、60.0時間はほとんど減りません。

8番目を規則で決めているのも意図してのことです。 差額をいくらまで許すか、合算行を照会するかは、代理人ごとに変わる事務所の方針なので、規則の側に置きます。

02今回想定するシステム構成

構成図
デビットノート(英文のPDF)
   ▼【トリガー】受付フォルダ(Amazon S3)への保存
AWS Lambda ── 形式・ページ数・サイズ・パスワードの確認
   ▼
AWS Textract(StartExpenseAnalysis:請求書・領収書の分析)
   │   標準の項目(請求番号、日付、代理人名、合計、通貨)と明細の行、信頼度
   ▼  完了の通知(Amazon SNS)→ AWS Lambda が結果を取る
Python ── 数値・日付・通貨の正規化
   ▼
Claude API ── 明細の1行ずつを対応付ける
   │   ① 案件の整理番号   ② 作業区分   ③ 費用の種類(手数料/庁費用/実費)
   ▼
Python ── 案件台帳・指示記録・料金の取り決め・庁費用の表と照合し、差額を計算
   ▼
判定(approve / query_associate / needs_human)
   ▼
【外国部の担当者が要確認のものを確認】
   ├──▶ 代理人への英文の照会(下書き)
   └──▶ 顧客への請求明細(日本語の下書き)→ 経理へ
役割想定する製品代替候補
OCRAWS Textract(AnalyzeExpense/StartExpenseAnalysis)Azure AI Document Intelligence、Google Document AI
生成AIClaude API(明細の対応付けと、照会文・請求明細の下書き)OpenAI API、Gemini API
差異計算Python(台帳・取り決め・庁費用の表との照合と差額の計算)案件管理システムの費用照合の機能
連携AWS Lambda(保存と完了の通知を起点に処理を動かす)Amazon EventBridge
保管Amazon S3(デビットノート、読み取り結果、照合の結果)事務所のファイルサーバー

案件管理システムと会計システムは、新しく足すものではありません。 最初の準備は、料金の取り決めの表に作業区分のコードと適用開始日を足し、案件台帳に代理人側の整理番号の列をそろえることです。

OCRに AWS Textract を選ぶのは、デビットノートが英文だからです。 対応言語は英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語で、日本語や中国語、韓国語は対象外です。 中国の代理人の請求で中国語と英語を併記したものは、英語の部分だけが読み取りの対象になります。

使う機能は、請求書と領収書の分析(AnalyzeExpense)です。 テンプレートなしで日付、番号、品目の金額、合計を取り出し、違う言い方を標準の項目名にそろえて返します。 請求の番号は書き方によらず INVOICE_RECEIPT_ID に、標準に当たらない項目は OTHER になります。

金額には通貨の情報が付きます。 公開されている出力例では、「$55.64」に Currency の Code として USD が付いています。記号の無い明細もあるので、代理人の一覧の既定値と突き合わせます。

複数ページのPDFは、非同期の処理(StartExpenseAnalysis)で読みます。 同期の処理はPDFとTIFFで1ページ・10MBまでで、非同期はPDFとTIFFで500MB・3,000ページまでです。Textract に人の確認を組み込む Amazon Augmented AI は、2026年7月に保守モードに入り新規の顧客を受け付けていないため使いません。

03どうやって実装するのか

Step1

処理の起点を決める

受付フォルダ(Amazon S3)にPDFが保存されたことを起点にします。 デビットノートは月末と月初に集中しますが、1日1回の定時処理にはしません。照会が必要なものを早く見つけ、代理人の月次の締めに間に合わせたいからです。照会が翌月にずれると、代理人の側でも当時の記録を探し直す手間がかかります。

メールの添付も、代理人のポータルから取得したものも、同じフォルダに入れ、そこから先は区別しません。

処理が終わったファイルは処理済みの場所へ移します。移すのは、判定の一覧への書き出しまで成功したときだけです。 受付フォルダに残っている数が、そのまま未処理の数になります。

Step2

入力データを集める

データ中身取得元
デビットノートPDF。受け取った日時と送り元の代理人受付フォルダ
読み取り結果標準の項目、明細の行、書かれていた項目名、値と信頼度、通貨AWS Textract
案件台帳自社の整理番号、代理人側の整理番号、国、顧客、出願番号案件管理システム
指示記録いつ、どの作業を代理人に指示したか。取り下げ・放棄の連絡の日案件管理システム
料金の取り決め代理人ごと・作業区分ごとの手数料、時間制の上限、値引き、適用開始日取り決めの表
庁費用の表国・手続きごとに自社が想定する庁費用(庁の公表する料金表から自社で作る)自社で整備する表
代理人の一覧既定の通貨、数字と日付の書き方、整理番号の書き方、登録済みの振込先自社で用意する一覧

質を決めるのは、下の4つです。 指示記録が無ければ「指示した作業か」を確かめられません。料金の取り決めに適用開始日が無ければ、値上げの前に指示した作業に新しい料金が当たっているのか、正しく旧料金なのかを決められません。

登録済みの振込先は、なりすましを見つけるために持ちます(第13章)。

Step3

データの取得方法を決める

読み取りは、Lambda から StartExpenseAnalysis を呼んで始めます。 文書はS3の場所で指定し、完了の通知先にSNSのトピックを渡します。ClientRequestToken に受付のファイルごとの値を入れ、同じ文書の処理が誤って二重に始まらないようにします。 返ってくる JobId は7日間しか有効でないので、完了を受けたらすぐに結果を取り、自社のバケットへ書き出します。

取るものどこから何に使うか
請求番号・日付INVOICE_RECEIPT_ID・INVOICE_RECEIPT_DATE二重請求の検知、料金の適用日の判定
代理人と請求先VENDOR_NAME・RECEIVER_NAME・VENDOR_ADDRESS代理人の特定、請求先が自社かの確認
参照番号PO_NUMBER・CUSTOMER_NUMBER・OTHER自社の整理番号の手がかり
合計と小計TOTAL・SUBTOTAL・AMOUNT_DUE・TAX明細の合計との突き合わせ
振込先ACCOUNT_NUMBER と OTHER の項目登録済みの振込先との照合
明細の行EXPENSE_ROW の中の ITEM・PRICE・QUANTITY・UNIT_PRICE1行ずつの作業と金額
項目名・値・信頼度LabelDetection・ValueDetection・Confidence根拠と、読み直しの要否

自社の整理番号は、標準の項目に決まった場所がありません。 「Your Ref.」として書かれることが多く、PO_NUMBER に入ることもあれば OTHER になることもあります。LabelDetection(書類に書かれていた項目名)を見て、「Your Ref」「Client Ref」に当たる値を拾います。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … StartExpenseAnalysis が扱うのはJPEG、PNG、PDFです。XFA形式のPDFには対応していません。 対応外のものはPDFに変換します
  2. パスワードの確認 … パスワードで保護されたPDFは読めません。 代理人に保護のないものを送り直してもらいます
  3. ページ数とサイズの確認 … 非同期の処理はPDFで500MB・3,000ページまで。1枚の請求ならまず収まります
  4. 解像度の確認 … 読み取れる文字の高さは15ピクセル以上で、150dpiで8ポイントの文字に当たります。明細の脚注の小さな文字が、この下限に近いことがあります
  5. 数値・日付の正規化 … 代理人の一覧の書き方で、金額と日付を自社の形に直します。元の文字列は残します
  6. 複数の請求の分割 … 1つのPDFに複数のデビットノートがあれば、ExpenseIndex(文書内の請求書の番号)で分けます
  7. 重複の検知 … 同じ代理人・同じ請求番号のものが既にあれば、再送か重複かの印を付けます

5番目はAIに任せません。 「1.250,00 EUR」の読み方を生成AIに決めさせると、千倍ずれた値を返すことがあります。 書き方は代理人の一覧で決め打ちします。

Step5

AIに処理させる

させるのは、明細の1行ずつを「どの案件の、どの作業の、どの種類の費用か」に対応付け、根拠にした文字列を写すことだけです。

見るもの書き出す内容判断できないときの扱い
整理番号行または請求全体に書かれた自社の整理番号、代理人側の整理番号候補が複数あれば ambiguous
作業名取り決めの表の作業区分のどれに当たるか(出願、中間応答、報告、年金納付など)当たる区分が無ければ unmapped
費用の種類手数料(service)/庁費用(official)/実費(disbursement)1行に合算されていれば combined
作業の日付行に書かれた作業日や、引用されている庁の通知の日付書かれていなければ not_stated
時間制の記載時間数と時間単価が書かれていれば、その値書かれていなければ空
金額と通貨行の金額と通貨(OCRの値をそのまま)読めなければ unreadable

3行目の combined が、この構成で大事な区別です。 手数料と庁費用が1行に合算されているものを、どちらか一方として扱うと、取り決めの照合が通ってしまうか、根拠の無い差額が出ます。 合算は合算として記録し、内訳を求めるかは規則で決めます。

させないこと理由
料金が正しいかの判断比較は Python で行う。AIは対応付けまで
通貨の換算換算は自社の規則(どの日のどの相場か)で Python が行う
合算行の内訳の推定取り決めの手数料を引いて庁費用を逆算しない
整理番号の補完似た番号に近づけない。読めなければ unreadable
信頼度の付け直しOCRが返した値をそのまま使う

3行目がいちばん起きやすい失敗です。 合算行を渡すと、取り決めの手数料を差し引いて「残りが庁費用」と割り振りたがります。その瞬間、手数料が取り決めどおりかという、確かめたかったことが確かめようのない値で埋まります。

Step6

指示内容を固定する

あなたは特許事務所の外国部で、海外の現地代理人から届いたデビットノートを点検する立場です。
OCRが返した項目と明細の行だけを見て、各行を対応付けてください。推測で埋めないでください。

【やること】
1. 請求全体と各行から、自社の整理番号(Your Ref. / Client Ref. など)と
   代理人側の整理番号(Our Ref. など)を書き出す
2. 各行の作業名を、下に示す作業区分の一覧のどれに当たるかで対応付ける
3. 各行の費用の種類を service(手数料)/ official(庁費用)/ disbursement(実費)から選ぶ
4. 行に書かれた作業日、引用されている庁の通知の日付を書き出す
5. 時間制の記載(時間数・時間単価)があれば書き出す

【status の選び方】
- ok .......... 対応付けができ、根拠の文字列がある
- unmapped .... 作業区分の一覧に当たるものが無い
- combined .... 1行に複数の費用の種類(例:Official fee and our charges)が合算されている
- ambiguous ... 整理番号や作業区分の候補が複数あり、1つに決められない
- unreadable .. 文字は検出されているが信頼度が低く、値として確定できない
迷ったときに ok を選ばないでください。

【厳守事項】
- 金額と通貨は、OCRの値をそのまま amount_text と currency に入れてください。
  桁区切りや小数点を直さないでください。通貨を換算しないでください。
- 合算されている行を分けないでください。取り決めの手数料を差し引いて
  庁費用を逆算することをしないでください。status を combined にしてください。
- 整理番号は読み取った文字列をそのまま入れてください。
  似た番号に直す、桁を足すことをしないでください。
- 作業区分の一覧に無い作業を、近い区分に寄せないでください。unmapped にしてください。
- evidence には、判断の根拠にした明細の文字列をそのまま写してください。
- confidence には OCR が返した値をそのまま入れてください。
- 料金が取り決めどおりか、支払うべきかは書かないでください。
- デビットノート以外の書類(見積書、報告書、領収書の控えなど)と判断した場合は、
  対応付けをせず document_type に種類を書いてください。

【作業区分の一覧(コードと説明)】{work_codes}
【この代理人の情報(既定の通貨、整理番号の書き方)】{associate_profile}
【OCRの結果(標準の項目と明細の行)】{textract_result}

「近い区分に寄せない」を明記しないと、必ず寄せます。 代理人が気を利かせて行った「Prior art check」を「Reporting」として対応付けると、指示していない作業の請求が、指示した作業として照合を通ります。 第3章の(a)そのものです。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Claude API の構造化出力(あらかじめ決めたJSONの形に沿った応答だけを返させる機能)を使い、output_config.format にスキーマを渡します。status と cost_type の選択肢は enum で固定します。

{
  "document_type": "debit_note",
  "associate": "",
  "invoice_no": "",
  "invoice_date_text": "",
  "client_refs": [""],
  "lines": [
    { "line_no": 1, "client_ref": "", "associate_ref": "",
      "work_code": "", "cost_type": "service | official | disbursement",
      "work_date_text": "", "amount_text": "", "currency": "",
      "status": "ok | unmapped | combined | ambiguous | unreadable",
      "confidence": 0, "evidence": "" }
  ]
}

AIが埋めるのはここまでです。 この後ろに、Python が照合の結果を足します。

足す項目中身
instructed指示記録にその作業があるか(yes / no / after_withdrawal)
fee_diff取り決めの手数料との差額(適用開始日で版を選ぶ)
official_diff庁費用の表との差額
jpy_amount自社の換算規則で円にした額
verdictapprove / query_associate / needs_human

対応付けと判定を別の層に置くので、 差額をいくらまで許すかが変わっても、直すのは Python の規則だけです。

条件verdict
全行が ok、instructed が yes、差額が許容の範囲内approve
instructed が no か after_withdrawal、または差額が許容を超えるquery_associate
combined が含まれ、その代理人について内訳を求める方針query_associate
unreadable・ambiguous・unmapped が1つでもあるneeds_human
振込先が登録と違うneeds_human(支払の保留)

最後の行だけは、他の条件より優先します。 金額がすべて合っていても、振込先が違えば支払に回しません。

Step8

システムへ連携する

つなぎ先方式内容
受付フォルダ(Amazon S3)保存の通知で AWS Lambda を起動前処理と読み取りの開始
AWS TextractStartExpenseAnalysis/GetExpenseAnalysis標準の項目、明細、信頼度、通貨
案件管理システム書き出したファイル、またはAPIで読み取り案件台帳と指示記録
Claude APIAPI呼び出し明細の対応付け、照会文と請求明細の下書き
判定の一覧表で書き出し外国部の担当者が確認する一覧
会計システム既存の入力経路approve のものだけを経理が回す

案件管理システムと会計システムへは書き込みません。 この構成が出すのは点検の結果と下書きまでです。支払と顧客への請求を起こすのは、経理の既存の手順です。 書き込みを足すと、対応付けの誤りがそのまま顧客への請求書に出ます。

照会文は英文、顧客への請求明細は日本語で下書きします。 照会文には合わない行を evidence の英文のまま引用させます。

Step9

人が確認する

人が開くのは query_associate と needs_human のものだけです。 approve のものは、代理人・件数・合計を一覧で流し見ます。全件を開く設計にすると、第10章の20.0時間には収まりません。

  1. 振込先の不一致を最初に見る … 支払を止め、登録済みの連絡先で代理人に確かめます。メールの返信で確かめないでください
  2. needs_human を見る … 多くは整理番号の読み違いか、作業区分の一覧の不足です。一覧に区分を足したら、それも記録します
  3. query_associate の根拠を確かめる … 指示記録と取り決めの表を開き、本当に台帳に根拠が無いのかを確かめます
  4. 照会文を直して送る … 送信は人が行います。照会の要否を決めるのも人です
  5. 判定を覆したら記録する … どの行を、どちらに変えたかを残します

3番目を省かないでください。 指示記録の入力漏れで no になることがあり、そのまま照会すると自社の記録漏れを代理人に問い合わせることになります。

目標は、120件をならして1件10分です。 照会が3割を超える月は、作業区分の一覧か指示記録の入力に穴があります。

Step10

例外に対処する

起きること対応
パスワードで保護されたPDF読めない。代理人に保護のないものを送り直してもらう
XFA形式のPDF対応しない。PDFに印刷し直して投入
英語以外の言語で書かれている対応言語外。needs_human で担当者が読む
文字が小さすぎる15ピクセル(150dpiで8ポイント)が下限。下回る行は unreadable で人へ
整理番号が読めない代理人側の整理番号と出願番号から候補を出し、人が確定
通貨の記号が無い代理人の一覧の既定の通貨を当て、既定と違う通貨の記載があれば人へ
1つのPDFに複数の請求ExpenseIndex で分けて、請求ごとに判定
同じ請求が再送された代理人と請求番号で照合し、二重に判定しない
請求番号が違うが中身が同じ案件・作業・金額が同じものを二重請求の候補として人へ
OCRが応答しない・失敗の通知受付フォルダに残す。処理済みへ移すのは成功時だけ

下から2行目は、請求番号だけでは見つかりません。 請求を作り直すと番号が変わるので、案件・作業区分・金額の組で直近の請求と照らします。

Step11

記録を残す

  • 元のデビットノートと、受け取った日時・経路
  • Textract が返したJSONの全文(標準の項目、明細の行、項目名、信頼度)
  • 正規化の前と後の金額・日付(元の文字列を残す)
  • 対応付けの結果(lines)と、照合に使った取り決めの表の版と庁費用の表の版
  • 判定(verdict)と、人が覆した記録
  • 照会を送った日時、代理人の回答、訂正されたデビットノートとの対応
  • 代理人ごとの unmapped と combined の件数

4つ目で表の版を残すのは、取り決めが後から変わるためです。 値上げの交渉の後に過去の請求を見直すとき、当時どの料金で照らしたかが残っていないと、照会の根拠を説明できません。

04実装レベルの3段階

最小構成:PDFを手でAIの画面に渡し、明細の対応付けをさせる / 1枚ごとの作業区分と費用の種類の対応付け
半自動化:上記+OCRのAPIで読み取り、台帳・取り決めとの照合と判定の一覧を出す / 読み取り、照合、差額の計算、判定の一覧化
本格構成:上記+照会文と顧客請求明細の下書き、代理人ごとの傾向の集計、案件管理システムとのAPI連携 / 点検の全体と、照会・顧客請求の準備

最小構成は確かめるための段階で、120件はさばけません。 半自動化で、1件30分が10分になり、この段階が本記事の想定です。 読み取り・対応付け・照合が自動になり、人の仕事は判定の一覧の確認と、照会するものの根拠の確認になります。本格構成で足すのは、照会文と顧客請求明細の下書きです。 半自動化の運用で照会の割合を見てから進みます。 段階を飛ばさないでください。 半自動化を1か月回すと、unmapped の多い代理人と指示記録の入力の遅れが見え、そこを直してから下書きを足すほうが、誤った照会が減ります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
3 名
月間件数
120 件
1件あたり現在時間
30 分
1件あたり導入後時間
10 分
現在  120件 × 30分 ÷ 60 = 60 時間/月
導入後 120件 × 10分 ÷ 60 = 20 時間/月
月間削減時間
40h
削減率
67%
年間削減時間
480h
年間金額換算(時間単価3,500円)
168万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 外国出願を多く扱い、米国・欧州・アジアの現地代理人から英文のデビットノートを毎月百件前後受け取る特許事務所。外国部の担当者が、代理人ごとの料金の取り決めと案件の指示記録を記憶と表計算で照らし合わせている場合。案件台帳に、相手方の整理番号と、いつ何を指示したかの記録を持っている場合。デビットノートの内容を顧客への請求に転記している場合。
向いていない
  1. デビットノートが英語以外(中国語・韓国語・日本語など)だけで書かれている場合(この構成のOCRは英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語しか読めません)。現地代理人が数事務所で、月の件数が十件程度の場合。代理人と料金の取り決めを文書にしておらず、照らす先の料金表を作れない場合。なお、庁費用の金額そのものが正しいか、代理人へ減額を求めるかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月届いたデビットノートから20枚を選ぶ(照会したことのあるものを数枚入れる)
  2. その20枚について、当時どの行を照会し、どの行を通したかを担当者に聞き取る
  3. 作業区分の一覧(取り決めの表の区分)を1枚の表にまとめる
  4. 手元のAIサービスの画面に、PDFと作業区分の一覧を1枚ずつ渡す
  5. 「明細の各行を、作業区分の一覧のどれに当たるか、費用の種類(手数料・庁費用・実費)はどれかで対応付けてください。合算されている行は分けずに合算と書いてください。一覧に無い作業は近い区分に寄せないでください」と指示する
  6. 出てきた対応付けを、当時の担当者の判断と突き合わせる

20枚は必ずやってください。 料金の照合は計算なので、確かめるべきは「作業名を区分に対応付けられるか」です。

出てきた内容判断
当時照会した行が unmapped や combined として出たOCRとの連携に進む
一覧に無い作業を近い区分に寄せた指示の書き方で直る。構成は有効
区分の一覧そのものが足りず、unmapped が多い一覧の整備が先。 AIの問題ではない

3行目が出ても失敗ではありません。 古参の2名の頭の中の区分が、表になっていなかったと分かったということです。

08実装時につまずきやすいポイント

問題対策
一覧に無い作業が近い区分に寄せられる寄せないことを指示に明記し、unmapped を出させる
合算行が逆算で分けられる逆算を禁じ、combined として記録する
欧州の数字の書き方で桁がずれる代理人の一覧で書き方を決め打ちし、元の文字列を残す
日付の日と月を取り違える同じく代理人の一覧で決める。AIに解釈させない
自社の整理番号が標準の項目に入らないLabelDetection の項目名で「Your Ref」を拾う
値上げの前後で料金の版を取り違える取り決めの表に適用開始日を持たせ、作業日で版を選ぶ
指示記録の入力漏れで照会してしまう照会の前に、人が指示記録を確かめる
JobId の期限が切れて結果が取れない7日間しか有効でない。完了の通知ですぐに取る
中国語や韓国語の請求が混ざる対応言語外。英語以外は人が読むと決めておく
振込先の変更に気づかない登録済みの振込先と照合し、違えば支払を止める

上の2行が、この構成の失敗のほとんどです。 どちらもAIが「つじつまの合う答え」を作ろうとして起きます。合わないことを合わないまま記録させるのが勘所です。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 顧客の名前と出願の内容に関わる案件の情報、代理人との料金の取り決め、そして代理人の振込先の口座情報です。未公開の出願の案件名が明細に書かれていることもあります。

  1. 振込先の変更は、デビットノートだけで受け付けない … 振込先を変えたと書かれた請求は、なりすましによる送金詐欺の典型的な入口です。 登録済みの連絡先に電話などで確かめるまで支払を止めます
  2. 生成AIに渡す範囲を絞る … 対応付けに口座番号は要りません。振込先の照合は Python の側で行い、生成AIには明細の行と区分の一覧だけを渡します
  3. 照会を自動で送らない … 長く付き合う代理人との関係に直接ひびきます。送るのは人で、下書きまでが自動です
  4. 未公開の案件の情報を扱う前提で、保管先を決める … 非同期の結果は自社のバケットへ書き出し、KMSKeyId で暗号化の鍵を指定できます。保管の期間とアクセスできる人を先に決めます
  5. 料金の取り決めの表を外へ出さない … 40事務所分の料金がまとまった一覧です。照合は Python の側で行い、表そのものを生成AIへ渡しません
  6. この構成は料金の妥当性を判断しない … 取り決めの料金が相場に照らして高いか、減額を求めるかは、外国部の責任者と代理人の交渉で決めることです

誤りが起きた場合のリスクは、指示していない作業を顧客に再請求することと、正しい請求を照会して代理人との関係を損ねることの2つです。

10まず何から始めるか

1週目:作業区分の一覧を作る

取り決めの表を見直し、出願、中間応答、報告、年金納付、登録といった作業区分にコードを振ります。 件数の多い上位10事務所から始めます。

2週目:20枚で試す

先月のデビットノートから20枚を選び、手元のAIサービスで対応付けをさせます。当時の担当者の判断と突き合わせ、近い区分に寄せていないか、合算行を分けていないかを最優先で見ます。

3週目:照会の基準を決める

許容する差額、合算行を照会する代理人、振込先の確認の手順を、外国部の責任者と経理で決めます。 ここが決まらないうちに照合を組むと、判定は出るのに誰も使えない状態になります。あわせて、代理人の一覧に数字と日付の書き方、既定の通貨を足します。

4週目:受付から対応付けまでをつなぐ

S3、Lambda、Textract をつなぎ、対応付けの結果を一覧に書き出すところまで作ります。この時点では verdict を出さず、lines の一覧だけを見ます。

2か月目: 案件台帳・指示記録・取り決めの表との照合を足し、verdict を出します。照会の割合を毎週数えます。3か月目以降: 照会文と顧客請求明細の下書きを足し、1件30分が何分になったかを実測します。代理人ごとの unmapped と combined の件数を見て、請求の書き方を代理人と相談できた時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-05/最終更新:2026-10-05
確認した内容情報源確認日
テンプレートなしで請求書から日付、番号、品目の金額、合計、支払条件を取り出すこと。異なる言い方を標準の項目にそろえ、当たらないものを OTHER にすること。標準の項目の一覧。出力の ExpenseIndex、LabelDetection、ValueDetection、Confidence、EXPENSE_ROW。値に Currency の Code が付く例。同期は AnalyzeExpense、非同期は StartExpenseAnalysis と GetExpenseAnalysis であることAWS: Analyzing Invoices and Receipts2026-10-05
StartExpenseAnalysis がS3の JPEG・PNG・PDF を対象に非同期で分析し、完了をSNSに通知し、GetExpenseAnalysis で結果を取ること。ClientRequestToken で同じ処理の二重の開始を防げること。JobId が7日間有効なこと。OutputConfig で自社のバケットへ出力でき、KMSKeyId で暗号化の鍵を指定できることAWS: StartExpenseAnalysis2026-10-05
XFA形式のPDFに対応しないこと。同期処理が10MB・PDFとTIFFで1ページまで、非同期処理がPDFとTIFFで500MB・3,000ページまでであること。パスワード付きPDFを扱えないこと。対応言語が英・仏・独・伊・葡・西であること。文字の高さの下限が15ピクセル(150dpiで8ポイント)であることAWS: Amazon Textract の固定のクォータ2026-10-05
Textract の人による確認の仕組み(HumanLoopConfig)が Amazon Augmented AI(A2I)を使うこと。A2I が2026年7月に保守モードに入り、新規の顧客を受け付けていないことAWS: AnalyzeDocument2026-10-05
構造化出力で output_config.format にJSONスキーマを指定できること。enum が使えること。オブジェクトに additionalProperties: false が必要なことClaude: Structured outputs2026-10-05

庁費用の照会や減額の求め方は、外国部の責任者と代理人との取り決めで決めてください。 庁費用の金額は国・時期で変わるため、本記事では数値を扱っていません。庁費用の表は、各国の庁が公表する料金表から自社で作り、定期的に見直してください。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0410)についてのご相談はこちらから。

AI活用について相談する
目次