私は、スタッフとして小売業のレジ業務のオペレーション改善を担当しています。
店舗では陳列している商品の価格が掲示されている価格と異なったことが発覚(通称「売価エラー」原因の大半は、前日の特売POPの取り外しを忘れて、安いと思って買おうとしたが定価だった)した場合、その際に所定の紙に記入作業を行い、店舗内の他部署への報告に加えて、エクセル等に打ち直して本部への発生事由の報告があります。
所定の紙には、レジのテストモードで価格を確認したレシートの貼付も必要です。
最終かつ壮大なアウトプットとしては、価格を確認したレシートを写真で撮り、報告に必要な項目が抜きとられてExcelに変換する、までできる仕組みが作れたらよいですが、まず初めにレシート(jpeg/jpg)をExcelに落とし込めるか、をやってみました。
#使用した機能
・Power Automate desktop(以下PAD)
・tesseract
#PADの構成について
Power Automate desktopのフローは以下の通り
#PAD 項目ごとの説明
##1.【OCRを使ってテキストを抽出】
まずは、レシート画像をテキストに変えます。
1.OCRはtesseractを使用。
2.「画像ファイルパス」はExcelに取り込みたいレシート(JPG)を選択。
3.「OCRエンジンの設定」では、tesseractはそのままでは日本語に変換できないため、「他の言語を使う」をクリックし、「言語コード」を日本語の【jpn】、言語データパスをtesseractのフォルダに設定。
4.「生成された変数」は「OcrText」に。
##2.【テキストの分割】
抽出されたテキスト(OcrText)を区切り記号に文字列が区切られるように設定。
##3.【Excelの起動】
OCRで抽出されたテキストをどのExcelファイルに入力させるのか、をExcelの起動と希望するExcelファイルを設定します。
##4.【変数の設定】
OCRで抽出したデータを取り出したり、エクセルに書き込んだりするのに、ループをおこないます。そのループした回数をカウントするのに、変数を作成します。
##5.【Loop】
Loopを利用して、取得したファイル数分、反復処理(ループ)をおこないます。
##6.【Excelワークシートに書き込み】
【Loop】と【End】の間に【Excelワークシートの書き込み】を差し込む。
OCRで抽出したレシートのテキストをExcelのどこに記入するのかを設定。
#課題と今後
Qiita記事はPDFでの事例が多かったので、そこに記載のフローを参考にJPGで試みました。
実際に作ってみて文字化けが多かったです。JPGは難しいのでしょうか・・・
今後は、レシート内の欲しい項目だけを抜き出してExcelに落とし込めるか挑戦してみます。