見出し画像

Difyで領収書をOCRして勘定科目を仕訳する

はじめに

最近では、紙の領収書を画像として保存し、それをもとに経費精算するフローが増えてきました。ただ、これを手作業で入力して科目を振り分けるのはなかなか面倒ですよね。そこで、Dify のワークフロー機能を活用して「OCRで領収書情報を抽出し、さらに勘定科目まで自動提案する」という仕組みを作りました。
OCRで文字を取り出すだけでなく、どの勘定科目が適切かをLLMに判定させることで、経理作業を省力化するのが狙いです。

デモ動画

無料のDifyコミュニティ「Dify Studio」の #note記事 チャンネルからこのアプリケーションをダウンロードすることができます。このDSLファイルをインポートすることで上記のアプリがすぐに使えます。ぜひ参加してみてください。

ワークフローの全体像

下記のように、Dify上でワークフローを組んだ画面イメージです。複数のブロックを線でつないで処理フローを表現しています。

ワークフローの作り方

ここからは具体的なブロック構成を紹介します。それぞれのブロックがどのような役割を担っているか、順に解説していきましょう。

開始ブロック(画像ファイルを受け取る)

アップロードされた領収書画像を受け取り、次のブロックへ渡す入り口部分です。

  • 変数 images: 画像ファイルを格納。最大5ファイルまで。

LLMブロック(画像を解析して文字起こし)

ここではLLM+ビジョン設定を有効にし、画像からテキストを抽出します。

LLMブロック(科目の候補を出力)

引き続きLLMの機能を使い、先ほどの領収書情報をもとに、経費として適用される勘定科目を提案します。

テンプレートブロック(結果を整形)

最終出力をMarkdown風に整えて、人間が読みやすい形でまとめるパートです。

  • 領収書OCRブロックで得たテキスト情報を {{ text }}

  • 勘定科目仕訳ブロックで得た候補一覧を {{ item_type }}

  • こういった変数を組み合わせて、最終出力に仕上げています。

終了ブロック(ワークフローを完了)

最後に完成したテキストをエンドポイントとして出力し、ワークフローが終了します。

改善アイデア

ここまでで一連の処理が完成しますが、より現場で使いやすくするには次のような工夫を考えられます。

  • Confidenceスコアなどを用いて曖昧な項目をユーザーに確認
    OCRの精度が低かった場合、不明点をチャットで聞き返すステップを追加。

  • 科目の選択を社内ルールに合わせる
    「消耗品費」「会議費」「交際費」など、社内の勘定科目リストをあらかじめ学習させると、分類精度が上がる。

  • 外部API連携で精算ソフトへ自動登録
    会計ソフトや経費精算システムとHTTPリクエスト連携して、データをそのまま登録する。

  • 複数明細を行ごとに展開
    領収書の中に複数項目があれば一件ずつ仕訳を生成し、合計と合致しているかチェックする仕組みを追加。

まとめ

このように、Difyのワークフローで「画像認識→テキスト化→科目仕訳提案→整形出力」までを自動化すると、経理担当者は大幅に手間が減らせます。社内ルールや運用に合わせてプロンプトやブロックを少し調整するだけで、柔軟に実務へ適用できるのも魅力です。


株式会社Omlucでは法人向けのDify導入支援パッケージをご提供しております。
自社の業務をDifyで効率化したい、Difyを自社で使えるようになりたいなど、Difyに関するお問い合わせはお気軽にご相談ください。


いいなと思ったら応援しよう!