レシートをGoogleドライブ保存するだけでfreeeに仮取引は作成できるのか!? その4 - 実践編
レシートをGoogleドライブ保存するだけでfreeeに仮取引は作成できるのか!?シリーズですが、前回の記事で紹介した実行関数を実際に走らせてみます。
今回はコードの紹介はないので、全文無料でお読みいただけます。
この記事はマガジン「freeeファイルボックスの証憑管理を自動化しよう!」の連載の一部です。
スキャンしたレシートを証憑格納フォルダに保存
何はともあれ、レシートを証憑格納フォルダに保存します。
架空の法人のfreeeラボは、ほとんど経費性の支出がありませんので、生活支出を登録していきます(現実の事業では真似しないでね)。
triggerUploadFilePostDeal関数を実行
ファイルの保存が確認できたら実行関数であるtriggerUploadFilePostDeal関数を実行します。
関数名から想像いただける通り、実務ではトリガーを設定して自動実行させることで、フォルダに保存したファイルから自動で取引を作成します。
エラーが出た!
今回の関数は、1件ごとの処理に時間がかかります。気長に待っていると1枚づつゆっくりと処理してくれます。
ただ、Google Apps Script(以降GAS)の制限で6分でタイムアウトする可能性がありますので、あまりにレシートをためすぎると1回では終わりません。
今回は、タイムアウトするほどの数ではありませんでしたが、途中でエラーが出ました。
エラーの内容を読み解くと、「勘定科目はnullにはできないよ」というもので、ChatAPI(ChatGPTに相当)が勘定科目の選択をミスったようです。
ロジックの誤りでなく、ChatAPIがプロンプトに従わなかったためで、ChatAPIを使う以上、こうした出力のゆらぎは稀に起こります。
freeeの取引を見に行くと、3件だけ登録ができていました。
軽減税率の食品の購入は、過去のパターンから仕入高を選択できてますね。
2件目の500円は駐車場代だったので、車両費の選択は中々のものです(旅費交通費が良い場合はそう学習させましょう)。
最後の丸亀製麺は昼食代ですが、経費性の支出として認識されていないのか(←当たり前)仮勘定になっています。
関数を再実行して残りのレシートも処理
途中でエラーで止まってしまったので、まだこれだけのレシートが残っています。
あらためてtriggerUploadFilePostDeal関数を実行します。
先ほどエラーが出た(勘定科目が設定されなかった)レシートを含む、同じファイルですが…
今回は無事終了。
6件登録するのに2分17秒(22秒/件)要しています。
仮登録された取引を確認
仮登録というメモタグを付けて取引を作成しているので、このメモタグを条件に取引を絞り込みます。
勘定科目を推測できなかった取引が5件ありました。まあ生活支出なので当然と言えば当然です。またテスト環境のため過去の学習パターンが少ないというのもあります。
金額等を確認しつつ品目・部門などを登録
次のステップは、金額等を確認しつつ品目・部門などを手動で登録していきます。
総額に関しては、単一仕訳なら100点満点の出力です。複数税率の場合は、総額をそれぞれの税率に割り当てるので、手動訂正が必須です。
ただ各税率の存在の判定は、ほぼほぼ正解です。
部門付与やメモタグの更新は一括編集で
最後に仮登録のメモタグを確認済の意味を込めてChatAPIのメモタグに更新します。また部門付与を一括で行える場合は、ここで付与してもよいと思います。
反省点と今後のブラッシュアップ
今回のスクリプトですと…
勘定科目の確認・修正
品目の付与
部門の付与
税率ごとの金額入力
税区分の選択(特に適格請求書の判定)
がやはり手間です。
勘定科目や部門はやはり人間が付与したほうがスムーズです。なので、実務で使うスクリプトは別のアプローチを採用しようと思います。
税率ごとの入力や税区分の選択に関しては、プロンプトをもう少し工夫するともっと精度上げれるのでは?と思っています。
最後の課題は実行速度です。
今回のロジックはかなり粗い設計になっているので、もう少しスピードアップできると思います。
まあ、こまめにレシートを保存すればよいだけの話なのですが…
おわりに
「レシートをGoogleドライブ保存するだけでfreeeに仮取引は作成できるのか!?」というお題でしたが、結論としてはAIの力を借りると結構イイ線までできるです。
部門や品目の管理が不要な個人事業者レベルだと、ためたレシートの入力などかなり簡略化できるのではないでしょうか。
日付と金額(総額)をほぼ外さないだけで、色々な可能性を感じます。
この記事が気に入ったらチップで応援してみませんか?