受取請求書の自動登録化 その3 - 「複合税率対応!レシート・領収書から仮取引を作成する」
前回の記事では、ファイル形式にかかわらずGPT-4oによる画像解析を実行し、freeeに仮取引を登録するためのJSON形式の文字列を出力しました。
そして、仮取引作成に不足している勘定科目・部門に関しては、以下の記事でフォルダツリー構造で取得できるようにしています。
今回は、この2つの記事を組み合わせて、freeeに【勘定科目・部門・メモタグ・発行日・金額・税区分(インボイス制度対応)・備考】が入力された仮取引を作成してみます。
メモタグと備考の準備
メモタグの準備
まず『仮登録』というメモタグを作成しておきます。
AIによって登録された取引は正確性が100%ではないので、後で人間がチェックする必要があります。自動登録された取引が人の手によってチェックされているか、チェックされていないかをフィルターするために用意するタグです。
加えて任意で『レシート・領収書』というメモタグも用意しましょう。
このタグは、銀行振込などで支払う受取請求書の自動登録取引なのか、レシートや領収書等の日々の経費の支出の取引なのかを後で区別できるようにするために付与します。
freeeの良いなと思うところのひとつは、このように複数のメモタグを自由に付与できる点です。こうすることで、後から取引の絞り込みが非常にスムーズになります。
あえて、 #freeeに願いを 伝えるとすると… 複数のメモタグによる組み合わせ検索に対応して頂きたいです。
備考の"ため"の準備
freeeの取引には備考欄が用意されています。この項目も後で検索に使用することができるので、ここも活用していきます。
具体的には、取引を登録した日付とレシートから読み取った支払先が記録されるようにします。
ということで、スクリプトの実装に移ります。
事前準備
このスクリプトには、freee APIを利用します。以下のマガジンで解説している事前準備が必要です。
加えて、OpenAIのChat APIを利用します(有料)。以下の記事で解説している事前準備が必要です。
注意と免責事項
スクリプトはテスト環境で動作テスト済ですが、ユーザー個々の環境で動作しない場合があります。
またGoogle Apps Script(以降GAS)はじめ、各種APIやサービスの仕様変更によって動作しなくなる場合があります。
一部のスクリプトでOpenAIのChat API(Chat GPTに相当)を利用しています。そのため、出力結果が必ずしも期待している内容にならない場合があります。
以上を踏まえ、本記事はコードの共有のみを目的としており、動作保証やサポートは必ずしもお約束しません。
賞味期限(管理人によるバグ修正や仕様変更に伴うアップデート対応期限)は本記事公開後3ヶ月とします。ただし、利用しているAPI等の大幅アップデート(破壊的変更)があった場合はこの限りではありません。
また、このスクリプトの使用から生じるいかなる結果に対しても責任を負いかねますので、ご自身のテスト環境で十分にテストを重ねた上で、使用者の自己責任にてのみご使用ください。
OpenAIChatクラスを追加する
まずGASのプロジェクトにOpenAIChatクラスを追加します。以下の記事を参考にしてください。
レシートから仮取引を登録する
今回サンプルに用意したのは、軽減税率と標準税率が両方含まれている以下のレシートです。
このファイルを「freeeレシート仮取引 > 経理部 > 会議費」のツリー構造のGoogleドライブ内のフォルダに保存しています。
このレシートから仮取引を作成してみたところ
無事に仮取引が登録されました。
勘定科目・税区分・税率ごとの金額・部門・メモタグ・備考とすべて完璧に登録されています。
金額や内容をチェックしたらメモタグ:仮登録を削除して登録を確定させます。
複数の取引を一括でチェックした場合は、 対象の取引を全て選択した上で、新たにメモタグを付与し直してください。
このスクリプトを実務で既に使っていますが、レシート等の場合は、ほとんど修正することなく正確な金額が反映されます。
ということで、スクリプトのご紹介。
この記事が気に入ったらチップで応援してみませんか?