Media > AI活用ユースケース > 物流 > 海外から日本へ連れてくる犬・猫の英文の健康証明書と狂犬病の予防接種の証明書を読み取り、マイクロチップ・接種日・抗体検査の日を案件台帳に転記して、輸入の条件に照らした不足を到着前に拾う

海外から日本へ連れてくる犬・猫の英文の健康証明書と狂犬病の予防接種の証明書を読み取り、マイクロチップ・接種日・抗体検査の日を案件台帳に転記して、輸入の条件に照らした不足を到着前に拾う

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

海外から日本へ連れてくる犬・猫の英文の証明書と予防接種・抗体検査の書類を読み取り、マイクロチップの番号・接種日・採血日・抗体価を案件台帳に写します。日本の輸入の条件の日数と順序に照らし、不足を到着の前に拾います。

サマリー
生成AI
ChatGPT/Claude/Gemini
AIサービス
AWS Textract/Azure AI/Google Document AI
連携・自動化
Python
対象業界
その他/物流
対象部門
物流
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/工数削減/機会損失防止
導入難易度
★★★★☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
必須
現在工数
60h/月
AI導入後
18h/月
想定削減
70%
年間削減
504h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 飼い主または現地の獣医師から、証明書の下書き・予防接種の証明書・抗体検査の結果通知書・マイクロチップの記録のPDFが共有受信箱に届く
  2. 担当者が書類を開き、マイクロチップの番号と埋め込み日、生年月日を読む
  3. 予防注射の接種日、有効免疫期間、予防液の種類と製品名を読む
  4. 抗体検査の採血日、抗体価、検査施設名を読む
  5. 案件台帳に転記し、カレンダーで日数を数える(1回目の接種の日齢、1回目と2回目の間隔、採血日から到着予定日までの日数、届出の期限)
  6. 足りない処置や書かれていない欄があれば、飼い主と現地の獣医師にメールで確かめる
  7. 到着の日の40日前までに届出を出し、出発の前に輸出国の政府機関の裏書きが済んだ証明書を受け取る
導入後(After)
  1. 自動共有受信箱に届いた書類のPDFが、案件番号を付けて受付フォルダ(Amazon S3)に保存される
  2. 自動保存をきっかけに処理が動き、形式・ページ数・パスワードの有無を確かめ、書類の種類を振り分ける
  3. 自動OCRが、全文・キーと値・表・質問への答え・署名の位置を、信頼度と手書きか印字かの別を付けて返す
  4. 自動生成AIが、マイクロチップ・接種・採血・抗体価・検査施設・輸出前検査の各欄を原文のまま取り出す
  5. 自動プログラムが、案件台帳に値を書き、日付の順序と間隔、書類どうしの食い違い、届出の期限を数えて印を付ける
  6. 人担当者が、全件の要点を一覧で確かめ、印の付いたものは画像で確かめて飼い主と現地の獣医師に問い合わせる
  7. 人担当者が、必要に応じて動物検疫所に証明書の内容の事前確認を頼み、届出を出す
各工程の詳しい説明を読む
  1. 飼い主または現地の獣医師から、証明書の下書き・予防接種の証明書・抗体検査の結果通知書・マイクロチップの記録のPDFが共有受信箱に届く
  2. 担当者が書類を開き、マイクロチップの番号と埋め込み日、生年月日を読む
  3. 予防注射の接種日、有効免疫期間、予防液の種類と製品名を読む
  4. 抗体検査の採血日、抗体価、検査施設名を読む
  5. 案件台帳に転記し、カレンダーで日数を数える(1回目の接種の日齢、1回目と2回目の間隔、採血日から到着予定日までの日数、届出の期限)
  6. 足りない処置や書かれていない欄があれば、飼い主と現地の獣医師にメールで確かめる
  7. 到着の日の40日前までに届出を出し、出発の前に輸出国の政府機関の裏書きが済んだ証明書を受け取る

(a)日付の数え方を担当者が手で確かめている。 1回目の予防注射は「生後91日齢以降(生まれた日を0日目とする)」、2回目は「1回目から30日以上(接種日を0日目とする)」、待機は「採血日を0日目として180日間以上」です。起点を1日目と数えると、1日ずれます。 3名の担当者のうち、どの起点で数えたかを台帳に残している人はいません。

(b)同じ接種が2つの書類で違う。 Form AC の下書きと、現地の病院の予防接種の証明書で、接種日が1日違う、製品名が違う、有効免疫期間が1年と3年で違うことがあります。どちらかの写し間違いですが、目で読んでいると、片方しか見ていない担当者は気づきません。

(c)日付の書き方が国で違う。 04/05/2026 は、米国の獣医師なら4月5日、欧州の獣医師なら5月4日です。180日の待機の数え方は、この1つの日付で結果が変わります。

(d)不足に気づくのが到着の直前。 書類がそろってから数えると、出発の2週間前に採血日の不足が分かることがあります。

  1. 【自動】 共有受信箱に届いた書類のPDFが、案件番号を付けて受付フォルダ(Amazon S3)に保存される
  2. 【自動】 保存をきっかけに処理が動き、形式・ページ数・パスワードの有無を確かめ、書類の種類を振り分ける
  3. 【自動】 OCRが、全文・キーと値・表・質問への答え・署名の位置を、信頼度と手書きか印字かの別を付けて返す
  4. 【自動】 生成AIが、マイクロチップ・接種・採血・抗体価・検査施設・輸出前検査の各欄を原文のまま取り出す
  5. 【自動】 プログラムが、案件台帳に値を書き、日付の順序と間隔、書類どうしの食い違い、届出の期限を数えて印を付ける
  6. 【人】 担当者が、全件の要点を一覧で確かめ、印の付いたものは画像で確かめて飼い主と現地の獣医師に問い合わせる
  7. 【人】 担当者が、必要に応じて動物検疫所に証明書の内容の事前確認を頼み、届出を出す

6番目で全件を人が見るのは、到着の日に止まると取り返しがつかないからです。 印の付いた案件だけ、画像を開いて詳しく見ます。

5番目の日数の計算をAIにさせないのも意図してのことです。 日付の引き算、起点の扱い、期限の計算は、規則で決まる処理として Python に置きます。 生成AIに日数を数えさせると、もっともらしい数字を返すことがあり、その1日の誤りが、この業務ではいちばん高くつきます。

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

構成図
英文の証明書(Form AC/ATTACH)・予防接種の証明書・抗体検査の結果通知書(PDF)
   ▼【トリガー】受付フォルダ(Amazon S3)への保存/毎朝8時の期限の確認
AWS Lambda ── 形式・ページ数・パスワードの確認、書類の振り分け
   ▼
AWS Textract(StartDocumentAnalysis:FORMS/TABLES/QUERIES/SIGNATURES)
   │   全文、キーと値、表、質問への答え、署名の位置、信頼度、手書きか印字か
   ▼
Claude API ── 各欄を原文のまま取り出す
   │   ① マイクロチップの番号と埋め込み日  ② 生年月日
   │   ③ 接種日・有効免疫期間・予防液の種類・製品名・製造会社
   │   ④ 採血日・抗体価・検査施設名        ⑤ 輸出前検査の日と結果
   ▼
Python ── 台帳に書き、日付の順序と間隔・書類の食い違い・届出の期限を数える
   ▼
台帳(ok / sequence_issue / conflict / field_missing / deadline_near / needs_human)
   ▼
【担当者が全件を一覧で確認し、印の付いたものを画像で確認】
   └──▶ 飼い主・現地の獣医師に確かめ、動物検疫所への届出へ
役割想定する製品代替候補
OCRAWS Textract(StartDocumentAnalysis/GetDocumentAnalysis)Azure AI Document Intelligence、Google Document AI
生成AIClaude API(証明書の各欄の取り出し)OpenAI API、Gemini API
差異計算Python(日付の順序と間隔、書類どうしの食い違い、届出の期限)案件管理システムの計算の機能
連携AWS Lambda(保存と完了の通知を起点に処理を動かす)Amazon EventBridge
保管Amazon S3(書類、読み取り結果、計算の結果)社内のファイルサーバー

案件台帳は、新しく足すものではありません。 最初の準備は、日本の輸入の条件の日数と順序を、プログラムが読める規則の表にすることと、指定検査施設の一覧を表にすることです。どちらも動物検疫所のページに載っている内容で、変わったときに人が直す決まりにします。

OCRに AWS Textract を選ぶのは、証明書が英文だからです。 公式の上限の表で、対応言語は英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語とされ、手書きは英語のみです。 現地の獣医師が Form AC を手書きで埋めることは珍しくなく、英語の手書きを読めることが効きます。逆に、中国語や韓国語で書かれた予防接種の証明書は読めないので、人が見る一覧に回します。

質問(QUERIES)は英語の文書でしか使えません。 そして質問の対象のページを指定しないと、既定で1ページ目だけに当たります。 公式のページでは、Pages を指定しなければ ["1"] になるとされています。Form AC と ATTACH を1つのPDFにまとめて送ってくる獣医師が多く、2ページ目以降の接種の記録が質問に当たらないことになるので、Pages: ["*"] を指定します。

署名の検出(SIGNATURES)で、政府機関の裏書きの欄が空のまま届いた証明書を拾えます。 署名が本物かどうかは分かりません。

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

Step1

処理の起点を決める

起点は、受付フォルダ(Amazon S3)にPDFが保存されたことです。 共有受信箱のルールで、案件ごとに登録した飼い主と現地の獣医師のアドレスから届いたメールの添付を、件名の案件番号を付けてS3へ転送します。保存の通知で AWS Lambda が動き、読み取りから台帳への記録までを済ませます。

書類は少しずつ届くので、届くたびにその案件の全書類で計算をやり直します。 先に届いた書類だけで数えた結果は「途中」と印を付け、確定した結果と混ぜません。

毎朝8時にも1回動かします。 日付が進むことで変わる印があるからです。

毎朝見るもの印を付ける条件
届出の期限到着予定日の40日前が、14日以内に来るのに届出が出ていない
待機の不足到着予定日が、採血日を0日目として180日に届かない
有効期間の切れ到着予定日が、採血日から2年、または接種の有効免疫期間を過ぎる
輸出前検査出発予定日の10日前を過ぎたのに、検査の記録が届いていない
Step2

入力データを集める

データ中身取得元
証明書(Form AC/ATTACH)個体の情報(生年月日を含む)、マイクロチップの番号と埋め込み日、接種日・有効免疫期間・予防液の種類・製品名・製造会社、採血日・抗体価・検査施設名、輸出前検査の結果と日、政府機関の裏書き受付フォルダ(Amazon S3)
予防接種の証明書現地の病院が出す接種の記録。接種日、製品名、ロット、有効期限、次回の接種日受付フォルダ(Amazon S3)
抗体検査の結果通知書検査施設名、採血日、抗体価(IU/ml)、マイクロチップの番号受付フォルダ(Amazon S3)
読み取り結果全文、キーと値、表、質問への答え、署名の位置、信頼度と手書きか印字かの別AWS Textract
規則の表日齢・間隔・待機・有効期間・届出の期限の日数と起点、認められる予防液の種類動物検疫所のページから人が作る表
指定検査施設の一覧施設名、国、指定の状態動物検疫所のページから人が作る表
案件台帳案件番号、飼い主、犬か猫か、出発地、出発予定日、到着予定日、到着の空港、届出の状態輸入手続課のスプレッドシート

質を決めるのは、下から3つ目と2つ目の表です。 規則の表に起点の扱い(その日を0日目とする)を書いておかないと、プログラムも人と同じ取り違えをします。指定検査施設は、指定が取り消された例があります。 一覧には指定の状態と、確かめた日を持たせます。

Step3

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

読み取りは StartDocumentAnalysis にS3の場所と FeatureTypes を渡して始めます。完了は NotificationChannel に指定した Amazon SNS のトピックに通知され、状態が SUCCEEDED なら GetDocumentAnalysis で結果を取ります。

指定するもの値理由
FeatureTypesFORMS、TABLES、QUERIES、SIGNATURES欄のキーと値、接種の記録の表、名前で受け取りたい項目、裏書きの有無
QueriesConfig質問の文と Alias と Pages: ["*"] の組全ページで、値を項目名で受け取る
ClientRequestTokenファイルのハッシュ同じ書類で二重に読み取りを始めない
JobTag案件番号と書類の種類完了の通知から案件を引く
Alias質問の文
MICROCHIP_NOWhat is the microchip number?
MICROCHIP_DATEWhat is the date of microchip implantation?
VACCINE_DATESWhat are the dates of rabies vaccination?
VACCINE_TYPEWhat type of rabies vaccine was used?
BLOOD_DATEWhat is the date of blood sampling?
TITREWhat is the rabies antibody titre?
LAB_NAMEWhat is the name of the laboratory?

答えが空の項目は、全文から欄の見出しの語を探し、無ければ missing にします。

接種の記録は TABLES の表から行ごとに取ります。 質問の答えは1つの値しか返らないことがあるので、突き合わせに使います。

手書きの欄は TextType が HANDWRITING として返るので、確認の優先度を上げて一覧に出します。規則の表、指定検査施設の一覧、案件台帳は Python が読み、生成AIには渡しません。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … JPEG、PNG、PDF、TIFF であることを確かめます
  2. パスワードの確認 … PDFはパスワードで保護できないとされています。保護されたものは送り元に解除したものを頼みます
  3. サイズとページ数の確認 … 非同期の処理で、PDFとTIFFは500MB・3,000ページまでです
  4. 書類の振り分け … 1ページ目の見出しの語(Form AC、ATTACH、Vaccination、Rabies Antibody、FAVN、Microchip)で振り分けます
  5. 言語の確認 … 6言語に入らない書類は読み取りに回さず、担当者が目で見る一覧に入れます
  6. 文字の大きさの確認 … 検出できる文字の高さは15ピクセル以上で、150DPIで8ポイントに当たるとされています。写真で届いたものはスキャンし直してもらいます
  7. 案件の特定 … 件名の案件番号と、書類のマイクロチップの番号で、案件台帳の行を引きます

7番目で番号を先に引くのは、2頭の案件で書類の個体の取り違えが起きるからです。 番号が台帳に無ければ、案件を決めずに人へ回します。

Step5

AIに処理させる

させるのは、各欄を原文のまま取り出し、値が何を表すかを書き出すことです。 日付の計算と条件の照合はさせません。

見るもの取り出し方判断できないときの扱い
マイクロチップ番号(数字の列)と埋め込み日を原文のまま番号の桁が読めなければ unreadable
生年月日原文のまま。年齢だけなら年齢を書かれていなければ missing
接種回ごとに、接種日・有効免疫期間・予防液の種類・製品名・製造会社欄が空なら blank
予防液の種類原文の語(inactivated、killed、recombinant、live、RNA など)種類の語が無ければ missing
抗体検査採血日、抗体価と単位、検査施設名単位が無ければ unit_unknown
輸出前検査検査日と、所見の原文書かれていなければ missing
裏書き署名の有無、政府機関の名称の原文名称が読めなければ unreadable

日付は、原文と解釈を両方持たせます。 月が英語の名前で書かれているか、書類に日付の書式(DD/MM/YYYY など)が明記されているときだけ解釈を入れ、決まらなければ解釈を空にして ambiguous にします。 案件の出発地から日付の順序を推すことはさせません。米国にいる欧州の獣医師もいるからです。

させないこと理由
輸入の条件を満たすかの判断家畜防疫官が判断する
日数の計算起点の扱いを含めて Python が数える
日と月の順序の補完推して決めると、待機の日数の判定がずれる
Form AC の空欄を、予防接種の証明書の値で埋めることどちらの書類に書かれた値かが消える
マイクロチップの番号の補完桁を足すと、別の個体の番号になる

4行目がいちばん起きやすい失敗です。 2つの書類を一緒に渡すと、Form AC の空いた欄を病院の証明書の値で埋めて返し、Form AC の書き漏れが消えます。 書類は1通ずつ渡します。

Step6

指示内容を固定する

あなたはペットの輸送代行会社で、犬・猫の輸入に使う英文の書類の
記載を記録する担当です。
OCRの読み取り結果だけを使ってください。推測で埋めないでください。
渡すのは1通の書類だけです。他の書類の値で埋めないでください。

【取り出す項目】
document_type、animal(species_raw、name_raw、birth_date_raw、birth_date、age_raw)、
microchip(number_raw、implant_date_raw、implant_date)、
vaccinations(配列:date_raw、date、valid_until_raw、validity_raw、
  vaccine_type_raw、product_raw、manufacturer_raw)、
antibody(blood_date_raw、blood_date、titre、titre_unit_raw、lab_name_raw)、
clinical_exam(date_raw、date、finding_raw)、
endorsement(signature_detected、authority_raw)、
handwritten_fields(配列)、date_format_stated(書類に書かれた日付の書式)

【status の選び方】
- ok ............. 値が読み取れており、その欄として解釈できる
- blank .......... 欄はあるが空
- missing ........ 欄そのものが見当たらない
- unreadable ..... 文字は検出されているが値として確定できない
- ambiguous ...... 候補が複数ある、または日付の日と月の順序が決まらない
- unit_unknown ... 抗体価の単位が決まらない

【厳守事項】
- 日付は、月が英語の名前で書かれているか、書類に日付の書式が明記されて
  いるときだけ YYYY-MM-DD で解釈を入れてください。決まらなければ解釈を
  空にし、ambiguous にしてください。国や地域から推さないでください。
- 日数を数えないでください。条件を満たすかも書かないでください。
- マイクロチップの番号は、読めた数字だけをそのまま入れてください。
  桁を補わないでください。
- 予防液の種類は、書かれた語をそのまま写してください。
  製品名から種類を推さないでください。
- 抗体価は数値と単位を分けてください。単位を換算しないでください。
- 接種が複数あるときは、書かれた順に配列に入れてください。
- 輸入できるか、係留が要るかを書かないでください。
- 犬・猫の輸入の書類でないと判断した場合は、項目を取り出さず
  document_type に種類を書いてください。

【書類の種類の見込み】{document_type_hint}
【読み取り結果】{textract_result}

「国や地域から推さない」を書かないと、米国の案件の 04/05/2026 を4月5日と決めて返します。 獣医師が欧州の書き方なら、待機の日数が1か月ずれます。

Step7

出力形式を固定する

Claude API の構造化出力(output_config.format に json_schema を指定)で、書類ごとに次の形のJSONを受け取ります。

{
  "file": "",
  "document_type": "form_ac",
  "microchip": { "number_raw": "392141000123456", "implant_date_raw": "12 Jan 2026", "implant_date": "2026-01-12" },
  "vaccinations": [
    { "date_raw": "12 Jan 2026", "date": "2026-01-12", "validity_raw": "1 year",
      "vaccine_type_raw": "Inactivated", "product_raw": "", "manufacturer_raw": "" }
  ],
  "antibody": { "blood_date_raw": "03/03/2026", "blood_date": "", "titre": 2.1,
                "titre_unit_raw": "IU/ml", "lab_name_raw": "" },
  "endorsement": { "signature_detected": false, "authority_raw": "" },
  "items": [
    { "item": "antibody.blood_date", "status": "ambiguous", "confidence": 0, "source": "" }
  ]
}

構造化出力では、数値の最小・最大の制約をスキーマに書けません。 公式のページでは、minimum や maximum といった数値の制約は対象外とされています。抗体価が0.5以上かどうかは、スキーマではなく Python の規則で見ます。

1つ目の理由は、日数の計算をプログラムの側に置けることです。 Python が案件の全書類を集め、規則の表に沿って数えて印を付けます。

印付ける条件
ok規則の表の順序と間隔をすべて満たし、書類どうしの値が合う
sequence_issue埋め込み日が1回目の接種より後、1回目が91日齢に届かない、2回目が1回目から30日に届かない、採血が2回目より前、など
conflictForm AC と予防接種の証明書・結果通知書で、日付・製品名・番号が違う
field_missing予防液の種類、検査施設名、裏書きなどが missing か blank
deadline_near届出の期限・待機・有効期間・輸出前検査のどれかが近い
needs_humanambiguous、unreadable、unit_unknown がある、検査施設が一覧に無い、6言語でない、など

2つ目の理由は、起点の扱いを規則に書けることです。 規則の表に「採血日を0日目」のように起点を書き、Python は差の日数をそのまま比べます。

Step8

システムへ連携する

つなぎ先方式内容
受付フォルダ(Amazon S3)保存の通知書類の保存を検知して AWS Lambda を動かす
AWS TextractAPI呼び出し(非同期)読み取りを始め、完了の通知で結果を取る
Claude APIAPI呼び出し各欄の取り出し
案件台帳読み取りと書き込み案件の行に値を書き、印と計算の結果を付ける
規則の表・指定検査施設の一覧読み取り日数と順序、施設の指定の状態を引く
通知メール毎朝の期限と要確認の一覧を担当者に送る

動物検疫所への届出と、飼い主・獣医師への連絡は、この構成からは行いません。 届出はNACCSか届出書で担当者が出します。届出の内容は、担当者が確かめた台帳の値から作ります。

Step9

人が確認する

担当者は全件を一覧で確かめます。 一覧には、案件ごとに日付の計算の結果、欄の埋まり方、手書きの欄、裏書きの有無を1行で出します。

  1. sequence_issue を最初に片付ける … 処置のやり直しが要るかもしれない案件です。飼い主と現地の獣医師に事実を伝え、動物検疫所への相談を勧めます
  2. deadline_near を見る … 届出の期限が近い案件は、書類がそろっていなくても届出の準備を先に進めます
  3. conflict の正しい値を確かめる … 現地の獣医師にどちらが正しいかを確かめ、Form AC を直してもらいます。証明書の訂正に修正テープや修正液を使わないよう、あわせて伝えます
  4. needs_human の値を画像で確定させる … 日付の順序、手書きの数字、検査施設名を確かめます

1番目で「やり直しが必要」と断定しないでください。 条件付きで認められる場合もあるとされており、伝えるのは数えた事実までです。

Step10

例外に対処する

起きること対応
パスワードで保護されたPDF読めない。送り元に解除したものを頼む
6言語に入らない書類読み取りに回さず、担当者が目で見る
日と月の順序が決まらないambiguous。獣医師に書式を確かめ、人が確定する
マイクロチップの番号が台帳と合わない案件を決めずに人へ。個体の取り違えを疑う
番号の前の桁が、動物検疫所が注意を出している並びneeds_human。動物検疫所の案内を担当者が確かめる
検査施設が一覧に無い、指定の状態が「取消」needs_human。到着の空港の動物検疫所への相談を飼い主に勧める
予防液の種類の語が live や RNAsequence_issue。人が確かめる
Step11

記録を残す

  • 元の書類と、受け取った日時、送り元、メールの件名
  • AWS Textract が返したJSONの全文と、使った質問の一覧
  • Claude API が返したJSON(原文と解釈の両方)
  • 日付の計算の結果と、そのとき参照した規則の表と指定検査施設の一覧の版
  • 担当者が印を覆した記録と、飼い主・獣医師への問い合わせの回答
  • 届出を出した日と、届出受理書を受け取った日

04実装レベルの3段階

最小構成:書類を手でAIの画面に貼り、各欄を表にさせ、日数は表計算で数える / 1通ごとの欄の読み取り
半自動化:上記+受付フォルダを起点に AWS Textract で読み、台帳に書き、規則の表で日数と順序を数える / 読み取り、転記、日数の計算、期限の洗い出し
本格構成:上記+依頼を受けた時点で処置の予定表を作り、現地の獣医師に次の処置の日と必要な記載を前もって知らせる / 処置の計画から書類の点検まで

本記事の想定は半自動化です。 読み取りと転記と日数の計算が自動になり、担当者は全件を一覧で確かめて印の付いた案件を問い合わせます。1件30分が9分になるのはこの段階です。 本格構成で足すのは、不足を起きる前に防ぐ仕組みです。 到着予定日から逆算した採血の締め切りを Python が出し、現地の獣医師に処置の予定として渡します。

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

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

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

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

AI活用について相談する

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

向いている
  1. 海外赴任から帰国する家族や、海外から日本へ移り住む人の犬・猫の輸送と輸入の手続きを代行するペットの輸送代行会社・引越し会社・航空貨物の代理店。指定地域以外の国から連れてくる案件が毎月100件前後あり、海外の獣医師が書いた英文の証明書を担当者が目で読んで台帳に写し、接種日や採血日の数え方を担当者が手で確かめている場合。書類の不備に気づくのが到着の直前で、係留が長くなる案件や届出の期限を過ぎる案件が出ている場合。
向いていない
  1. 犬・猫の輸入の代行が月に数件で、目で読んでも負担にならない場合。証明書が英語以外(中国語・韓国語・ロシア語など)で届くことが多い場合(この構成のOCRは英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語しか読めず、手書きは英語のみです)。指定地域(狂犬病の発生のない地域)からの案件が中心で、予防接種と抗体検査の書類が無い場合。なお、輸入の条件を満たすかどうか、係留の期間をどうするかは動物検疫所の家畜防疫官が判断するもので、この構成では代替できません。

07最小構成で試す方法

  1. 過去半年に到着した案件から30件を選ぶ(日付が 04/05/2026 のような書き方のもの、手書きの Form AC、2頭の案件、追加接種のあるものを必ず入れる)
  2. 手元の生成AIの画面に書類を1通ずつ貼り付け、「この書類のマイクロチップの番号と埋め込み日、接種日と有効免疫期間と予防液の種類、採血日と抗体価と検査施設名を、書かれたとおりに表にしてください。空欄は『空欄』、欄が無ければ『欄なし』とし、他の書類から補わないでください。日付の日と月が決まらなければ『不確定』としてください。日数は数えないでください」と指示する
  3. 出てきた表を、当時の台帳の値と、手で数えた日数と見比べる

30件は必ずやってください。 仕組みを組む前に、日付の扱いと他の書類からの補完を確かめます。

出てきた内容判断
各欄を原文どおりに取り出し、不確定な日付を分けたOCRのAPIと日付の計算の処理に進む
Form AC の空欄を病院の証明書の値で埋めた1通ずつ渡し、補完を禁じる。直るまで先に進まない
手書きの日付を読み誤った手書きの欄を人に回す。構成は有効

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

問題対策
日数の起点を1日目と数える規則の表に「0日目」を明記し、試験の例で確かめる
日と月の順序を出発地から推す月の名前か書式の明記があるときだけ確定し、それ以外は人へ
Form AC の空欄を病院の証明書で埋める書類は1通ずつ渡し、他の書類からの補完を禁じる
2ページ目以降の接種の記録が質問に当たらない質問の Pages を ["*"] にする。既定は1ページ目だけ
指定が取り消された検査施設を見逃す一覧に指定の状態と確かめた日を持たせ、毎月見直す
条件を満たすかまで判定しようとする判断は家畜防疫官のもの。 出すのは事実と日数まで

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

この構成で扱うデータ: 飼い主の氏名・住所・連絡先、犬・猫の個体の情報、マイクロチップの番号、処置の記録、出発と到着の予定です。個人の情報と、家族の転居の予定が含まれます。

  1. 外部へ渡す範囲を、読み取りに必要なものに限る … 生成AIに渡すのは書類の読み取り結果だけです。案件台帳、飼い主の連絡先の一覧、他の案件の情報は渡しません
  2. 判断の言葉を出さない … 一覧に「輸入可」「係留なし見込み」といった語を出しません。日数と欄の事実だけを出します
  3. 飼い主と獣医師への連絡を自動で送らない … 処置のやり直しに関わる連絡は、担当者が事実を確かめてから送ります
  4. 元の書類を書き換えない … 輸入検査では原本の証明書が確かめられます。読み取りのために画像を加工しても、元のPDFと原本には手を加えません

誤りが起きた場合のリスクは、日数の不足を見落としたまま到着し、係留が延びることです。 原文を残し、数える規則を1か所に置いて防ぎます。

10まず何から始めるか

1週目:規則の表を作る

動物検疫所の「指定地域以外編」のページから、日齢・間隔・待機・有効期間・届出の期限・輸出前検査の日数と起点を1行ずつ表にします。起点の扱いを、ページの書き方どおりに写します。 あわせて、指定検査施設の一覧を表にします。

2週目:30件で試す

過去半年の案件から30件を選び、手元の生成AIの画面で各欄を表にさせ、日数を表計算で数えます。日付を推さないか、他の書類で埋めないかを最優先で見ます。

3週目:日付の計算を作る

規則の表を読んで日数を数える Python を書き、過去の案件の日付の組を試験の例にして、手で数えた結果と合うかを確かめます。

4週目:受付フォルダから台帳までをつなぐ

S3、Lambda、Textract、Claude API、Python の計算をつなぎ、台帳に値と印を書くところまで作ります。この時点では、北米からの案件だけを対象にします。

2か月目: 対象を全出発地に広げ、毎朝の期限の確認を足します。sequence_issue と conflict の件数を毎週数えます。3か月目以降: 1件30分が何分になったかを実測します。到着の直前に日数の不足が分かる案件が無くなり、どの担当者でも同じ数え方で台帳を読めるようになった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-15/最終更新:2026-10-15
確認した内容情報源確認日
指定地域以外から犬・猫を輸入するには、マイクロチップ・複数回の予防注射・抗体検査などが記載された輸出国政府機関の証明書が要ること。マイクロチップは1回目の接種の前(同日可)に埋め込み、前6桁が「900202」のものは当面認められないこと。1回目の接種は生後91日齢以降(生まれた日を0日目)、2回目は1回目から30日以上(接種日を0日目)で有効免疫期間内。不活化か組換え型を有効とし、生ワクチンとRNAワクチンは認めないこと。採血は2回目の後(同日可)、指定検査施設で0.5IU/ml以上、有効期間は採血日から2年。採血日を0日目として180日間以上待機。到着の40日前までに届出。出国前10日以内に輸出前検査。証明書の記載事項と Form AC・ATTACH、修正テープ等を使わないこと。不備があると最長180日間の係留または輸入できないこと。輸入検疫証明書は再交付できないこと動物検疫所: 犬、猫の日本への入国(指定地域以外編)2026-10-15
輸入検疫の根拠法令と、家畜防疫官が犬・猫と検査証明書を検査すること。ある検査施設の指定が、指定基準に適合しないことが分かったため取り消されたこと動物検疫所: 犬、猫を輸入するには2026-10-15
指定地域以外からの手続きの流れ(マイクロチップ、複数回の予防注射、指定の検査機関での抗体価の確認、180日間の待機、40日前までの届出、政府機関の証明書)動物検疫所: 診療獣医師の皆様へ2026-10-15
対応する形式がJPEG、PNG、PDF、TIFFであること。非同期はPDFとTIFFで500MB・3,000ページ。PDFはパスワードで保護できないこと。対応言語が英・仏・独・伊・葡・西で、質問の検出は英語の文書だけ、非同期で1ページ30個まで。手書きは英語のみ。検出できる文字の高さが15ピクセル以上(150DPIで8ポイント)AWS: Set Quotas in Amazon Textract2026-10-15
StartDocumentAnalysis の FeatureTypes(TABLES/FORMS/QUERIES/SIGNATURES/LAYOUT)、QueriesConfig、ClientRequestToken、JobTag、NotificationChannel で Amazon SNS に完了を通知し、SUCCEEDED を確かめて GetDocumentAnalysis で結果を取ることAWS: StartDocumentAnalysis2026-10-15
質問の Pages を指定しないと既定で ["1"] になり、全ページは ["*"] で指定することAWS: Query2026-10-15
ブロックの種類に SIGNATURE(署名の位置と信頼度)と QUERY_RESULT があること。TextType で手書きか印字かが返ることAWS: Block2026-10-15
構造化出力を output_config.format に json_schema を指定して受け取れること。minimum・maximum などの数値の制約は対象外であることClaude Docs: Structured outputs2026-10-15

輸入の条件の細部は改正されることがあります。実際の案件では、到着する空海港の動物検疫所のページと案内を確かめてください。 本記事は公開資料で確認できた範囲だけを扱っており、条件を満たすかどうかの判断は家畜防疫官が行います。

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

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

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

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