Media > AI活用ユースケース > 経理 > ビル管理会社が手書きで記録するテナントの電気・水道の検針票を読み取り、検針値を台帳に転記して、前月比の異常と請求の元データを作る

ビル管理会社が手書きで記録するテナントの電気・水道の検針票を読み取り、検針値を台帳に転記して、前月比の異常と請求の元データを作る

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

管理員が手書きで記録したテナントの電気・水道の検針票を読み取り、指針を検針台帳に転記します。使用量を計算して前月・前年同月と比べ、異常値と読み違いの疑いを拾ってから、請求の元データを経理に渡します。

サマリー
AIサービス
AWS Textract/Azure AI/Google Document AI
連携・自動化
Python
対象業界
不動産/宿泊/小売/建設
対象部門
経理/総務
対象業務
データ入力・転記/内容確認・チェック
主な課題
人手が足りない/入力作業が多い/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
条件付き
現在工数
60h/月
AI導入後
20h/月
想定削減
67%
年間削減
480h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 管理員が区画を回り、子メーターの指針を検針票に手で書く
  2. 管理員がビルの複合機で検針票をスキャンし、本社の共有フォルダへ送る
  3. 本社の経理が検針票を1枚ずつ開き、区画ごとの指針を検針台帳に打ち込む
  4. 台帳の式で使用量が出たら、前月の使用量と目で見比べる
  5. おかしな数字があれば、管理員に電話して確かめる
  6. 確かめ終わった台帳から、テナントごとの請求の元データを作る
  7. 会計システムでテナントへの請求を作る
導入後(After)
  1. 人管理員がこれまでどおり検針票に指針を書き、ビルの複合機でスキャンして送る
  2. 自動スキャンの PDF が保管先に入ったことをきっかけに処理が動く
  3. 自動読み取りのモデルが、区画ごとの今回の指針・印の欄・備考を、信頼度付きで返す
  4. 自動印字済みの区画名とメーター番号を検針台帳と照らし、行を対応づける
  5. 自動前回の指針と乗率から使用量を計算し、規則で `ok` / `check` / `missing` を付ける
  6. 自動前月・前年同月と比べた変化率と、読み取りの信頼度を並べた確認の一覧を作る
  7. 人経理が `check` と `missing` の区画だけ、検針票の画像と並べて確かめる
  8. 人確かめきれないものは管理員に再検針を頼む
  9. 人確定した指針を検針台帳に反映し、請求の元データを書き出す
  10. 人会計システムでテナントへの請求を作る
各工程の詳しい説明を読む
  1. 管理員が区画を回り、子メーターの指針を検針票に手で書く
  2. 管理員がビルの複合機で検針票をスキャンし、本社の共有フォルダへ送る
  3. 本社の経理が検針票を1枚ずつ開き、区画ごとの指針を検針台帳に打ち込む
  4. 台帳の式で使用量が出たら、前月の使用量と目で見比べる
  5. おかしな数字があれば、管理員に電話して確かめる
  6. 確かめ終わった台帳から、テナントごとの請求の元データを作る
  7. 会計システムでテナントへの請求を作る

(a)打ち込み直しが重い。 区画ごとに電気と水道で1,200件の指針を、毎月手で打ち込みます。指針は6〜7桁の数字で、1件ごとに区画名とメーター番号を確かめながら打つので、件数のわりに時間がかかります。

(b)読み違いと打ち間違いが、請求まで残る。 手書きの「1」と「7」、「4」と「9」を読み違える。打つときに桁を飛ばす。どちらも、使用量の数字が少しおかしくなるだけで、台帳の上では目立ちません。 4番の見比べは忙しい月ほど省かれます。

(c)異常に気づくのが請求の後。 テナントから「今月の電気代が高すぎる」と問い合わせが来て、初めて読み違いに気づくことがあります。請求を出し直すのは、テナントとの関係にとっても経理にとっても重い仕事です。

(d)印の付いた区画の扱いがばらばら。 「立入不可」で指針が書かれていない区画を、前月と同じ使用量で見込むのか、翌月にまとめるのかが、担当者によって違います。決めごとが台帳に残っていないので、翌月に誰がどう扱ったか分かりません。

  1. 【人】 管理員がこれまでどおり検針票に指針を書き、ビルの複合機でスキャンして送る
  2. 【自動】 スキャンの PDF が保管先に入ったことをきっかけに処理が動く
  3. 【自動】 読み取りのモデルが、区画ごとの今回の指針・印の欄・備考を、信頼度付きで返す
  4. 【自動】 印字済みの区画名とメーター番号を検針台帳と照らし、行を対応づける
  5. 【自動】 前回の指針と乗率から使用量を計算し、規則で ok / check / missing を付ける
  6. 【自動】 前月・前年同月と比べた変化率と、読み取りの信頼度を並べた確認の一覧を作る
  7. 【人】 経理が check と missing の区画だけ、検針票の画像と並べて確かめる
  8. 【人】 確かめきれないものは管理員に再検針を頼む
  9. 【人】 確定した指針を検針台帳に反映し、請求の元データを書き出す
  10. 【人】 会計システムでテナントへの請求を作る

7番目が、この設計の分かれ目です。 読み取りの信頼度が高く、使用量が前月・前年同月から大きく外れていない区画は、一覧で件数を見るだけにします。人が時間を使うのは、数字か使用量のどちらかに引っかかりがあった区画だけです。

5番目の計算をAIにさせないのも意図してのことです。 使用量は「今回の指針 − 前回の指針」に乗率を掛けるだけの計算で、プログラムで行えば間違えません。 AIに任せるのは、手書きの数字を読むところまでです。

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

構成図
管理員が手書きした検針票(紙)
   │  ビルの複合機でスキャン
   ▼【トリガー】保管先(Blob Storage)への PDF の保存
Azure Functions(保存を起点に動く処理)
   ▼
Azure AI Document Intelligence(カスタム テンプレート モデル)
   │   区画ごとの今回の指針・印の欄(選択マーク)・備考・信頼度
   ▼
Azure Functions ── 検針台帳との照合と使用量の計算
   │   ① 区画とメーター番号の対応づけ
   │   ② 使用量 =(今回 − 前回)× 乗率
   │   ③ 前月比・前年同月比・前回より小さい指針の検出
   ▼
判定(そのまま ok / 確かめる check / 指針なし missing)
   ▼
【経理が check と missing だけ確認】
   ├──▶ 管理員への再検針の依頼
   └──▶ 検針台帳 → 請求の元データ
役割想定する製品代替候補
OCRAzure AI Document Intelligence(カスタム テンプレート モデル)Google Document AI(Form Parser)、AWS Textract(英文の書類に限る。日本語の検針票には使えない)
差異計算使用量の計算と前月比の判定(Python。Azure Functions で動かす)─
連携Azure Functions(Blob Storage のトリガー)Azure Logic Apps
保管Azure Blob Storage(検針票の画像と読み取り結果)本社のファイルサーバー

生成AIは、この構成には入れていません。 検針票に書かれるのは数字と印だけで、文章を読み解く場面がほとんど無いからです。備考欄に短い手書きがあれば、その画像と読み取った文字をそのまま確認の一覧に出し、人が読みます。読む必要の無いところに生成AIを足すと、確かめる対象が1つ増えるだけです。

検針台帳と会計システムは、新しく足すものではありません。 この構成は確認の一覧を出すところまでで、検針台帳への反映は、経理が確かめた後に行います。

読み取りの中心は、Azure AI Document Intelligence のカスタム テンプレート モデルです。 公式のページでは、ラベル付けしたキーと値・選択マーク・表・領域・署名を取り出せる学習の容易なモデルで、決まった見た目の様式を持つ、構造の固い文書に向くとされています。手書きの文字の対応言語には日本語が含まれます。

向かない条件も書かれています。 テンプレート モデルは決まった見た目に頼るので、様式が変わると精度が落ちます。 その場合は様式ごとに見本を少なくとも5つ用意してモデルを分け、まとめて1つの窓口にする(compose)方法が示されています。検針票の様式を全ビルで1つにそろえておくことが、この構成の前提です。

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

Step1

処理の起点を決める

各ビルのスキャンの PDF が保管先(Azure Blob Storage)に入ったことを起点にします。 検針は毎月の決まった日の前後に28棟で行われ、検針票は数日に分かれて届きます。届いた順に読み取り、確認の一覧に足していきます。

起点の仕組みは Azure Functions の Blob Storage のトリガーです。公式のページでは、トリガーにはイベント方式とポーリング方式があり、遅れの小さいイベント方式が推奨されています。ポーリング方式を従量課金のプランで使うと、止まっていた後の新しいファイルの処理に最大10分の遅れが出うるとされています。検針票は数日かけて届くので遅れは問題になりませんが、取りこぼしを避けるためにイベント方式を選びます。

ファイル名にビルのコードと検針の年月を入れる決まりにします。 「B07_202610_1.pdf」のようにしておけば、どのビルのどの月の検針票かを、中身を読む前に決められます。同じビルの同じ月のファイルが二度届いたら、新しい方を「再送」として扱います。

Step2

入力データを集める

データ中身取得元
検針票の画像スキャンした PDF(ビルごとに1〜数枚)ビルの複合機 → 保管先
読み取り結果区画ごとの今回の指針、印の欄の状態、備考、信頼度Azure AI Document Intelligence
検針台帳区画、テナント、メーター番号、種別(電気・水道)、乗率、前回の指針、過去13か月の使用量本社の検針台帳
メーターの台帳メーター番号、桁数、取り付けた日、検定の有効期限本社で持つ台帳

質を決めるのは、メーターの台帳の桁数です。 指針が6桁のメーターに7桁の数字が読めたら、それだけで読み違いと分かります。桁数を持たせておけば、文字の形を見なくても判定できる誤りが一つ増えます。

過去13か月の使用量は、前年同月と比べるために持ちます。 空調の電気や飲食店の水道は季節で大きく変わるので、前月とだけ比べると、夏の初めの月が毎年「異常」になります。

Step3

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

読み取りは、Azure Functions からカスタム テンプレート モデルを呼ぶだけです。モデルの学習には、全ビル共通の検針票の様式で、指針を書き込んだ見本を使います。

取るものどこから何に使うか
区画ごとの今回の指針と信頼度ラベル付けした表の項目(行ごとのセル)使用量の計算、読み違いの疑い
印字済みの区画名とメーター番号同じ行のセル検針台帳の行との対応づけ
「立入不可」「表示不良」「メーター交換」の印選択マークの項目指針が無い理由と扱いの区分
備考の手書き領域の項目確認の一覧にそのまま出す
単語ごとの信頼度ページの単語指針の中の1桁ごとの確からしさ

検針票の区画の並びは、表の項目としてラベル付けします。 公式のページでは、テンプレート モデルは表の項目に対応し、ページをまたぐ表も、各ページの行を1つの表としてラベル付けすれば扱えるとされています。区画の多いビルでは検針票が2枚になるので、この扱いが要ります。

信頼度は2層で見ます。 公式のページでは、カスタム モデルの項目の信頼度は値の位置についてのもので、文字の読み取りの信頼度や選択マークの信頼度もあわせて見て総合するよう書かれています。指針の項目の信頼度と、指針を構成する単語の信頼度の低い方を、その指針の信頼度として使います。

Step4

AIへ渡す前に整形する

  1. ファイル名の確認 … ビルのコードと年月が決まりどおりかを確かめ、外れたものは人へ回します
  2. 向きと傾きの確認 … 上下逆や大きく傾いたページを直します
  3. 寸法と解像度の確認 … 画像は50×50〜10,000×10,000ピクセル、文字の最小の高さは1024×768の画像で12ピクセル(150dpiで約8ポイント)です。手書きの数字は小さく書かれがちなので、200dpi以上でそろえます
  4. ページ数とファイルの大きさ … PDF は2,000ページまで、有料(S0)レベルで500MB、無料(F0)レベルは最初の2ページだけです。試すときに無料のレベルを使うと、2枚目の検針票が読まれません
  5. パスワード付きの PDF の確認 … 解除が要るので、複合機の保存の設定を見直します
  6. ページの対応づけ … 1枚目・2枚目の区画の範囲を、検針台帳の並びと照らします

4番目は試しの段階でつまずく点です。 区画の多いビルだけ結果が足りない、という形で現れます。

Step5

AIに処理させる

読み取りのモデルにさせるのは、区画ごとの今回の指針と、印の欄と、備考の領域を返すことだけです。 それ以外は、プログラムの規則で行います。

見るもの誰がするか判定の仕方
今回の指針読み取りのモデル値と信頼度を返す
印の欄読み取りのモデル選択マークの状態(選ばれている・いない)と信頼度を返す
桁数規則メーターの台帳の桁数と合うか
前回より小さくないか規則今回 < 前回 なら、読み違い・メーターの一巡・交換のどれか
使用量の変化規則前月比と前年同月比が、区画の種別ごとの幅に収まるか
使用量規則(今回 − 前回)× 乗率

判定は次の規則で決めます。

条件判定
指針の信頼度が基準以上、桁数が合う、前回以上、変化率が幅の中ok
信頼度が基準未満、桁数が合わない、前回より小さい、変化率が幅の外のどれかcheck
指針が空で、印の欄のどれかが選ばれているmissing(理由は印の種類)
指針が空で、印の欄も空missing(理由は「記入漏れ」)

変化率の幅は、区画の種別ごとに分けます。 事務所の電気と飲食店の水道では、月ごとのぶれ方がまったく違います。最初の数か月は幅を広めにとり、check に回った区画のうち本当に異常だった割合を見て狭めます。

させないこと理由
読めない桁の推測前月の指針に近い数字に寄せると、読み違いが「正しい数字」に化ける
使用量の計算プログラムで行えば間違えない
指針が無い区画の見込み前月と同じ使用量で埋めるかは、テナントとの契約と社内の決めごと
異常の原因の推測漏水か、設備の故障か、営業時間の変化かは、現地で確かめるまで分からない
メーターの検定の判断有効期限は台帳で見る。法令上使えるかの判断は人が行う

1行目がいちばん起きやすい失敗です。 「1」か「7」か迷った桁を、前月の指針に近くなるほうに寄せたくなります。寄せた瞬間、前月比の確認が働かなくなります。 比べる相手の数字に近づけて読んだのですから、変化率が幅の中に収まるのは当然です。

Step6

指示内容を固定する

この構成では、生成AIへのプロンプトは使いません。 代わりに、読み取りのモデルの見本づくりと、規則の決めごとが「指示」に当たります。見本のラベル付けの決まりは次のとおりです。

【検針票の見本のラベル付けの決まり】

1. 見本は少なくとも5枚。うち2枚は区画が2枚目にまたがるビルの検針票にする
2. 指針は数字の部分だけを囲む。単位(kWh、m3)や区切りの線を含めない
3. 区画の行は表の項目「meter_rows」として、1枚目と2枚目の行を1つの表にまとめる
   列:area_name(区画名・印字) / meter_no(メーター番号・印字) /
       reading(今回の指針・手書き) / mark_no_entry(立入不可) /
       mark_display_error(表示不良) / mark_replaced(メーター交換)
4. 印の欄は選択マークとしてラベル付けする。印の付いた見本と、付いていない見本の両方を入れる
5. 指針の欄が空の行も、空のままラベル付けする(「空であること」を学ばせる)
6. 備考は領域の項目「remarks」として、欄の枠の内側だけを囲む
7. 書き直し(二重線と書き足し)のある見本を、少なくとも1枚入れる
8. 見本の指針は実際の値を使う。でたらめな数字を書き込まない

5番目を省くと、空欄の区画で何かを読もうとします。 公式のページでは、値の無い項目の信頼度について、見本の中で空であることが多い項目なら、空の予測に高い信頼度が付くと書かれています。空欄の見本を入れておくことが、「書かれていない」を正しく返させる条件です。

8番目も公式のページに沿った決まりです。 見本の値は多様で実際的であるべきで、でたらめな文字列は性能に響きうるとされています。

規則の側の決めごとは、表にして経理と管理員の責任者が承認します。

【使用量の確認の規則(区画の種別ごと)】
種別 / 前月比の幅 / 前年同月比の幅 / 前回より小さい指針の扱い
事務所・電気 / ±30% / ±30% / check(メーターの一巡なら交換記録を確かめる)
飲食・水道 / ±50% / ±40% / check
物販・電気 / ±35% / ±30% / check

判定の処理は、次の順に書きます。 順番を変えると、桁数の合わない数字で変化率を計算して、意味の無い out_of_range が出ます。

for 区画 in 読み取り結果の行:
    台帳の行 = 検針台帳から (ビル, 区画名, メーター番号) で引く
    if 台帳の行が無い:            → check(unknown_meter)
    if 指針が空:                  → missing(印の種類 または no_reading)
    conf = min(項目の信頼度, 指針の単語の信頼度の最小値)
    if conf < 基準:               → reasons に low_confidence
    if 桁数 ≠ メーターの台帳の桁数: → reasons に digits_mismatch、ここで計算をやめる
    if 今回 < 前回:               → reasons に below_previous、ここで計算をやめる
    使用量 = (今回 − 前回) × 乗率
    前月比・前年同月比を計算し、種別ごとの幅の外なら reasons に out_of_range
    reasons が空なら ok、そうでなければ check

「ここで計算をやめる」が2か所あるのは、誤った使用量を一覧に載せないためです。 桁数が合わない指針から計算した使用量は、前月の何十倍にもなります。その数字が一覧に出ると、経理はまず使用量に目を奪われ、本当の原因である読み違いを見るのが遅れます。

Step7

出力形式を固定する

区画1件ごとに、次の形の JSON にまとめて確認の一覧に流します。

{
  "building": "B07",
  "period": "2026-10",
  "area": "3F-302",
  "tenant": "",
  "meter_no": "E-0731",
  "kind": "electric | water",
  "reading": { "value": "", "confidence": 0, "digits_ok": true },
  "previous_reading": 0,
  "multiplier": 1,
  "usage": 0,
  "change_vs_last_month": 0,
  "change_vs_last_year": 0,
  "marks": { "no_entry": false, "display_error": false, "replaced": false },
  "remarks_image": "B07_202610_1_p1_remarks.png",
  "verdict": "ok | check | missing",
  "reasons": ["low_confidence", "digits_mismatch", "below_previous", "out_of_range", "unknown_meter", "no_reading"]
}

1つ目の理由は、reasons で確かめる場所が分かることです。 check だけでは、経理は何を見ればよいか分かりません。below_previous なら交換の記録を、low_confidence なら画像の数字を、out_of_range なら現地の事情をというように、確かめ方が理由ごとに違います。

2つ目は、読み取りの値と計算の値を分けて持てることです。 reading は読み取りのモデルが返したもの、usage と変化率はプログラムが計算したものです。経理が指針を直したら、usage と変化率は計算し直すだけで済みます。

確認の一覧は、ビルごと・理由ごとに並べます。

【確認の一覧(2026年10月分 B07)】
区画 / メーター番号 / 今回の指針 / 信頼度 / 使用量 / 前月比 / 前年同月比 / 理由 / 画像
Step8

システムへ連携する

つなぎ先方式内容
保管先(Blob Storage)Azure Functions のトリガー検針票の PDF の保存を検知する
Azure AI Document IntelligenceAPI呼び出し区画ごとの指針・印・信頼度を返す
検針台帳・メーターの台帳読み取り前回の指針、乗率、桁数、過去の使用量を引く
確認の一覧突合の処理が書き出す区画ごとの判定と理由
検針台帳経理が確かめた後に反映確定した指針

検針台帳へは、確かめる前に書き込みません。 読み取りの誤りがそのまま台帳に入ると、翌月の「前回の指針」が誤った値になり、翌月の使用量まで狂います。 確定は人が行います。

Step9

人が確認する

人が開くのは check と missing の区画だけです。 ok の区画は、ビルごとの件数と使用量の合計を前月と見比べるだけにします。

  1. missing の理由を見る … 「立入不可」なら翌月の扱いを決めごとどおりに記録し、「記入漏れ」なら管理員に再検針を頼みます
  2. check の画像を見る … 指針の数字を画像で確かめ、読み違いなら直します
  3. below_previous は交換の記録を見る … メーター交換の印や、メーターの台帳の取り付けた日を確かめます
  4. out_of_range で数字が正しいときは、現地の事情を聞く … 漏水や設備の不具合のこともあるので、管理員に伝えます
  5. 直した区画を記録する … 読み取りの値と直した値の両方を残します

4番目を経理だけで閉じないでください。 数字が正しくて使用量が跳ねているなら、テナントに請求を出す前に、管理員が現地を見るべき事象です。

Step10

例外に対処する

起きること対応
指針の欄に書き直しがある信頼度が下がりやすい。check で人へ
メーター交換の月前回の指針と今回の指針がつながらない。交換時の撤去指針と新メーターの初期値を、交換の記録から人が入れる
メーターが一巡した(最大値から0に戻った)前回より小さくなる。check で人へ回し、一巡を確かめてから計算する
検針票の様式の古い版が混ざる読み取りの文書の種類の信頼度が下がる。ビルに新しい様式を送り直す
2枚目のページが欠けている区画の数が台帳と合わない。ビルに再送を頼む
同じビルの同じ月が二度届いた新しい方を「再送」として扱い、二重に反映しない
文字が小さすぎる1024×768の画像で12ピクセル未満は check
読み取りが応答しない既定で合計5回やり直し、すべて失敗すると webjobs-blobtrigger-poison キューに入る。このキューを確認の一覧の「未処理」に出す

上から3行目までが、この題材の大半の check です。 どれも読み取りの誤りではなく、メーターの側の事情です。交換と一巡の記録を台帳に持っておくと、確かめが速くなります。

Step11

記録を残す

  • 検針票の画像と、届いた日時・ビル・年月
  • 読み取りの結果の JSON の全文(指針・印・信頼度・単語の信頼度)
  • 判定(verdict、reasons)と、そのとき使った確認の規則の版
  • 人が指針を直した記録 … 読み取りの値、直した値、直した人、理由
  • 再検針の依頼と、その結果
  • ビルごと・管理員ごとの low_confidence の発生率

4つ目は、請求の根拠になります。 テナントから問い合わせがあったとき、検針票の画像、読み取った値、直した値と理由をすぐに出せれば、説明の時間が短くなります。

04実装レベルの3段階

最小構成:Studio でモデルを学習させ、検針票を手で読ませて結果を書き写す / 読み取りの確からしさの確認
半自動化:上記+保存を起点に自動で読み、台帳と照らして使用量と変化率を計算し、確認の一覧を出す / 読み取り・計算・異常の洗い出し
本格構成:上記+確定した指針を検針台帳へ反映し、請求の元データを自動で書き出す / 台帳の更新と請求の準備まで

半自動化で、1件3分が1分になり、この段階が本記事の想定です。 打ち込みの①と見比べの②が機械に移り、人に残るのは引っかかりのあった区画の確かめです。 本格構成で台帳への反映を自動にすると、時間はさらに少し減ります。 ただし、読み取りの誤りが翌月の前回の指針に乗る経路ができます。半自動化で数か月、人が直した記録を見て、直しがほとんど出なくなってから進んでください。

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

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

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

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

AI活用について相談する

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

向いている
  1. 複数のオフィスビルや商業ビルを受託管理し、テナントの区画ごとに電気・水道の子メーターを毎月検針して、使用量に応じた費用をテナントへ請求している管理会社。管理員が紙の検針票に指針を手書きし、本社の経理が台帳へ打ち込み直している場合。検針票の様式を自社で決めていて、ビルが違っても同じ様式を使っている場合。
向いていない
  1. 子メーターが遠隔検針(スマートメーターや自動検針の仕組み)になっていて、指針がデータで取れる場合。テナントが数件で、目で見て打ち込んでも負担にならない場合。ビルごとに検針票の様式がばらばらで、そろえる見込みが無い場合。なお、テナントへの請求額の算定方法や、計量に使うメーターが法令の求める検定を満たしているかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の検針票から、区画の多いビルと少ないビルを含めて5棟分を選ぶ
  2. Document Intelligence Studio で、第7章の決まりどおりに5枚をラベル付けする
  3. カスタム テンプレート モデルを学習させる
  4. 残りの検針票を Studio で読ませ、区画ごとの指針と信頼度を表に書き写す
  5. 先月に経理が打ち込んだ台帳の値と突き合わせる

台帳の値との突き合わせは必ずやってください。 先月の台帳は、人が打ち込んで確かめた「正解」です。ただし、先月の台帳にも打ち間違いが残っている可能性があります。 読み取りの値と台帳の値が食い違った区画は、画像で確かめてどちらが正しいかを記録してください。台帳の側の誤りが見つかれば、それ自体が目視の限界を示す材料になります。読み取りの値がどれだけ合うか、合わなかった区画の信頼度が低い側に分かれるかを、ここで確かめます。

出てきた内容判断
合わなかった区画が、すべて信頼度の低い側に分かれた線を引いて、規則と一覧の作り込みに進む
合わないのに信頼度が高い区画がある見本を足す。その区画の書き方の癖を見本に入れる
2枚目の区画が読めていない無料のレベルで試していないかを確かめる
指針の欄が小さく、数字がはみ出している様式の欄を広げるのが先。 読み取りの問題ではない

4行目が出たら、様式を直すほうが早く効きます。 管理員が欄からはみ出して書くのは、欄が狭いからです。

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

問題対策
読めない桁を前月の指針に寄せる寄せない。 寄せると前月比の確認が働かなくなる
前月とだけ比べて、季節の変化で check が増える前年同月とも比べ、区画の種別ごとに幅を分ける
空欄の区画で何かを読んでしまう空欄の見本を入れる。空であることを学ばせる
メーター交換の月に使用量が狂う交換時の撤去指針と新メーターの初期値を交換の記録から入れる
2枚目の検針票が読まれない無料のレベルは最初の2ページだけ。試すときに注意
古い様式の検針票が混ざる文書の種類の信頼度で見つける。新しい様式を配り直す
指針が欄からはみ出す欄を広げる。様式を直すほうが早い
読み取りの誤りが翌月の前回の指針に乗る台帳への反映は人が確かめた後にする
数字が正しいのに使用量が跳ねている経理で閉じず、管理員に現地を見てもらう
変化率の幅を最初から狭くしすぎる広めに始め、本当の異常の割合を見て狭める

上の2行が、この構成の失敗のほとんどです。 1行目は確認の仕組みそのものを壊し、2行目は確認の一覧を使われないものにします。読み取りは寄せずにそのまま返し、比べる相手を正しく選ぶ。この2つで運用に乗るかが決まります。

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

この構成で扱うデータ: テナントの名前と区画、電気・水道の使用量の推移、管理員の名前です。使用量の推移は、テナントの営業の状況(営業時間、来客の多さ、厨房の稼働)を映すデータです。

  1. 使用量をテナントの営業情報として扱う … 区画ごとの使用量の推移を、請求と設備の管理の外で使わないでください。他のテナントや、テナントの誘致の資料に流用しないよう、閲覧できる人を経理と管理員の責任者に限ります
  2. 計量に使うメーターの検定は、人が台帳で管理する … 計量法では、取引または証明に使う特定計量器は、検定証印等が付されたものでなければならず、有効期間を経過したものは使えないとされています。この構成は台帳に有効期限を持たせて近いものを一覧に出すことはできますが、どのメーターが法令上の対象になるか、使えるかの判断は人が行います
  3. テナントへの請求額を自動で確定させない … 請求の元データは経理が確かめたものだけから作ります。読み取りの誤りがそのまま請求になると、出し直しの手間は削減した時間を上回ります
  4. 管理員の評価に直結させない … 管理員ごとの low_confidence の発生率は、様式や書き方の癖を直す材料です。件数だけで評価すると、書き方より速さを優先するほうへ動きます
  5. 検針票の画像の保存期間を決める … 請求の根拠として残す期間を、テナントとの契約と社内の文書の規程に合わせて決めてください

誤りが起きた場合のリスクは、読み違いのまま請求することと、本当の異常(漏水など)を読み違いとして片づけることの2つです。 前者は check を見ずに ok に混ぜると起き、後者は数字の確かめで閉じて現地を見ないと起きます。どちらも、判定の理由を残し、理由ごとに確かめ方を決めておくことで防ぎます。

10まず何から始めるか

1週目:検針票の様式を1つにそろえる

全ビルの検針票を集め、様式の違いを洗い出します。指針の欄の大きさと、印の欄の位置を全ビルで同じにします。 あわせて、メーターの台帳に桁数と検定の有効期限の列を足します。

2週目:5枚で学習させて試す

新しい様式で記入した検針票から5枚を選び、Studio でラベル付けして学習させます。残りを読ませて先月の台帳の値と突き合わせ、合わなかった区画が信頼度の低い側に分かれるかを最優先で見ます。

3週目:確認の規則を決める

区画の種別ごとに、前月比と前年同月比の幅を経理と管理員の責任者で決めます。「立入不可」の区画の扱いも、ここで決めごとにします。

4週目:保存から確認の一覧までをつなぐ

保存を起点に読み取り、台帳と照らして使用量と変化率を計算し、確認の一覧を出すところまで作ります。この時点では台帳への反映は人が行い、これまでの打ち込みと並べて見比べます。

2か月目: 確認の一覧だけで締めを回し、check と missing の件数と、人が直した件数を毎月数えます。3か月目以降: 変化率の幅を実績に合わせて狭め、1件3分が何分になったかを実測します。人が直す件数がほとんど出なくなり、テナントからの使用量の問い合わせが減った時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-14/最終更新:2026-10-14
確認した内容情報源確認日
カスタム テンプレート モデルがキーと値・選択マーク・表・領域・署名を取り出し、決まった見た目の構造の固い文書に向くこと。見た目が変わると精度が落ち、様式ごとに見本を5つ以上用意してモデルを分け、compose でまとめられること。ページをまたぐ表を各ページの行を1つの表としてラベル付けすること。入力の形式、PDF 2,000ページ(無料は最初の2ページ)、S0 で500MB、画像が50×50〜10,000×10,000ピクセル、文字の最小の高さが1024×768で12ピクセル、パスワード付きの PDF は解除が要ることMicrosoft Learn: Custom template document model2026-10-14
カスタム テンプレート モデルの手書きの文字の対応言語に日本語が含まれることMicrosoft Learn: Language support for custom models2026-10-14
単語・キーと値・選択マークなどに信頼度が返ること。カスタム モデルの項目の信頼度は値の位置についてのもので、OCR や選択マークの信頼度とあわせて総合すること。見本の中で空であることが多い項目は空の予測に高い信頼度が付くことMicrosoft Learn: Interpret and improve model accuracy and confidence scores2026-10-14
レイアウト モデルが選択マークを状態(selected/unselected)と信頼度付きで返し、手書きの行かどうかと信頼度を返すことMicrosoft Learn: Document layout analysis2026-10-14
Blob Storage のトリガーにイベント方式とポーリング方式があり、イベント方式が推奨されること。ポーリング方式は従量課金のプランで最大10分の遅れが出うること。失敗時は既定で合計5回やり直し、すべて失敗すると webjobs-blobtrigger-poison キューに入ることMicrosoft Learn: Azure Blob storage trigger for Azure Functions2026-10-14
取引又は証明における計量に、検定証印等が付された特定計量器以外のもの、及び検定証印等の有効期間を経過したものを使用してはならないこと(計量法 第16条)。「取引」が有償無償を問わず物又は役務の給付を目的とする業務上の行為であること(同 第2条第2項)e-Gov 法令API: 計量法2026-10-14

どのメーターが計量法の対象になるか、テナントへの請求額をどう算定するかは、建物の所有者・テナントとの契約と、必要に応じて専門家に確かめてください。 本記事は Microsoft Learn と e-Gov 法令API で確認できた範囲だけを扱っています。

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

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

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

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