レシートをGoogleドライブ保存するだけでfreeeに仮取引は作成できるのか!? その3 - 領収書アップロードと仮取引の作成を自動化する
前回の記事では、OCRで読み取った領収書やレシートのテキストから、必要な情報を抽出してJSON形式で返すreceiptText2JSON_関数をアップデートしました。
強力なChatAPI(ChatGPTに相当)の力を借りて
勘定科目
支払日
支払総額
支払先
消費税10%支払の有無(Boolean型)
消費税8%支払の有無(Boolean型)
消費税非課税支払の有無(Boolean型)
適格請求書に該当するか(Boolean型)
登録番号
を抽出します。気になる精度ですが、学習データが少なく未知数な勘定科目以外はほぼ問題ない結果です。
今回は、これまで紹介した関数を使って実際に実行(レシートから仮取引を作成)してみましょう。
この記事はマガジン「freeeファイルボックスの証憑管理を自動化しよう!」の連載の一部です。
開発方針
まずは開発方針をおさらいします。
Googleドライブに証憑格納フォルダとアップロード済フォルダを用意
Drive APIでレシートの内容をOCR
OCR結果をChat API(ChatGPTに相当)に解析してもらう
勘定科目は、freee過去1年の取引データから「勘定科目・取引備考」のペアをもとに類推させる
経費科目として利用する勘定科目を絞り込んで列挙しておく
適格請求書の判定は「登録番号の記載」で判断させる
レシートに存在する消費税の種類(10%・8%・非課税)を類推させる
上記の結果をJSONで出力させ、そこからfreeeの取引データを抜粋する
出力結果をもとにファイル名をリネームする
日付・金額・証憑メモ・適格請求書判定などメタデータを含めてアップロードする
証憑ファイルのアップロード後のレスポンスからIDを取得する
証憑IDを含めて取引をfreeeに登録する
前回までの記事で紹介した関数で1-8までの処理が可能になっています。実行関数は、ファイルのアップロードの後に仮取引を作成させます。
注意と免責事項
スクリプトはテスト環境で動作テスト済ですが、ユーザー個々の環境で動作しない場合があります。
またGoogle Apps Script(以降GAS)はじめ、各種APIやサービスの仕様変更によって動作しなくなる場合があります。
一部のスクリプトでOpenAIのChat API(Chat GPTに相当)を利用しています。そのため、出力結果が必ずしも期待している内容にならない場合があります。
以上を踏まえ、本記事はコードの共有のみを目的としており、動作保証やサポートは必ずしもお約束しません。
賞味期限(管理人によるバグ修正や仕様変更に伴うアップデート対応期限)は本記事公開後3ヶ月とします。ただし、利用しているAPI等の大幅アップデート(破壊的変更)があった場合はこの限りではありません。
また、このスクリプトの使用から生じるいかなる結果に対しても責任を負いかねますので、ご自身のテスト環境で十分にテストを重ねた上で、使用者の自己責任にてのみご使用ください。
freeeの領収書アップロードと仮取引の作成を自動化する関数
ということで、早速本編です。今回実装したスクリプトはこちら。
この記事が気に入ったらサポートをしてみませんか?