「電子取引のデータ保存」の【規則的なファイル名で保存】をOCRとAPIで自動化

# こんな人に参考にしてほしい
###
- ### 「電子取引のデータ保存」の対応で仕事が増えた
###
- ### PDFの内容をExcelに入力するのが大変
###
- ### DXを推進したい！
# はじめに
電子帳簿保存法の「電子取引のデータ保存」が2024年から義務化されました。その中で、**【規則的なファイル名で保存】** が求められています。(一定要件で緩和できるなどの電子帳簿保存法の説明は省略)

一般的なルールが **「ファイル名を【取引年月日】_【取引金額】_【取引先名】で保存」** としています。各項目は当該電子取引データの内容です。

この **【規則的なファイル名で保存】は、OCRとAPIで自動化できます。** 電子データをOCRで取得し、APIを利用してファイル名を変更します。
今回、OCRは**DX Suite**、API操作は**Workato**を使って説明します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570089/7682031d-0126-a2f4-eadf-ecba12233bfc.png)

# OCRとAPIで業務効率化
### ● DX Suite
DX Suiteは高精度な文字認識技術を持っているOCR製品です。
読取したいファイルをアップロードし、OCRで読取した結果をCSVファイルでダウンロードできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570089/edf806db-aea8-6307-e6f8-52d5e41f551d.png)

DX Suiteは、APIだけでアップロードやダウンロードができます。
「APIだけで」というのは、サンプル画像のようなWebサイトを操作せずに、**ネットワーク上で完結するというイメージです。** 
実現するには、APIを操作しなければいけません。

### ● Workato

Workatoを使ってDX SuiteのAPIを操作をします。
WorkatoはiPaaS製品に分類されています。iPaaSはAPIを通してソフトウェアの処理や、ソフトウェア同士を繋げたりします。

**一連の流れはWorkatoで作成します。** 
Workatoのレシピといわれるワークフローで、必要なアクションを設定します。今回は、まず4つを設定します。

<font color="#00008b">**① New file in on-prem folder**</font>
選択したフォルダを定期的に監視して、新しいファイルがあれば、読取ファイルを取得します。トリガー条件(新しいファイル存在有)が満たされたときに以降のアクションが実行されます。

<font color="#00008b">**② 読取登録**</font>
DX Suiteにファイルアップロードを行います。前工程で取得したファイルをDX Suiteにアップロードし、受付IDを取得します。

<font color="#00008b">**③ 非定型の結果取得**</font>
読取結果を取得します。前工程の受付IDでDX Suiteに問い合わせて、受付IDに該当する読取結果を取得します。

<font color="#00008b">**④ Rename an on-prem file**</font>
読取結果から、ファイル名変更を行います。前工程の読取結果を、ファイル名変更の処理に割り当てます。【取引年月日】,【取引金額】,【取引先名】に該当する項目を選択し、ファイル名変更を実施します。

以下が、作成したWorkatoのレシピです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570089/927f7a72-2397-313c-c332-8ef29f58fc1c.png)


これで【規則的なファイル名で保存】の、Workatoの基本的なレシピは完了です。実際には「③ 非定型の結果取得」で、正しく読取できたか確認するために、繰り返し処理や分岐処理が必要になります。

今回は、トリガー条件の場所をローカルフォルダとしましたが、**GoogleドライブやOneDriveなどに設定するのも可能です。**

ちなみに、DX Suiteでは適格請求書番号(請求書番号)を取得することもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570089/e573c2ad-147a-f7ed-ac2d-9c521775caa5.png)

紹介したWorkato内のDX Suiteアクションは、弊社で作成させて頂きました。今後もどんどんアップデートしていく予定です。

弊社では他にも、DX Suite、Workatoなどの、業務効率化に関する記事を書いています。あわせて参考にしてみてください。
[→会社概要と記事一覧はこちら](https://qiita.com/organizations/bstylevt/profile)


以下では、OCRとAPIについて簡単に説明します。
# OCRとは読み取る技術
OCRとはスキャンされた画像ファイルから、文字などを読み取る技術です。OCR製品によって読み取り方法に違いがあります。

DX Suiteに関しては文字読取に特化しています。
例えば、請求書データを、OCRに通すことで、請求日や請求会社などの、ファイル内の各情報を取得することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570089/f186ea9b-6242-5146-8819-65c7a9a27fa3.png)

DX Suiteの簡単な機能紹介、Workato×DX Suite×Slackの便利な活用方法について書かれた記事があるので、参考にしてみてください。
[→Workato×DX Suiteの便利な活用方法について](https://qiita.com/shimamura_bvt/items/96a33b12a86e648924df)

# APIとはソフトウェア同士の道路
APIとはソフトウェアが通信するためのインターフェースやプロトコルのことを指しており、ソフトウェアが情報をやり取りする手段として提供しています。ソフトウェア同士がコミュニケーションをとるための、道路のようなものです。

iPaaSを使うとソフトウェア同士の連携がスムーズになります。
例えば、DX Suiteで読み取った結果を各システムに登録処理を行い、コミュニケーションツールで完了通知するという設計も、iPaaSで可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570089/180a9373-d3c1-978f-9603-75b12e7c5994.png)

さきほど紹介した【規則的なファイル名で保存】の、**トリガー条件**はフォルダを定期的に監視する。と説明しました。
トリガーにも、さまざまな種類があります。トリガーについて書かれた記事があるので参考にしてみてください。
[→なんちゃってエンジニアがWorkatoのトリガーについてまとめてみた](https://qiita.com/Omitsu_bvt/items/7be20abd03889306b979)

# 終わりに
今回は、電子帳簿保存法の電子取引のデータ保存を焦点にして書きました。参考になれば幸いです。

個人的には、一部の業務プロセスを自動化できたことは、デジタルトランスフォーメーション(DX)の始まりだと考えています。一歩をきっかけに、DXを推進する体制作りも必要だと思います。

推進体制の一つとしてRevenue Operations（レベニューオペレーションズ）というのがあります。説明している記事があるので、会社全体でDX推進していきたいと思っている方は参考にしてみてください。

[→Workatoで実現していくRevenue Operations](https://qiita.com/Omitsu_bvt/items/aca870ed8e7ee38f7e37)

※「DX Suite」はAI inside 株式会社の登録商標です。