家政婦紹介所が手書きの就業の報告書を読み取り、利用者ごとの請求と家政婦ごとの支払いの明細を作る
家政婦が就業の日ごとに手書きする報告書を読み取り、1日1行の就業の台帳にそろえます。その同じ行から、利用者ごとの請求の明細と家政婦ごとの支払いの明細を作ります。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- その他/人材/介護
- 対象部門
- 経理
- 対象業務
- データ入力・転記/集計・分析
- 主な課題
- 人手が足りない/入力作業が多い/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 家政婦が就業の日の終わりに報告書を書き、利用者に確認の欄へ印かサインをもらう
- 家政婦が月末に、その月の報告書をまとめて事務所に持ってくるか郵送する
- 事務の担当者が報告書を利用者ごとに分け、日付の順に並べる
- 1枚ずつ、開始と終了の時刻と休憩から就業の時間を出し、請求の表の利用者の欄に打ち込む
- 交通費と立替金を、契約の表の取り決めと見比べて打ち込む
- 利用者ごとに、契約の表の時給を掛けて賃金を出し、手数料表から紹介手数料を出して、請求の明細を作る
- 報告書を家政婦ごとに並べ直し、同じ時刻と交通費を支払いの表に打ち込んで、支払いの明細を作る
- 人家政婦が就業の日の終わりに報告書を書き、利用者に確認の欄へ印かサインをもらう(様式は第7章のとおり少し直す)
- 人家政婦が、週に1回、その週の報告書をスマートフォンで撮って事務所の受付の宛先に送る。紙は月末に持ってくる
- 自動毎晩決まった時刻に Python の処理が動き、届いた画像を Document AI で読み取る
- 自動時刻と休憩の書式をそろえ、就業の時間を規則で出す。確認の欄に印があるかを見る
- 自動生成AIが、作業の内容の書き方と交通費の経路の書き方を、決まった区分にそろえる
- 自動利用者の契約の表と照らし、交通費が取り決めに合うかを見る。合わない行と確認の欄の空いた行に印を付ける
- 自動1日1行の就業の台帳に行を足す。印の付いた行は確認の一覧に出す
- 人事務の担当者が週に2回、確認の一覧だけを見て、必要なら家政婦か利用者の家族に確かめて直す
- 自動月末に、就業の台帳から利用者ごとの請求の明細と、家政婦ごとの支払いの明細を作る
- 人事務の担当者が月末に届いた紙と画像を照らし合わせ、明細を確かめてから送る
各工程の詳しい説明を読む
- 家政婦が就業の日の終わりに報告書を書き、利用者に確認の欄へ印かサインをもらう
- 家政婦が月末に、その月の報告書をまとめて事務所に持ってくるか郵送する
- 事務の担当者が報告書を利用者ごとに分け、日付の順に並べる
- 1枚ずつ、開始と終了の時刻と休憩から就業の時間を出し、請求の表の利用者の欄に打ち込む
- 交通費と立替金を、契約の表の取り決めと見比べて打ち込む
- 利用者ごとに、契約の表の時給を掛けて賃金を出し、手数料表から紹介手数料を出して、請求の明細を作る
- 報告書を家政婦ごとに並べ直し、同じ時刻と交通費を支払いの表に打ち込んで、支払いの明細を作る
(a)同じ報告書を2回めくる。 4番から6番で利用者の順に、7番で家政婦の順に、同じ900枚を見ます。写し違いはたいてい片方だけに起きるので、請求の合計と支払いの合計がずれて、どこでずれたかを探すのにまた束をめくります。
(b)時刻の書き方がそろわない。 「9:00〜16:00」「9時〜4時」「9-16」が混ざり、休憩の欄は「1h」「60」「昼」と書かれます。「4時」が16時なのか、泊まりのお宅の朝の4時なのかは、そのお宅の契約を知っている人にしか分かりません。
(c)確認の欄の空いた報告書が混ざる。 利用者が入院中で家族が不在の日、認知の衰えた方で印の場所が分からない日など、確認の欄が空いたまま届く報告書が毎月何枚かあります。 忙しい月はそのまま請求に入り、後で家族から問い合わせが来て、事務所に何も残っていないことに気づきます。
(d)交通費が取り決めと合わない。 定額のお宅で実費が書かれていたり、掛け持ちの日に2軒分の往復が書かれていたりします。
(e)手数料を家政婦の側から引いてしまう。 支払いの表を作るときに、請求の表の行をそのまま写し、紹介手数料の行まで家政婦の支払いから差し引いてしまう写し方が、担当者が替わったときに起きます。
- 【人】 家政婦が就業の日の終わりに報告書を書き、利用者に確認の欄へ印かサインをもらう(様式は第7章のとおり少し直す)
- 【人】 家政婦が、週に1回、その週の報告書をスマートフォンで撮って事務所の受付の宛先に送る。紙は月末に持ってくる
- 【自動】 毎晩決まった時刻に Python の処理が動き、届いた画像を Document AI で読み取る
- 【自動】 時刻と休憩の書式をそろえ、就業の時間を規則で出す。確認の欄に印があるかを見る
- 【自動】 生成AIが、作業の内容の書き方と交通費の経路の書き方を、決まった区分にそろえる
- 【自動】 利用者の契約の表と照らし、交通費が取り決めに合うかを見る。合わない行と確認の欄の空いた行に印を付ける
- 【自動】 1日1行の就業の台帳に行を足す。印の付いた行は確認の一覧に出す
- 【人】 事務の担当者が週に2回、確認の一覧だけを見て、必要なら家政婦か利用者の家族に確かめて直す
- 【自動】 月末に、就業の台帳から利用者ごとの請求の明細と、家政婦ごとの支払いの明細を作る
- 【人】 事務の担当者が月末に届いた紙と画像を照らし合わせ、明細を確かめてから送る
8番目が、この設計の分かれ目です。 事務の担当者が見るのは全行ではなく、確認の欄の空いた行、時刻の合わない行、取り決めに合わない交通費の行だけです。印の無い行は、読み取った値がそのまま台帳に入ります。
9番目で、請求と支払いを同じ台帳から作ります。 利用者ごとに足すか、家政婦ごとに足すかが違うだけで、元の行は1つです。 請求の合計のうち賃金と交通費の部分は、支払いの合計と必ず一致します。
02今回想定するシステム構成
就業の報告書(A5・1日1枚。手書きの時刻・作業・交通費・立替金・確認の欄) │ 家政婦が週に1回スマートフォンで撮って送る ▼【トリガー】毎晩21時に Python の処理が動く Python(取り込みの処理) ├──▶ 1枚1ファイル、向き、ピンぼけの確認 ▼ Google Document AI(Form Parser) │ 上の欄のキーと値、作業と交通費の表の行とセル、作業の区分と確認の欄のチェック ▼ Python ── 時刻の書式と就業の時間、契約の表との照らし合わせ ▼ Claude API(構造化出力)── 作業の内容と交通費の経路の書き方をそろえる ▼ Python ── 就業の台帳への追記、確認の一覧 ▼ 【事務の担当者が印の付いた行だけ確かめる】 ▼ Python ── 月末に、利用者ごとの請求の明細と家政婦ごとの支払いの明細
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Document AI(Form Parser) | Azure AI Document Intelligence(レイアウト モデル)、AWS Textract(英文の書類に限る。日本語の報告書には使えない) |
| 生成AI | Claude API(作業の内容と交通費の経路の書き方のそろえ方。構造化出力) | OpenAI API、Gemini API |
| 連携 | Python(読み取りの呼び出し、契約の表の参照、就業の台帳への追記) | Google Apps Script |
| 集計 | Python(利用者ごと・家政婦ごとの月の合計と明細) | Google Apps Script |
| 保管 | 事務所の共有フォルダ(報告書の画像、就業の台帳、明細) | Google ドライブ |
利用者と家政婦の台帳、契約の表、手数料表は、いま使っているものです。 足すのは2つの表です。利用者ごとの契約の表を、時給の区分(家事・身の回りの世話・早朝・夕方以降)、交通費の取り決め(実費・定額・無し)と上限、立替の可否の列にそろえたものと、家政婦ごとの就業先の一覧(利用者、曜日、通常の時間帯)です。1つ目が金額の元になり、2つ目が「この日にこのお宅にいるはずか」を確かめる元になります。
土台は Document AI の Form Parser です。 公式の説明では、Form Parser はキーと値のペア、表、チェックボックスを取り出し、学習済みで追加の学習はできないとされています。公式のプロセッサ一覧では、日本語(ja)は手書きに対応する言語に入っています。報告書の上の欄(日付・家政婦・利用者)はキーと値のペア、時刻と交通費は表、作業の区分と確認の欄はチェックボックスとして読みます。
処理する場所に、日本のリージョンはありません。 公式のプロセッサ一覧では、Form Parser の対応リージョンは us・eu と、シンガポール(asia-southeast1)、ムンバイ(asia-south1)などです。報告書には利用者の氏名と住まいの地域、身の回りの世話の中身が載ります。国外で処理することを、紹介所の個人情報の扱いの決まりで整理してから本番の報告書を回します。
03どうやって実装するのか
処理の起点を決める
毎晩21時に、Python の処理が動きます。 動かす先は事務所のパソコンでも、小さなサーバーでも構いません。Windows のタスクスケジューラのような、決まった時刻に処理を呼び出す仕組みで足ります。家政婦が送った画像は、その日の夜のうちに読み取られ、翌日には確認の一覧に出ています。
画像を送るのは家政婦の仕事にしますが、週に1回で構いません。 毎日送るのは負担が大きく、紙の報告書は利用者のお宅に置いておく人もいます。週末にその週の分を1枚ずつ撮り、事務所の受付のメールの宛先か共有の受付の場所に送ってもらいます。 1通に何枚付いていても、処理の側で1枚1ファイルに分けます。
月末に届く紙は、元の記録として残します。 画像が届かなかった報告書は、紙が届いた時点で事務の担当者がスキャンして受付の場所に置きます。処理の終わった画像は月ごとのフォルダへ移し、移すのは台帳に行を足し終えたときだけにします。 受付の場所に残っている画像が、そのまま台帳に入っていない報告書です。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 報告書の画像 | 就業の日、家政婦の氏名、利用者の氏名。時刻の表(開始・終了・休憩)。作業の区分(掃除・洗濯・調理・買い物・身の回りの世話・付き添い・その他)と作業の内容の文。交通費の表(経路・金額)。立替金(品名・金額・レシートの有無)。利用者の確認の欄 | 受付の場所 |
| 読み取り結果 | キーと値のペア、表の行とセル、チェックボックスの状態、文字の位置 | Document AI |
| 契約の表 | 利用者、時給の区分と額、交通費の取り決めと上限、立替の可否 | 事務の担当者の表 |
| 就業先の一覧 | 家政婦、利用者、曜日、通常の時間帯、開始と終了の日 | 紹介の担当者の表 |
| 手数料表 | 紹介手数料の種類と額の決め方 | 紹介所が届け出た手数料表 |
| 家政婦の台帳 | 氏名、報告書に書く略した名前、振込先 | 事務の担当者の表 |
質を決めるのは、就業先の一覧です。 報告書の利用者の欄は、家政婦が「〇〇様」「〇〇さん宅」「〇〇(奥様)」と書き、同じ苗字のお宅が2軒あることもあります。家政婦と曜日で就業先の一覧を引けば、多くの行は利用者の欄を読まなくても決まります。 利用者の欄の文字は、その確かめに使います。
契約の表は、金額を出すためだけでなく、交通費の行を確かめるために使います。 定額の取り決めのお宅で実費が書かれていたら、どちらで払うかを事務の担当者が決めます。取り決めの無い交通費は、請求にも支払いにも入れません。
データの取得方法を決める
読み取りは、Python から Document AI の REST の process のメソッドを呼びます。公式の説明では、https://LOCATION-documentai.googleapis.com/v1/projects/.../processors/PROCESSOR_ID:process に、rawDocument として画像を base64 にした内容と MIME タイプを付けて送ります。版を固定したいときは、processorVersions の下の :process に送ります。 版を変えると読み取りの結果が変わりうるので、版を変える前に第8章の30枚で読み比べます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 就業の日・家政婦・利用者 | pages[].formFields の fieldName と fieldValue | 行の日付と、就業先の一覧の引き当て |
| 時刻の行 | 1つ目の表の headerRows と bodyRows | 開始・終了・休憩 |
| 交通費と立替金の行 | 2つ目の表の bodyRows | 経路・金額、品名・金額 |
| 作業の区分 | チェックボックスの fieldValue の valueType | どの作業をしたか |
| 確認の欄 | 「確認」の枠の中の文字と、印の有無の欄 | 利用者が確かめたか |
| 文字の位置 | textAnchor の startIndex と endIndex | 疑いのあるセルの画像の切り出し |
作業の区分は、表の外の四角のチェック欄にします。 公式の説明では、チェックボックスは近くの文字をキーとするキーと値のペアとして取り出され、valueType で印が有るか無いかが示されます(filled_checkbox/unfilled_checkbox)。表の中のチェックボックスは ✓(印あり)や ☐(印なし)の文字で表されます。丸で囲む形の欄は、チェックボックスとして読めないので、四角に変えます。公式の説明では、ラジオボタンの読み取りには対応していないとされています。
確認の欄は、印やサインを読み取ろうとしません。 印の形や筆跡で本人かどうかを見分けるのは、この構成の仕事ではありません。様式に「確認済み」の四角のチェック欄を足し、その横に印かサインをもらいます。 仕組みが見るのは、チェック欄に印があるかと、欄の中に何か書かれているかの2つだけです。
空いたセルは、空として扱います。 公式の説明では、Form Parser は値の入っていないキーと値のペアを確実には読めないとされています。休憩の欄が空のときは、休憩を取らなかったとは見なさず、契約の表の決まりの休憩を仮に置いて、置いたことを行に残します。
AIへ渡す前に整形する
- 1枚1ファイルの確認 … 公式のプロセッサ一覧では、Form Parser の同期の処理は1回15ページまでです。報告書は1枚1ファイルにし、まとめて撮った画像は分けます
- 向きと傾きの確認 … 横向きや斜めに撮られた画像は、向きを直してから送ります
- ピンぼけの確認 … 画像の鋭さを測り、一定より低いものは読み取りに送らず、家政婦に撮り直しを頼みます
- 就業先の引き当て … 家政婦と就業の日の曜日で、就業先の一覧からその日のお宅を引きます。2軒ある日は、時刻の行の数と合うかを見ます
- 時刻の書式のそろえ … 「9:00」「9時」「900」を時刻にそろえます。「4時」のような12時間制の書き方は、そのお宅の通常の時間帯で午前か午後かを決め、決めたことを行に残します
- 就業の時間の確かめ … 終了から開始と休憩を引いた時間が、通常の時間帯から大きく外れていないかを見ます
- 重複の確かめ … 同じ家政婦・同じ日・同じお宅の行がすでに台帳にあれば、足さずに止めます
5番目の読み替えは、通常の時間帯で1つに決まるときだけにします。 午前と午後のどちらとも取れる時刻は、決めずに確認に回します。泊まりのお宅では、朝の4時と夕方の4時のどちらもありうるからです。
時刻を規則で直すことはしません。 「15:30」を通常の「16:00」に合わせると、本当に早く上がった日の賃金が増え、利用者に余計に請求します。 疑いの印を付けて、家政婦に確かめます。
AIに処理させる
時刻の計算、就業の時間、契約の表との照らし合わせ、金額の計算、集計は、Python の規則で行います。 生成AIには、作業の内容の文と交通費の経路の文を、決まった区分にそろえる仕事だけを渡します。
| 規則で見るもの | 印を付ける条件 |
|---|---|
| 確認の欄 | 「確認済み」のチェック欄に印が無い、または欄の中に何も書かれていない |
| 就業先 | 就業先の一覧で、その曜日にそのお宅が無い |
| 時刻 | 開始より終了が前、午前か午後かが決まらない、書式として読めない |
| 就業の時間 | 通常の時間帯から大きく外れる |
| 時給の区分 | 早朝・夕方以降の時間帯にかかるのに、契約の表にその区分が無い |
| 交通費 | 取り決めが定額なのに実費の記載、上限を超える、取り決めが無い |
| 立替金 | 立替の可否が「否」のお宅、またはレシートの有無の欄が空 |
| 生成AIにさせること | 中身 |
|---|---|
| 作業の内容のそろえ方 | 掃除・洗濯・調理・買い物・身の回りの世話・付き添い・その他に分け、根拠にした語を写す |
| 交通費の経路のそろえ方 | 出発・到着・乗り物・往復か片道かに分け、根拠にした語を写す |
| 区分とチェック欄の食い違いの指摘 | 文に書かれた作業と、チェック欄の印が合わないときに知らせる |
3つ目は、時給の区分に関わるので入れています。 チェック欄は「掃除」だけなのに文に「入浴の見守り」とあれば、身の回りの世話の時給が当たるかもしれません。生成AIには食い違いがあったことだけを返させます。
| させないこと | 理由 |
|---|---|
| 時刻と時間の補正 | 疑いの印を付け、家政婦に確かめる |
| 時給の区分の決定 | 契約の表と人の判断で決める |
| 交通費の取り決めへの当てはめ | 契約の表から Python が見る |
| 金額・手数料の計算 | 契約の表と手数料表から Python が出す |
| 確認の欄の有無の判断 | チェック欄の読み取りの結果をそのまま使う |
| 利用者のお宅の様子の要約 | 身の回りの世話の記載は請求に要らない |
4行目を生成AIに渡さないのは、紹介手数料の扱いに法令の決まりがあるからです。 職業安定法は、有料職業紹介の事業者が手数料を受け取れるのを、省令で定める種類と額か、届け出た手数料表に基づく場合に限っています。手数料は手数料表のとおりに Python が出し、生成AIの答えが金額に入る経路を作りません。
指示内容を固定する
あなたは家政婦紹介所の事務の補助です。
就業の報告書に書かれた作業の内容の文と、交通費の経路の文を、
決まった区分にそろえてください。
【渡すもの】
- 作業の内容の文
- 作業の区分のチェック欄の結果(印のある区分の一覧)
- 交通費の行:経路の欄の文字、金額の欄の文字
【作業の内容の分け方】
- cleaning(掃除)、laundry(洗濯)、cooking(調理)、shopping(買い物)、
personal_care(身の回りの世話)、escort(付き添い)、other に分ける。
1つの文に複数あれば複数返す。
- 根拠にした語を evidence にそのまま写す。
- 文に書かれた作業が、チェック欄の印のある区分に無いときは、
mismatch に true を入れ、その区分を mismatch_kinds に入れる。
【交通費の経路の分け方】
- 出発、到着、乗り物(電車・バス・徒歩・自転車・その他)、
往復か片道かに分ける。
- 書かれていない項目は「不明」とする。補わない。
【厳守事項】
- 時刻、時間、金額を書き換えない。計算しない。
- 時給の区分、交通費を払うかどうか、手数料について何も書かない。
- 利用者や家族の様子、体調、家の中のことを要約しない。
- 読めない文字は「?」のまま残す。
【作業の内容】{work_text}
【チェック欄の結果】{checked_kinds}
【交通費の行】{fare_rows}
「時給の区分について何も書かない」を明記しないと、「身の回りの世話のため時給の区分は介助」と書き足します。 書かれた答えがもっともらしいほど、事務の担当者はそのまま使います。区分の判断を返す欄そのものを、出力の形から外しておきます。
構造化出力で、答えの形を固定します。 公式の説明では、Claude API の構造化出力は output_config.format に type: "json_schema" でスキーマを渡し、オブジェクトには additionalProperties: false が要ります。作業の区分と乗り物は enum で決まった値に限ります。金額の上限のような数の制約は、スキーマではなく Python の側で確かめます。 公式の説明では、数値の minimum・maximum のような制約には対応しておらず、配列の minItems は0か1しか使えません。
出力形式を固定する
{
"work": [
{ "kind": "cleaning", "evidence": "居間・台所 掃除" },
{ "kind": "shopping", "evidence": "スーパーで買い物" },
{ "kind": "personal_care", "evidence": "入浴の見守り" }
],
"mismatch": true,
"mismatch_kinds": ["personal_care"],
"fares": [
{ "row": 1, "from": "〇〇駅", "to": "△△駅", "mode": "train",
"round_trip": "round", "evidence": "〇〇→△△ 往復" }
]
}
Python は、この JSON と規則の結果を合わせて、就業の台帳の1行を作ります。
| 列 | 出どころ |
|---|---|
| 就業の日、家政婦、利用者 | 読み取り、就業先の一覧 |
| 開始・終了・休憩、就業の時間、時間帯の区分 | 読み取り、Python |
| 作業の区分、食い違いの印 | 読み取り(チェック欄)、プロンプト |
| 交通費(経路・金額・取り決めに合うか) | 読み取り、プロンプト、契約の表 |
| 立替金(品名・金額・レシートの有無) | 読み取り |
| 確認の欄の有無、確認の印、直した記録 | 読み取り、Python、事務の担当者 |
月末の明細は、この台帳を2通りに足し上げて作ります。
【請求の明細】 利用者:〇〇様 期間:10月1日〜10月31日
就業:12日 延べ 72.0時間(家事 60.0/身の回りの世話 12.0)
賃金:契約の表の時給による(家政婦へお渡しする分)
交通費:12日分(定額)(家政婦へお渡しする分)
立替金:3件(レシート添付)
紹介手数料:手数料表による
確認待ち:なし
【支払いの明細】 家政婦:△△さん 期間:10月1日〜10月31日
〇〇様:12日 72.0時間 賃金・交通費
□□様:8日 32.0時間 賃金・交通費
立替金の精算:3件
※紹介手数料の行はありません
支払いの明細には、紹介手数料の行を作りません。 職業安定法は、有料職業紹介の事業者が求職者から手数料を受け取ることを、省令で定める場合を除いて禁じています。手数料の行は請求の側にしか出さない作りにします。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付の場所 | 毎晩の処理が読む | 未処理の報告書の画像を集める |
| Document AI | REST の process | 報告書を読み取る |
| 契約の表・就業先の一覧・手数料表 | ファイルの読み取り | 照らし合わせと金額の元 |
| Claude API | REST | 作業の内容と交通費の経路のそろえ方 |
| 就業の台帳 | ファイルへの追記 | 1日1行 |
| 会計ソフト・ネットバンキング | 明細を人が見てから入れる | 請求と支払い |
会計ソフトとネットバンキングには、仕組みから直接書き込みません。 月末の明細を事務の担当者が確かめてから、請求書を出し、振込を作ります。振込の誤りは、家政婦の暮らしに直接ひびきます。 仕組みが出すのは明細までにします。
人が確認する
事務の担当者は、週に2回、確認の一覧だけを見ます。
- 確認の欄の空いた行を先に見る … 家政婦に事情を聞き、利用者の家族に電話で就業の日と時間を確かめます。確かめた日時と相手を行に残します
- 時刻の合わない行を見る … 切り出したセルの画像を見て、読み違いか書き違いかを確かめます。書き違いなら家政婦に聞きます
- 交通費の合わない行を見る … 契約の表の取り決めで払うか、家政婦に確かめます。取り決めを変えるなら、紹介の担当者が利用者と話します
- 作業の区分の食い違いを見る … 身の回りの世話の時給が当たるかを、契約の表と家政婦の話で決めます
- 月末に紙と画像を照らし合わせる … 紙の確認の欄と、画像の確認の欄が同じかを見ます
直したときは、直した人と理由を台帳の行に残します。 報告書の画像と紙はそのまま残し、どの値を何から何に直したかが後から追えるようにします。
目標は、900枚をならして1枚1分です。 印の付く行が週に十数行という想定です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 画像がピンぼけ・影で読めない | 読み取りに送らず、家政婦に撮り直しを頼む |
| 確認の欄が空いている | 金額を出さずに止め、家政婦と利用者の家族に確かめる |
| 就業先の一覧に無いお宅 | 紹介の担当者に、紹介の手続が済んでいるかを確かめる |
| 同じ家政婦の同じ日の報告書が2枚 | 片方を保留にし、2軒を回った日か重複かを確かめる |
| 午前か午後かが決まらない時刻 | 決めずに家政婦に確かめる |
| 取り決めの無い交通費 | 請求にも支払いにも入れず、紹介の担当者に回す |
| 立替金のレシートが無い | 請求に入れずに止め、家政婦にレシートの有無を確かめる |
| 利用者が入院・施設へ移った | 就業先の一覧の終わりの日を入れ、その日より後の行を止める |
| Document AI が応答しない | 受付の場所に残し、翌晩に再び読む |
2行目は、請求の前に止めることに意味があります。 請求したあとで「その日は来ていない」と言われると、家政婦に渡したお金を戻してもらう話になります。
記録を残す
- 報告書の画像と、送った日時・送った家政婦、月末に届いた紙のスキャン
- Document AI が返した JSON の全文と、使ったプロセッサの版
- 規則の結果、生成AIのそろえ方、そのとき参照した契約の表と就業先の一覧の版
- 事務の担当者が直した記録 … どの値を、何から何に、なぜ直したか。確認の欄の空いた日を誰に確かめたか
- 月ごとの請求の明細と支払いの明細、送った日、振り込んだ日
- 紙と画像の照らし合わせの結果
3つ目で契約の表の版を残すのは、時給や交通費の取り決めが途中で変わるためです。 当時の表が残っていないと、後から聞かれたときに説明できません。
04実装レベルの3段階
半自動化で、1枚4分が1分になります。この段階が本記事の想定です。 時刻の読み替えと打ち込み、交通費の見比べ、家政婦ごとの並べ直しが無くなり、事務の担当者は印の付いた行を見るだけになります。 本格構成は、振込の誤りを止める手順が決まってからにします。 2名のうち1名が作り、もう1名が明細と照らして承認する手順を先に決めます。 半自動化の間に、確認の欄で止まった行と、交通費で止まった行を毎週数えます。 前者が減らなければ様式の説明が足りず、後者が減らなければ契約の表が実際と合っていません。
05工数削減シミュレーション
導入後 900件 × 1分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 個人のお宅に家政婦を紹介し、家政婦が就業の日ごとに紙の報告書を書いて、月末に事務の担当者が表計算のファイルへ打ち込み、利用者への請求と家政婦への支払いの明細を手で作っている家政婦紹介所。登録している家政婦が数十名いて、1人が複数のお宅を掛け持ちし、利用者ごとに時給や交通費の取り決めが違う場合。利用者から家政婦の賃金と交通費を預かって家政婦に渡す運用を、利用者・家政婦との取り決めとして整えている場合。
- 登録している家政婦が数名で、月末の打ち込みが数時間で終わる紹介所。家政婦が就業の記録をすでにスマートフォンのアプリで入れ、請求と支払いの明細が自動で出ている紹介所。家事代行の会社のように、スタッフを自社で雇って作業を請け負う形の事業者(請求と給与の作り方が違います)。なお、手数料表の作り方、賃金の受け渡しの形が許可の条件や契約に合うかの判断、家政婦と利用者の間の行き違いの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の報告書から30枚を選ぶ(2軒を回った日、確認の欄の空いた日、交通費の書き方が人によって違う報告書を入れる)
- その30枚について、当時請求の表と支払いの表に打ち込んだ行を出しておく
- 報告書の画像から利用者と家政婦の氏名を黒く塗り、手元のAIサービスの画面に1枚ずつ貼り付ける
- 「この報告書の時刻の表を、開始・終了・休憩の列で、交通費の表を経路・金額の列で書き出してください。作業の区分のチェック欄と、確認済みのチェック欄に印があるかも書いてください。時刻を直さず、書かれていないものは『不明』としてください」と指示する
- 出てきた表を、当時の請求の表と支払いの表の行と1行ずつ突き合わせる
30枚は必ずやってください。 組む前に、「手書きの時刻と交通費が表として読めるか」と「確認の欄の印の有無を取り違えないか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 時刻と交通費が当時の表と合った | Form Parser と契約の表の連携に進む |
| 「4時」を勝手に16時にした | 指示の書き方と規則で直る。構成は有効 |
| 確認の欄の印を読み違える | 様式が先。 確認済みの四角のチェック欄を足す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 確認の欄の印を読み違える | 確認済みの四角のチェック欄を足し、印の形は読まない |
| 丸で囲む作業の区分が読めない | 四角のチェック欄に変える。ラジオボタンは読めない |
| 空いた休憩の欄が0分になる | 契約の表の決まりの休憩を仮に置き、置いたことを残す |
| 「4時」を午前か午後か決めつける | 通常の時間帯で1つに決まるときだけ読み替える |
| 週の画像と月末の紙で行が二重になる | 紙のスキャンは照らし合わせにだけ使う |
| 支払いの明細から手数料を引く | 手数料の行は請求の側にしか作らない |
| 時給の区分を生成AIが決める | 区分を返す欄を出力の形に置かない |
| 入院した利用者の就業先が残る | 連絡を受けた日に就業先の一覧の終わりの日を入れる |
上の5行が、この構成の失敗のほとんどです。 どれも、報告書の様式と届け方が読み取りに合っていないことから出ています。 直すのは仕組みより先に、報告書です。
下の3行は、決まりごとが作りに落ちていないことから出ています。 とくに6行目は、担当者が替わったときにだけ起きるので気づきにくい失敗です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 利用者の氏名と住まいの地域、身の回りの世話の中身、家政婦の氏名と働いた時間、交通費の経路、立替金の品名、振込先です。高齢の方の暮らしの様子が、報告書の文に出ることがあります。
- 国外のリージョンで処理することを整理する … Form Parser の対応リージョンに日本はありません。紹介所の個人情報の扱いの決まりに照らし、利用者と家政婦への説明をそろえてから本番の報告書を回します
- 生成AIに渡す範囲を絞る … 作業の内容の文と交通費の経路の文だけを渡し、氏名、住まい、身の回りの世話の細かい記載は渡しません
- 手数料と賃金の計算を仕組みの規則に置く … 紹介手数料は届け出た手数料表のとおりに出し、家政婦の支払いから手数料を引く作りにしません
- 賃金の受け渡しの形を確かめる … 紹介所が利用者から賃金を預かって家政婦に渡す運用が、自所の許可の条件と、利用者・家政婦との取り決めに合っているかを、顧問の社労士に確かめてください
- 紙の報告書を元の記録として残す … 直しは台帳の行の側で行い、画像と紙と直した記録を残します
誤りが起きた場合のリスクは、来ていない日を請求することと、家政婦に渡す金額を違えることの2つです。 前者は確認の欄の空いた行を流すと起き、後者は請求と支払いを別々に作ると起きます。どちらも、確認の欄を金額の前に見ることと、1つの台帳から両方の明細を作ることで防ぎます。
10まず何から始めるか
1週目:様式を直す
報告書の作業の区分を四角のチェック欄にし、「確認済み」の四角のチェック欄を確認の欄の横に足します。交通費の表のセルの結合を無くし、往と復を行に分けます。家政婦の皆さんに、撮り方(明るい場所で真上から)と送り方を説明します。
2週目:30枚で試す
先月の報告書を30枚選び、氏名を塗ったうえで手元のAIサービスで読み取らせます。確認の欄の印の有無を取り違えていないかと、「4時」のような時刻を勝手に読み替えていないかを最優先で見ます。
3週目:契約の表と就業先の一覧を作る
利用者ごとの時給の区分と交通費の取り決めを、紹介の担当者と契約書から表に起こします。家政婦ごとの就業先と曜日の一覧も作ります。国外で処理することの扱いと、賃金の受け渡しの形の確かめも、この週に始めます。
4週目:毎晩の処理から台帳までをつなぐ
Python で受付の場所を読み、Form Parser を呼び、就業の台帳に行を足すところまで作ります。この時点では明細を作らず、いまの手作業の請求の表と並べて、利用者ごとの時間の合計が合うかを見ます。
2か月目: 月末の請求と支払いの明細の処理を足し、手作業の明細と並べて1か月比べます。3か月目以降: 1枚4分が何分になったかを実測します。月末に請求の合計と支払いの合計のずれを探す作業が無くなった時点で、この構成は運用に乗ったと言えます。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Form Parser の言語の表で、日本語(ja)が手書きに対応とされていること。Form Parser の同期の処理が15ページまで、一括の処理が100ページまでであること。対応リージョンが us・eu・asia-southeast1・asia-south1 などで、日本が含まれないこと | Google Cloud: Processor list | 2026-10-29 |
| Form Parser がキーと値のペア・表・チェックボックスを取り出し、学習済みで追加の学習ができないこと。チェックボックスが近くの文字をキーとするキーと値のペアとして取り出され、印の有無が示されること。ラジオボタンの読み取りに対応しないこと。値の入っていないキーと値のペアを確実には読めないこと | Google Cloud: Form Parser | 2026-10-29 |
フォームの項目が formFields の fieldName と fieldValue で返ること。チェックボックスの印の有無が valueType の filled_checkbox/unfilled_checkbox で示されること。表が headerRows と bodyRows で表され、表の中のチェックボックスが ✓ や ☐ の文字で表されること。文字の位置が textAnchor の startIndex と endIndex で示されること | Google Cloud: Handle the processing response | 2026-10-29 |
オンラインの処理を processors/PROCESSOR_ID:process に送り、rawDocument に base64 にした内容と MIME タイプを渡すこと。プロセッサの版の processorVersions の :process に送れること | Google Cloud: Send a processing request | 2026-10-29 |
Claude API の構造化出力を output_config.format に type: "json_schema" で指定すること。オブジェクトに additionalProperties: false が要ること。数値の minimum・maximum などの制約に対応せず、配列の minItems が0と1しか使えないこと | Claude Platform Docs: Structured outputs | 2026-10-29 |
| 有料職業紹介事業者が手数料を受け取れるのは、省令で定める種類及び額の手数料か、あらかじめ届け出た手数料表に基づく手数料に限られること。求職者からは、省令で定める場合を除き手数料を徴収してはならないこと(第32条の3) | e-Gov 法令API: 職業安定法 | 2026-10-29 |
手数料表の作り方、賃金の受け渡しの形、家政婦と利用者の契約の結び方は、管轄の労働局と顧問の社労士に確かめてください。 本記事は上の公式の情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2242)についてのご相談はこちらから。
