領収書画像を OCR + OpenAI で構造化し、GUIで手修正してからExcel出力できる Tkinter アプリです。
- 和暦/西暦の日付入力を受け付け、内部的に
YYYY/MM/DDに正規化 - OCR失敗や解析失敗を
is_error/error_reasonで管理 - GUIテーブルでセルをダブルクリックして直接編集(空白でも可)
- エラー行は赤背景で可視化
- 元画像リンク(
file:///...)を Excel に出力 - OCR結果 → データモデル → GUI編集 → Excel出力 を分離
- 指定フォルダ内の領収書画像を一括読み込み
pytesseractで OCR 実行- OpenAI API で項目抽出(未定義キーも保持)
- 結果をテーブル表示(1行=1領収書)
- セル編集 or フォーム編集で値を手修正
- 正常/エラーを同じExcelに保存(フィルタしやすい形式)
- Python 3.10+
- Tesseract OCR(OS側にインストール)
- OpenAI APIキー
開発依存ライブラリ:
pip install pytesseract openai openpyxl cryptography- OpenAI APIキー
- OpenAI APIキー取得手順 メモしておくこと!
- Tesseract
- Googleが開発しているOCRエンジン
- インストール手順
- exeをダブルクリックして実行
- 開発
python receipt_to_excel.py
画面操作:
- APIキーを設定(初回のみ)
- 画像フォルダを選択
- 保存先Excelを選択(新規作成可)
OCR + OpenAI実行を押下- 抽出テーブルを確認
- ダブルクリックで各セル編集
- 下部フォームから「日付/店名/金額/その他」をまとめて修正
- 日付は和暦・西暦どちらも入力可能
- 必要に応じて
元画像を開くで画像確認 Save to Excelを押下
- 日付
- 勘定科目
- 内容
- 支払先
- 支払方法
- 金額(税込)
- 税区分
- 事業利用割合(%)
- 経費計上額
- 備考
- is_error
- error_reason
出力シートには自動フィルタが設定されます。
pip install pyinstaller
pyinstaller --onefile --windowed --name ocrgpt_gui receipt_to_excel.pyWindowsはこっち
python -m pip install pyinstaller
python -m PyInstaller --onefile --windowed --name "ocrgpt_gui_$(Get-Date -Format 'yyyyMMdd-HHmm')" receipt_to_excel.pyreceipt_to_excel.py: Tkinter GUI(一覧編集・エラー可視化・画像オープン)receipt_core.py: OCR / OpenAI / データ正規化 / Excel出力