processNewCompletionReports が 1時間ごと に自動実行_処理済み/ または _確認待ち/ に自動移動| 列 | 内容 | 備考 |
|---|---|---|
| 取込日時 | OCR処理が完了した日時 | JST |
| ファイルリンク | Drive上の元PDFへのリンク | クリックで原本確認 |
| 業者名 | OCRで抽出した施工業者名 | 「(施工業者 ○○)」表記優先 |
| 契約番号 | 財契第○号 | 欠落だと確認待ちフラグ |
| 発注者 | 例:いなぎグリーンウェルネス財団 | |
| 契約件名 | 例:公園維持管理業務委託(単価契約) | |
| 作業箇所 | 例:平尾入定塚緑地 | |
| 着手年月日 / 完了月日 | 和暦→西暦変換済み | |
| 支出科目(大/中/小) | 例:事業費 / 公園管理 / 委託費 | 3列に分解 |
| 小計 / 消費税 / 合計 | 金額(カンマ抜き数値) | 小計+消費税≠合計なら確認待ち |
| 信頼度 | 0〜1のスコア | 0.7未満は確認待ちフラグ |
| 確認フラグ | 要確認の理由 | 空=OK / 値あり=要目視 |
下記いずれかに該当すると 確認フラグ列に理由が入り、ファイルは Drive の _確認待ち/ フォルダに移動されます。
_確認待ち/のファイルは原本として残しておく_処理済み/ または _確認待ち/ に移動されるYYYYMMDD_業者名_NN.ext(NN=同日同業者の連番2桁)1時間ごとに自動実行されているので、通常は何もしなくてOK。
runOnceCompletionReports を選ぶprocessNewCompletionReports が「1時間ごと」で登録されているか確認createCompletionReportTrigger 関数を1回実行| 症状 | 原因の候補 | 対処 |
|---|---|---|
| 業者から投稿したと連絡があったがスプレッドシートに反映されない | ① 1時間トリガー未到達 ② Driveに保存されていない | ① Drive直下に該当ファイルが見えるか確認 → 見えれば runOnceCompletionReports 手動実行② 見えなければ業者に再投稿依頼 |
| 確認フラグに「Gemini API失敗」 | API課金/クォータ切れ・一時的なAPIエラー | Google Cloud Console の課金状況確認。Tier1 prepay 残高を補充。その後 runOnceCompletionReports 再実行 |
| 同じ業者から複数件投稿があるが1件しか反映されない | 1つのPDFに複数の完了届が入っていた | 業者に「1完了届=1PDFで再投稿」を依頼 |
| 業者名が読み取れていない(空欄) | OCR精度の問題(手書き等) | 原本確認の上、手動で列を埋めて確認フラグをクリア |
| 金額が合わない(小計+消費税≠合計) | OCR誤読 or 元PDFの記載ミス | 原本確認の上、正しい金額に手動修正 |
| 業者投稿フォームのURLが「サービスを利用できません」 | Apps Script デプロイの「アクセス: 全員」設定がリセットされた | inagi-form-upload-gas の Editor → 「デプロイを管理」→ 鉛筆編集 → アクセス「全員」に再設定 |
URLを変えずに本番版を上書き更新するコマンド:
cd ~/kenken-tools/inagi-form-upload-gas npx @google/clasp@2.5.0 push --force npx @google/clasp@2.5.0 deploy \ --deploymentId AKfycbxzZXeqkO7vFfz8Cupj-KeYMksihULkLpRUh0tZ1F8uL1YP6BUMntue7COLLYb9Qb71xg \ --description "v3 ..."
--deploymentId を既存IDで指定すれば URL不変で本番版を上書き できます(業者に再案内不要)。
cd ~/kenken-tools/receipt-ocr-gas npx @google/clasp@2.5.0 push --force
こちらはトリガー実行型なのでデプロイ不要。