領収書の読み取りと経費登録
手書きの領収書を撮るだけで、経費登録の下書きができます。勘定科目はキーワードのルール表で決め、AIの候補と突き合わせて、食い違ったら人に回します。
利用回数に上限があります(1時間あたり30回)。営業目的の自動アクセスはご遠慮ください。
このデモについて(詳しく)
何のためのものか
経理の入力は、紙が届いてから人が転記するまで止まります。起点を人からイベント(写真が置かれた・表計算に1行入った)へ移すと、転記そのものが無くなります。この画面は、その入口にあたる「手書きの領収書を読み取って経費の下書きにする」ところを実際に動かせるようにしたものです。商談でお見せするために作ったサンプル実装で、稼働中の導入事例ではありません。
処理の分岐
「実際にAIで読み取る」を押すと2段階で走ります。1段目は「この画像は支払いの証憑か」の分類で、人物や風景など証憑でない画像はここで止めます。読み取りモデルは「表を読め」と言われると、写っていない数字を作ってしまうためです。2段目で日付・店名・合計・消費税・明細・支払方法を、書かれているとおりに抽出します。抽出した値はそのまま画面に出さず、金額のカンマや通貨記号を落として数値にし、和暦を含む日付を正規化し、許可した勘定科目以外は雑費に落としてから表示します。合計金額が読み取れなかった場合は、経費として成立しないため結果を捨てます。
勘定科目をAIに決めさせない理由
勘定科目は会社ごとの運用で決まっており、正解が文面の中にありません。そこで、但し書きと店名に対するキーワードのルール表で判定し、AIには「候補とその理由」を別に出させて突き合わせます。両者が食い違ったらルール表を採り、画面に両方を並べて「要確認」を立てます。ルール表に当たる語が無いときだけ、AIの候補を採ります。どちらでも決まらなければ雑費です。判断の責任がどこにあるかを、画面から読み取れる状態にしています。
検算
税抜と消費税と合計の関係、明細の合計と領収額の一致は、算術で確かめます。消費税が読み取れなかったときは、合計と税率から計算して補い、そのことを注記に出します。検算が合わない場合は信頼度を下げ、人の確認へ回す印を立てます。しきい値は同梱のサンプル実装と同じ0.7です。
請求書の側
反対側の「請求書の自動発行」は、表計算の1行を起点に、請求書の発行・取引先への送付・売掛の計上までを続けて走らせ、結果(請求書ID・PDFのURL・発行済の状態)を元の行へ書き戻します。入金の消し込みは、銀行明細の取り込みと請求番号での照合に任せます。この画面からは実行しません。図と、動かせる実装一式(Google Apps Script)を置いてあります。
サンプル実装について
配布している zip には、認証・請求書発行・会計連携・領収書の読み取りの4本と、表計算のテンプレート定義が入っています。鍵や事業所IDはコードに書かず、スクリプトプロパティから読む形にしてあります。README に載せた削減時間は、サンプルを設計した時点の試算であって、導入実績値ではありません。
本番との違い
このデモは読み取った結果をその場で表示するだけで、会計システムへの登録も、画像の保存も、蓄積も行いません。実際に導入する場合は、受信フォルダの監視、処理済みの退避、信頼度の低いものを人のレビューに回す一覧、そして失敗した取り込みの記録が要ります。