Media > AI活用ユースケース > 知財 > 海外の特許事務所から届く英文の請求書から、案件番号・作業の内容・金額・通貨を抜き出して案件ごとの費用台帳にそろえ、見積との差を拾う

海外の特許事務所から届く英文の請求書から、案件番号・作業の内容・金額・通貨を抜き出して案件ごとの費用台帳にそろえ、見積との差を拾う

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

海外の特許事務所から直接届く英文の請求書(PDF)から、案件の番号・作業の内容・費用の種類・金額・通貨を明細の1行ずつ抜き出します。案件・段階ごとの費用台帳に積み上げ、依頼のときにもらった見積を超えそうな案件を知財の担当に知らせます。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Make/n8n/Power Automate/Zapier
対象業界
IT・SaaS/医療/製造
対象部門
知財/経理
対象業務
データ入力・転記/比較検討
主な課題
入力作業が多い/判断に時間がかかる/確認ミスが多い
AIで行う処理
抽出
主な効果
入力漏れ削減/判断支援/工数削減
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
50h/月
AI導入後
15h/月
想定削減
70%
年間削減
420h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 請求書がメールで届く。担当者がPDFを開いて、どの事務所のどの案件かを確かめる
  2. 事務所の整理番号(Our Ref)と自社の番号(Your Ref)を見て、案件管理システムで案件を探す
  3. 明細を1行ずつ読み、作業の内容から段階(移行・審査請求・応答・登録・年金)を判断する
  4. 手数料・庁費用・実費を分け、通貨と金額を費用台帳に打ち込む
  5. 1枚に複数の案件があれば、案件ごとに行を分けて打ち込む
  6. 経理に支払を依頼する
  7. 見積との比較は、気になった案件だけ、見積のメールを探して見比べる
導入後(After)
  1. 自動請求書の受付用メールアドレスに、PDFの添付があるメールが届く
  2. 自動Make のシナリオが動き、添付を1つずつ取り出す
  3. 自動Claude API にPDFを渡し、請求書の見出し(事務所・請求番号・日付・通貨)と明細の各行(案件の番号・作業の内容・段階・費用の種類・金額)をJSONで受け取る
  4. 自動抜き出した案件の番号を、案件の対応表(自社の番号と事務所の番号)で引いて、自社の案件に結びつける
  5. 自動明細の行を費用台帳に1行ずつ追加する
  6. 自動同じ案件・段階の累計を出し、見積の一覧の金額と同じ通貨で比べる
  7. 自動見積の8割を超えた案件、見積を超えた案件、見積の無い段階を、担当者への一覧に書き出す
  8. 人担当者が、案件を特定できなかった行と、段階の判断に自信の無い行を確かめて直す
  9. 人見積を超えた案件について、事務所に理由を尋ねるか、予算を見直すかを決める
各工程の詳しい説明を読む
  1. 請求書がメールで届く。担当者がPDFを開いて、どの事務所のどの案件かを確かめる
  2. 事務所の整理番号(Our Ref)と自社の番号(Your Ref)を見て、案件管理システムで案件を探す
  3. 明細を1行ずつ読み、作業の内容から段階(移行・審査請求・応答・登録・年金)を判断する
  4. 手数料・庁費用・実費を分け、通貨と金額を費用台帳に打ち込む
  5. 1枚に複数の案件があれば、案件ごとに行を分けて打ち込む
  6. 経理に支払を依頼する
  7. 見積との比較は、気になった案件だけ、見積のメールを探して見比べる

(a)打ち込みに時間がかかる。 明細の行数は1枚に数行から十数行あり、作業の内容は英文の長い説明です。1行ずつ段階を判断して打ち込むのに、1枚の時間の大半を使います。

(b)案件番号の書き方が事務所ごとに違う。 自社の番号をハイフン付きで書く事務所、括弧に入れる事務所、自社の番号を書かず事務所の番号だけの事務所。番号を探して案件を特定する作業が、事務所ごとに違う手順になります。

(c)段階の判断が担当者によって違う。 「Reviewing Office Action and reporting」を応答の段階とするか、報告の作業として別にするか。同じ請求でも、担当者によって台帳の段階が変わり、見積と比べるときに合計が合いません。

(d)見積との比較は後回しになる。 7番目は、打ち込みが終わった後の余った時間にしか行われません。見積を超えた案件に気づくのは、年度の途中の予算の見直しのときです。

  1. 【自動】 請求書の受付用メールアドレスに、PDFの添付があるメールが届く
  2. 【自動】 Make のシナリオが動き、添付を1つずつ取り出す
  3. 【自動】 Claude API にPDFを渡し、請求書の見出し(事務所・請求番号・日付・通貨)と明細の各行(案件の番号・作業の内容・段階・費用の種類・金額)をJSONで受け取る
  4. 【自動】 抜き出した案件の番号を、案件の対応表(自社の番号と事務所の番号)で引いて、自社の案件に結びつける
  5. 【自動】 明細の行を費用台帳に1行ずつ追加する
  6. 【自動】 同じ案件・段階の累計を出し、見積の一覧の金額と同じ通貨で比べる
  7. 【自動】 見積の8割を超えた案件、見積を超えた案件、見積の無い段階を、担当者への一覧に書き出す
  8. 【人】 担当者が、案件を特定できなかった行と、段階の判断に自信の無い行を確かめて直す
  9. 【人】 見積を超えた案件について、事務所に理由を尋ねるか、予算を見直すかを決める

8番目が、この設計の分かれ目です。 台帳に入れるのは自動ですが、案件と段階が確かな行だけが累計に入ります。 確かでない行は「要確認」の印を付けたまま台帳に置き、人が直すまで見積との比較に使いません。

6番目を円に直さずに行うのも、意図してのことです。 為替の動きで見積を超えたように見える案件が混ざると、担当者は一覧を信じなくなります。

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

構成図
海外の特許事務所(英文の請求書 PDF をメールで送付)
   │
   ▼【トリガー】受付用メールアドレスに添付付きのメールが届く
Make
   ├──▶ Gmail:Watch emails(添付のあるメールだけ)
   ├──▶ 添付の一覧を Iterator で1つずつに分ける
   ▼
Anthropic Claude(Make an API Call で Messages API を呼ぶ)
   │   PDF を document として渡し、構造化出力で JSON を受け取る
   ▼
Make ── 案件の対応表を引く(Google Sheets:Search Rows)
   ▼
Make ── 費用台帳に明細の行を追加(Google Sheets:Add a Row)
   ▼
Make ── 案件・段階の累計と見積の比較(同じ通貨で)
   ▼
担当者への一覧(見積の8割超・超過・見積なし・要確認)
   ▼
【人が要確認の行を直し、超過の案件を判断】
役割想定する製品代替候補
ワークフローMakeZapier、n8n、Power Automate
生成AIClaude API(請求書のPDFから明細を抜き出す。構造化出力)OpenAI API、Gemini API
保管Google スプレッドシート(費用台帳・見積の一覧・案件の対応表)知財の案件管理システムの費用の機能

Make の Anthropic Claude のアプリには、Create a Prompt と Make an API Call のモジュールがあります。 公式のアプリのページには、Create a Prompt が PDF の入力や構造化出力に対応するかが書かれていません。この構成では Make an API Call で Messages API を直接呼び、PDFと JSON スキーマの両方を自分で指定します。 接続には Anthropic のコンソールで発行した API キーが要ります。

請求書のPDFは、そのまま Claude に渡せます。 Claude の PDF のサポートでは、PDFを URL、base64 で符号化した document のブロック、Files API の file_id の3つの方法で渡せます。1回の要求の上限は32MBで、パスワードや暗号化のかかっていない標準のPDFが対象です。各ページの文字が抜き出され、ページの画像と一緒に読まれるので、表の形の明細もそのまま読めます。

OCRを別に挟まないのは、届く請求書の多くが事務所の会計システムから出力された文字の入ったPDFだからです。 スキャンした紙の請求書が混ざっても、Claude はページを画像としても読むので、同じ流れで扱えます。

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

Step1

処理の起点を決める

請求書の受付用メールアドレスに、PDFの添付があるメールが届いたことを起点にします。 Make の Gmail の Watch emails は、見張るフォルダやラベルを選び、条件で絞り込めます。「添付のあるメールだけ」に絞り、1回に扱う件数は最大の結果の数で決めます(500以下)。

受付用のアドレスは、請求書専用にします。 事務所との通常のやりとり(拒絶理由の報告や指示の確認)と同じアドレスで受けると、報告に添付された見積や庁の書類まで請求書として読もうとします。 事務所には、請求書だけを専用のアドレスに送るよう依頼します。

処理が終わったメールには、ラベルを付けます。 Make の Gmail には、メールのラベルを更新するモジュールがあります。「処理済み」のラベルは、台帳への書き込みが最後まで終わったときだけ付けます。 ラベルの無いメールの数が、そのまま未処理の数になります。

Step2

入力データを集める

データ中身取得元
請求書のPDF事務所名、請求番号、請求日、支払期日、通貨、明細(案件の番号・作業の説明・金額)受付用メールの添付
案件の対応表自社の案件番号、事務所名、事務所の整理番号、国、出願番号Google スプレッドシート
見積の一覧自社の案件番号、段階、通貨、手数料・庁費用・実費の見積額、見積をもらった日Google スプレッドシート
段階の一覧段階の名前と、それに当たる作業の英語の言い方の例知財部で用意する
事務所の一覧事務所名、送信元のメールアドレス、請求の通貨Google スプレッドシート

質を決めるのは、案件の対応表と段階の一覧です。 対応表が無ければ、事務所の整理番号しか書かれていない請求書を自社の案件に結びつけられません。段階の一覧が無ければ、Claude は作業の説明から段階をそれらしく決め、担当者ごとの判断のばらつきがAIのばらつきに置き換わるだけです。

段階の一覧は、見積の段階と同じ区切りにします。 見積が「国内段階への移行」「審査請求」「拒絶理由への応答」「登録」「年金」で書かれているなら、台帳も同じ5つに分けます。区切りが違うと、累計と見積を比べられません。

Step3

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

Watch emails で届いたメールから、添付の一覧を取り出し、Iterator で1つずつに分けます。 Make の Iterator は配列を一連のバンドルに変える特別なモジュールで、メールの添付を1つずつ扱う例が公式のヘルプにあります。1通のメールに請求書が2枚付いていることがあるので、Iterator は必ず置きます。

PDFでない添付は、ここで外します。 事務所によっては、請求書と一緒に庁の受領書の画像や、明細の表計算のファイルを付けてきます。ファイル名の拡張子が .pdf のものだけを先へ送り、それ以外は担当者に知らせます。

PDFは base64 で符号化して、Messages API の document のブロックに入れます。 Make an API Call の本文に、モデル、最大トークン数、メッセージ(document のブロックと指示の文)、そして output_config.format に JSON スキーマを書きます。base64 への符号化は、Make の関数で行います。

案件の対応表は、Google Sheets の Search Rows で引きます。 引く順番は、自社の番号(Your Ref)が先、事務所の整理番号(Our Ref)が後、出願番号が最後です。自社の番号は書き方がばらついても桁の並びが同じなので、ハイフンと空白を除いてから引きます。

Step4

AIへ渡す前に整形する

  1. 送信元の確認 … 送信元のアドレスが事務所の一覧にあるかを確かめます。無ければ処理せずに担当者に知らせます
  2. 形式の確認 … PDFであることを確かめます
  3. サイズとページ数の確認 … 1回の要求の上限は32MBです。数十ページの請求書(年金の一括請求など)は、明細のページだけを分けて渡すことを検討します
  4. 暗号化の確認 … パスワードや暗号化のかかったPDFは対象外です。事務所に、パスワード無しで送り直してもらいます
  5. 重複の確認 … 同じ事務所・同じ請求番号の請求書が台帳にあれば、二重に入れません

3番目の年金の一括請求は、ほかの請求書と別の扱いにします。 年金の管理を事務所にまとめて任せていると、1枚に数十件の案件が並ぶ請求書が届きます。これを1回で渡すと出力が長くなり、途中で切れることがあります。 一括請求の事務所は事務所の一覧に印を付け、ページを分けて渡します。

5番目は、事務所が同じ請求書を催促として送り直してきたときに効きます。 請求番号が同じなら、台帳には入れず、催促が来たことだけを担当者に知らせます。

Step5

AIに処理させる

Claude にさせるのは、請求書に書かれていることを、決まった項目に分けて写すことだけです。

項目抜き出し方決められないときの扱い
事務所名・請求番号・請求日・支払期日書かれているまま。日付は YYYY-MM-DD書かれていなければ null
通貨ISO の3文字(USD、EUR、CNY など)記号だけ($)で国が決まらなければ null
案件の番号(自社・事務所・出願番号)書かれている文字列をそのまま書かれていなければ null
作業の説明明細の英文をそのまま写す-
段階段階の一覧のどれか1つ当てはまらなければ unknown
費用の種類service_fee / official_fee / disbursement区別が書かれていなければ unknown
金額明細の金額を数値で読めなければ null
合計請求書の合計の欄の金額書かれていなければ null

右端の列が、この構成でいちばん大事なところです。 unknown と null の行は、案件と段階が確かでないので、累計に入れません。 推測で段階を埋めると、見積との比較そのものが誤ります。

合計は、明細の合計とは別に写させます。 明細の金額の和と、請求書の合計の欄が一致するかは、Make の側で計算して確かめます(例外処理の表を参照)。一致しなければ、明細の抜き出しに漏れか重複があります。

させないこと理由
金額の円への換算比べるのは請求の通貨のまま。換算は予算の集計で行う
見積との比較累計の計算は Make の側で行う
段階を作業の説明から推測で決める段階の一覧に当てはまらなければ unknown
請求が妥当かの判断見積を超えた理由は事務所に尋ねる
案件番号の補完似た番号に寄せると、別の案件に費用が積み上がる

最後の行がいちばん起きやすい失敗です。 自社の番号の1桁が読みにくいとき、それらしい番号に寄せると、別の案件の費用台帳に積み上がり、その案件が見積超過に見えます。 案件の特定は、書かれた文字列を対応表で引く規則の側に置きます。

Step6

指示内容を固定する

You are assisting the IP department of a Japanese company.
Read the attached invoice from a foreign patent law firm and copy its contents
into the JSON schema. Copy only what is written. Do not guess.

[Stages] Choose one stage for each line from this list:
- national_phase_entry : entering the national/regional phase, filing
- examination_request  : requesting examination
- office_action        : reviewing, reporting, responding to an office action,
                         interviews, amendments
- grant                : allowance, issue fee, grant, registration
- annuity              : annuity, renewal, maintenance fee
- unknown              : none of the above, or you are not sure

[Fee type] service_fee / official_fee / disbursement / unknown

[Rules]
- Copy reference numbers exactly as written (our ref, your ref,
  application number). Do not correct or complete them.
- Copy the line description exactly as written in "description".
- Amounts: numbers only, in the invoice currency. Do not convert currencies.
- If the invoice does not state a value, use null.
- If a line covers several cases, split it only when the invoice
  shows a separate amount for each case. Otherwise keep one line
  and set stage to "unknown".
- Copy the invoice total from the total field into "invoice_total".
  Do not calculate it.
- Do not judge whether the fees are reasonable.
- If the document is not an invoice (receipt, cost estimate, report),
  set document_type accordingly and leave lines empty.

指示を英語で書いているのは、請求書が英語だからです。 段階の名前と作業の英語の言い方を同じ言語で並べると、「Reviewing Office Action and reporting」のような説明を、どの段階に当てるかが安定します。 段階の一覧は、運用しながら事務所ごとの言い方を足していきます。

「見積(cost estimate)なら明細を空にする」を入れているのは、事務所が見積を請求書と同じ書式で送ってくることがあるからです。 見積を請求として台帳に入れると、まだ発生していない費用が積み上がります。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 output_config.format に JSON スキーマを指定する構造化出力を使います。

{
  "document_type": "invoice | credit_note | cost_estimate | other",
  "firm_name": "",
  "invoice_no": "",
  "invoice_date": "",
  "due_date": "",
  "currency": "USD",
  "invoice_total": 0,
  "lines": [
    { "our_ref": "", "firm_ref": "", "application_no": "",
      "description": "",
      "stage": "office_action",
      "fee_type": "service_fee",
      "amount": 0 }
  ]
}

構造化出力を使う理由は、stage と fee_type を列挙型で縛れることです。 決めた値の外の言葉が返ってくると、Make の側の累計の条件に引っかからず、その行が静かに集計から落ちます。 構造化出力では、オブジェクトの additionalProperties を false にする必要があり、数値の範囲や文字数の制約は使えないとされています。金額が0以上かどうかの確認は、Make の側で行います。

document_type に credit_note を持たせているのは、減額の請求書があるからです。 事務所が請求の誤りを直すとき、マイナスの金額の請求書(クレジットノート)を送ってきます。金額はマイナスのまま台帳に入れ、累計から差し引きます。

費用台帳の1行は、明細の1行です。 列は、受付日、事務所名、請求番号、請求日、自社の案件番号、国、段階、費用の種類、通貨、金額、作業の説明、確からしさの印(確定/要確認)、確認者です。

Step8

システムへ連携する

つなぎ先方式内容
受付用メール(Gmail)Make の Watch emails添付のあるメールを受け取る
Anthropic ClaudeMake an API Call(Messages API)PDFから明細をJSONで抜き出す
案件の対応表Google Sheets の Search Rows自社の案件番号を引く
費用台帳Google Sheets の Add a Row明細の行を追加する
見積の一覧Google Sheets の Search Rows案件・段階の見積額を引く
担当者への一覧Google Sheets の Add a Row見積の8割超・超過・見積なし・要確認

Add a Row では、「列の見出しを列のIDとして使う」をはいにします。 公式のヘルプでは、はいにすると見出しの名前が列のIDになり、列の並びを入れ替えても名前を変えない限り崩れないとされています。費用台帳は経理や予算の担当も列を足すので、位置で指定すると書き込む列がずれます。

値の入れ方(Value input option)は「Raw」にします。 「User entered」にすると、画面で打ち込んだのと同じように解釈され、請求番号や出願番号が数値や日付に変わることがあります。

知財の案件管理システムには書き込みません。 台帳はスプレッドシートに置き、案件管理システムの費用の欄への反映は、月に1回、確定した行だけを担当者が行います。

Step9

人が確認する

人が見るのは、「要確認」の行と、見積の8割を超えた案件だけです。

  1. 要確認の行を直す … 案件を特定できなかった行、段階や費用の種類が unknown の行を、PDFを見て直します。直したら確定の印を付け、累計に入ります
  2. 明細の合計と請求書の合計が合わない請求書を見る … 抜き出しの漏れか重複を、PDFと見比べて直します
  3. 見積を超えた案件を判断する … 事務所に理由を尋ねるか、予算を見直すかを決めます。尋ねるメールは担当者が書きます
  4. 見積の8割を超えた案件に目を通す … まだ超えていない案件で、次の請求で超えそうなものを先に知っておきます

1番目の直し方を記録します。 どの事務所のどの言い方を、どの段階に直したかを残し、同じ直しが続けば段階の一覧に言い方を足します。 一覧が育つほど、unknown は減ります。

目標は、150枚をならして1枚6分です。 要確認の行が無い請求書は、台帳の行を流し見るだけで終わります。

Step10

例外に対処する

起きること対応
明細の合計と請求書の合計が合わない台帳には入れるが全行を「要確認」にし、担当者がPDFと見比べる
自社の番号も事務所の番号も対応表に無い新しい案件か、対応表の未整備。担当者が対応表に足してから確定する
1行に複数の案件がまとまっている案件ごとの金額が無ければ unknown。担当者が按分するか事務所に尋ねる
見積の一覧にその段階が無い「見積なし」として一覧に出す。見積を事務所に頼むかを担当者が決める
請求書が英語以外で書かれている抜き出しは試みるが、全行を「要確認」にする
見積(cost estimate)が届いたdocument_type を見て台帳に入れず、見積の一覧の担当者に回す
クレジットノートマイナスの金額のまま台帳に入れ、累計から差し引く
パスワード付きのPDF対象外。事務所に送り直しを頼む
API が応答しない・JSON が返らないメールにラベルを付けず、次の回に再処理する

上の3行が大半を占めます。 どれもAIの読み取りの問題ではなく、対応表と見積の一覧の整備の問題です。 対応表に事務所の整理番号を足していくほど、要確認の行は減ります。

Step11

記録を残す

  • 元のメールとPDF(受付用のメールボックスに残す)
  • Claude に渡した要求の内容(PDFを除く)と、返ってきたJSONの全文
  • 費用台帳の各行と、確定/要確認の印、確認者、直した内容
  • 段階を直した記録 … どの事務所のどの説明を、どの段階に直したか
  • 見積との比較の結果と、そのとき使った見積額
  • 事務所に理由を尋ねた日と、返ってきた理由

5つ目で「そのとき使った見積額」を残すのは、見積が後から出し直されるためです。 事務所が見積を改めたとき、どの時点の見積で超過と判断したかが残っていないと、尋ねた理由の筋が後から分からなくなります。

04実装レベルの3段階

最小構成:PDFを手でAIの画面に渡し、明細をJSONにしてもらう / 明細の読み取り
半自動化:上記+Make でメールを受け、Claude で抜き出し、費用台帳に行を追加する / 読み取りと台帳への書き込み
本格構成:上記+案件の対応表で案件を結びつけ、段階ごとの累計を見積と比べて担当者に知らせる / 読み取り・書き込み・見積との比較

半自動化で、第4章の②(打ち込み)がほぼ無くなります。 案件の特定と見積との比較は人に残ります。本格構成で、案件の特定と比較も Make に移り、人は要確認の行と超過の案件を見るだけになります。 本記事の想定はこの段階です。 半自動化を1か月回すと、対応表に足りない事務所の整理番号が先に分かります。 そこを埋めてから本格構成に進むと、要確認の行が少ない状態で始められます。

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

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

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

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

AI活用について相談する

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

向いている
  1. 米国・欧州・アジアの特許事務所に国内の事務所を通さず直接依頼しており、英文の請求書が知財部のメールに月に百件以上届く製造業・IT企業・医療機器メーカー。依頼のときに現地の事務所から段階ごとの費用の見積をもらっているが、実際の請求と見比べる作業が追いついていない場合。知財の予算を案件・国・段階ごとに管理したい場合。
向いていない
  1. 外国出願をすべて国内の特許事務所経由で依頼しており、請求書が日本語でまとめて届く場合(国内の事務所の請求書の検算は別の構成になります)。外国の請求書が月に十件程度の場合。依頼のときに見積を取っておらず、比べる先が無い場合。なお、請求の金額が妥当か、支払うか、事務所へ減額を求めるかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月届いた請求書から20枚を選ぶ(うち数枚は、複数の案件が1枚にまとまったものと、クレジットノートを入れる)
  2. 20枚について、担当者が費用台帳に打ち込んだ行を書き出しておく
  3. 手元のAIサービスの画面にPDFを1枚ずつ渡し、第7章の指示で明細をJSONにしてもらう
  4. 出てきた行を、担当者が打ち込んだ行と、案件番号・段階・金額で1行ずつ比べる
  5. 段階が担当者と違った行について、どちらの判断が見積の段階に合っているかを確かめる

20枚は必ずやってください。 シナリオを組む前に、「自社に届く書式の請求書から、明細が漏れなく取れるか」を確かめます。

出てきた内容判断
金額と案件番号がほぼ一致したシナリオの組み立てに進む
金額は合うが、段階が担当者とずれる段階の一覧の言い方を足せば直る。構成は有効
明細の行が漏れる・重複するページが多い請求書を分けて渡す。合計の照合を必ず入れる

2行目が出るのは、むしろ普通です。 担当者どうしでも段階の判断はずれているので、ずれた行を並べること自体が、段階の一覧を作る材料になります。

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

問題対策
似た案件番号に寄せて別の案件に積み上がる番号の補完を禁じ、対応表で引けなければ要確認
為替で見積超過に見える請求の通貨のまま比べる。 円は予算の集計だけ
段階が担当者ごとにずれる段階の一覧を見積と同じ区切りにし、言い方を足していく
見積を請求として台帳に入れるdocument_type で見積を外す
明細の行が漏れる請求書の合計を別に写させ、明細の和と照合する
年金の一括請求で出力が切れる明細のページを分けて渡す
クレジットノートを無視するマイナスのまま台帳に入れ、累計から差し引く
請求番号が数値や日付に変わるAdd a Row の値の入れ方を Raw にする
台帳の列がずれる列の見出しを列のIDとして使う
報告のメールの添付まで読む請求書専用の受付アドレスにする

上の2行が、この構成の失敗のほとんどです。 1行目は費用が別の案件に移る失敗、2行目は超過でない案件を超過と出す失敗です。どちらも、担当者が一覧を信じなくなる原因になります。

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

この構成で扱うデータ: 外国の特許案件の番号、出願番号、作業の内容(拒絶理由への応答の方針が読み取れる説明を含む)、費用、事務所との料金の取り決めです。公開前の出願の情報が含まれることがあります。

  1. 公開前の出願の情報の扱いを決める … 請求書の作業の説明には、発明の名称や応答の方針が書かれていることがあります。外部のAIに渡してよい範囲を、知財部の情報管理の取り決めと照らして先に決めます
  2. API の利用条件を確かめる … 送ったデータが学習に使われるか、どれだけの期間保存されるかを、利用する API の条件で確かめます
  3. 費用台帳の閲覧を絞る … 事務所ごとの料金の水準が並ぶ表で、事務所との交渉の材料になります。知財部と経理の担当だけが見られるようにします
  4. 事務所へ尋ねるメールを自動で送らない … 見積を超えた理由を尋ねるメールは担当者が書きます。取引の長い事務所との関係に直接ひびきます
  5. 支払の判断を自動にしない … この構成は台帳に積み上げて比べるところまでで、支払うかどうかは担当者と経理が決めます

誤りが起きた場合のリスクは、費用が別の案件に積み上がることと、見積超過を見落とすことの2つです。 前者は案件番号の補完で起き、後者は要確認の行を累計から外したまま放置すると起きます。要確認の行の件数を毎週数え、残り続けていないかを見ます。

10まず何から始めるか

1週目:請求書専用の受付アドレスを作る

請求書だけを受けるアドレスを作り、約30の事務所に送り先の変更を連絡します。あわせて、事務所の一覧(送信元のアドレス、通貨、一括請求の有無)を作ります。

2週目:20枚で試す

先月の請求書から20枚を選び、第8章の手順で明細を抜き出して、担当者の打ち込みと比べます。段階がずれた行を並べ、段階の一覧の最初の版を作ります。

3週目:案件の対応表と見積の一覧を整える

対応表に、事務所の整理番号と出願番号の列を足します。見積の一覧は、今年度に依頼した案件からメールの添付を探して表にします。

4週目:メールから台帳までをつなぐ

Make で受付アドレスを見張り、Claude で抜き出して、費用台帳に行を追加するところまで作ります。この時点では見積との比較は出さず、要確認の行の件数を数えます。

2か月目: 対応表で案件を結びつけ、段階ごとの累計と見積の比較を出します。見積の8割超・超過・見積なしの件数を毎週数えます。3か月目以降: 段階の一覧に事務所ごとの言い方を足し、1枚20分が何分になったかを実測します。要確認の行が毎月減り、見積を超えた案件にその月のうちに気づけるようになった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-13/最終更新:2026-10-14
確認した内容情報源確認日
Gmail の Watch emails で、フォルダ・ラベル、フィルターの種類(簡易のフィルター/Gmail のフィルター)、送信元、既読にするか、1回に扱う最大の結果の数(500以下)を指定できること。添付のあるメールで絞れること。メールのラベルを更新するモジュール、メールの添付の一覧を取るモジュールがあることMake: Gmail modules2026-10-13
Iterator が配列を一連のバンドルに変える特別なモジュールで、メールの添付を1つずつ扱う例があることMake Help: Iterator2026-10-13
Anthropic Claude のアプリに Create a Prompt と Make an API Call などのモジュールがあり、API キーの接続が要ること。アプリのページに PDF の入力や構造化出力の記載が無いことMake: Anthropic Claude2026-10-13
Google Sheets の Add a Row・Search Rows などのモジュール。「列の見出しを列のIDとして使う」をはいにすると列の並びを変えても崩れないこと。値の入れ方の User entered と Raw の違いMake: Google Sheets modules2026-10-13
PDF を URL・base64 の document ブロック・Files API の file_id で渡せること。1回の要求の上限が32MBで、パスワードや暗号化の無い標準のPDFが対象であること。各ページの文字がページの画像と一緒に扱われること。文字のトークンが1ページあたり1,500〜3,000が目安で、PDFに追加の料金が無いことClaude API Docs: PDF support2026-10-13
構造化出力を output_config.format に JSON スキーマで指定すること。オブジェクトの additionalProperties を false にする必要があり、数値や文字数の制約に対応しないことClaude API Docs: Structured outputs2026-10-13

請求の金額が妥当か、支払うか、事務所に減額を求めるかは、知財部と経理で決めてください。 本記事は公式ページで確認できた範囲だけを扱っています。

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

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

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

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