Skip to content
⚙️自動化#035入門金字塔 · 做
經營者顧問Claude Code#發票辨識#帳務自動化#視覺辨識

發票圖片視覺辨識與結構化存檔

用途

自動掃描指定資料夾的新增發票圖片,用視覺辨識萃取結構化欄位輸出 hints JSON,並記錄需要人工確認的項目,讓每日帳務數位化不再靠手工輸入。

何時用

  • 適合:有大量紙本或電子發票要每日數位化入帳時;想把發票掃描後自動存成結構化資料、再丟給會計軟體匯入時。
  • 不要用:只有單張臨時辨識、不需要自動化流程時,直接把圖片貼給 Claude 問就好,不需要這套 pipeline;或者發票品質很差(模糊、折痕嚴重),辨識率會很低,建議先改善掃描品質。

Prompt

text
請執行發票視覺辨識流程:

1. 掃描 {{Todo目錄}} 資料夾,找出所有尚未處理的發票圖片(格式:jpg/png/pdf)
   - 已處理的圖片會有對應的 .json 檔,跳過不重複處理

2. 對每張圖片執行視覺辨識,萃取以下欄位:
   - type(統一發票 / 收據 / 收銀機發票)
   - date(發票日期,格式 YYYY-MM-DD)
   - vendor(賣方名稱)
   - vendor_ein(賣方統一編號,找不到填 null)
   - buyer(買方名稱,找不到填 null)
   - buyer_ein(買方統一編號,找不到填 null)
   - amount(含稅金額)
   - tax(稅額,找不到填 null)
   - invoice_no(發票號碼)
   - confidence(辨識信心度:high / medium / low)

3. 把每張發票的結果存成同名 .json 檔(如 invoice-001.jpg → invoice-001.json)

4. 整理「需人工確認項目清單」:confidence = low 或欄位為 null 的發票

5. 寫入每日處理 log:{{log目錄}}/YYYY-MM-DD.log
   格式:處理N張 / 成功X張 / 需確認Y張 / 錯誤Z張

輸出:執行摘要 + 需人工確認清單(含原因)。

範例 / 變體

  • 填好變數{{Todo目錄}}~/Documents/invoices/todo{{log目錄}}~/Documents/invoices/logs,跑完自動在 todo 資料夾生成對應 JSON。
  • 變體(直接單張辨識):不要掃描資料夾,把發票圖片直接貼入對話,問「請辨識這張發票並輸出 JSON」,適合臨時單筆需求。
  • 變體(匯出 CSV):在步驟 5 後加「把所有今日處理的 JSON 合併成一個 CSV,欄位對應 QuickBooks 匯入格式」,直接串接會計軟體。

🎯 範例輸出(實測)

Claude Code 跑這句、把 {{變數}} 填成「Todo目錄:~/Documents/invoices/todo;log目錄:~/Documents/invoices/logs」的結果:

點開看 AI 實際輸出

步驟 1 — 掃描 Todo 目錄

找到 5 個新檔案(無對應 .json): invoice-2026-06-01.jpgreceipt-starbucks.jpginvoice-ecpay-0603.pdfinvoice-shopee.pngreceipt-7-11.jpg

步驟 2 — 視覺辨識結果

invoice-2026-06-01.json(信心度:high)

text
{
  "type": "統一發票",
  "date": "2026-06-01",
  "vendor": "全家便利商店",
  "vendor_ein": "22546533",
  "buyer": null,
  "buyer_ein": null,
  "amount": 85,
  "tax": 4,
  "invoice_no": "AB12345678",
  "confidence": "high"
}

receipt-starbucks.json(信心度:medium)

text
{
  "type": "收據",
  "date": "2026-06-02",
  "vendor": "星巴克咖啡",
  "vendor_ein": null,
  "buyer": null,
  "buyer_ein": null,
  "amount": 165,
  "tax": null,
  "invoice_no": null,
  "confidence": "medium"
}

其餘 3 張:invoice-ecpay-0603(high)、invoice-shopee(medium)、receipt-7-11(low — 圖片模糊)

步驟 4 — 需人工確認

  • receipt-7-11.json:confidence=low,vendor_ein / invoice_no 均為 null,圖片對比度不足

步驟 5 — 每日 log

~/Documents/invoices/logs/2026-06-03.log:處理 5 張 / 成功 4 張 / 需確認 1 張 / 錯誤 0 張

💡 實測心得:PDF 發票辨識率明顯高於模糊相片,建議手機掃描時用「文件模式」自動裁切;confidence=medium 的發票通常只缺少統一編號,加一條「medium 也列入待確認」的規則,月底對帳會更乾淨。

延伸

你有沒有遇過這種情況?月底要報帳,翻出一疊發票才開始一張一張輸入,花了半天。這個流程的設計前提是「每天跑一次、每次幾分鐘」,把帳務數位化變成習慣而不是月底的噩夢。

如果你的發票量很大,可以把這個流程搭配「Git 夜間 Commit」每晚自動存檔,讓發票 JSON 也進版控,不怕遺失。

依場景分類 · 一鍵複製 · 持續擴充