TROCCOが「freee会計」に対応したので爆速で触ってみた

# はじめに
ETLツールのTROCCOを開発するprimeNumberでは「あらゆるデータを、ビジネスの力に変える」をミッションに掲げており、TROCCOの対応するコネクタも非常に豊富で、日々進化をし続けています。
対応するコネクタの種類もクラウドサービスから広告データやMAツールまで幅広い領域のデータを扱っています。(対応コネクタは[こちら](https://primenumber.com/trocco/connectors)をご参照ください)

そして先日、**「freee会計」がコネクタとして追加されました！**
プレスリリースも2024年12月10日に発表されております。

freee会計は導入している企業数も非常に多く、データを活用して財務分析をしたい方も多くいらっしゃるかと思います。そのためエンジニアだけでなく、より多くの人に需要の高いツールなのでは？と筆者自身考えています。

そんな、ビジネスの様々な場面で使われているfreee会計のデータを、先んじて検証したいと考え、記事にしようと考えました。

今回はfreee会計のデータを活用するべく、TROCCOでの転送設定のやり方についてご紹介したいと思います。

# 対象の読者
 - freee会計のデータ使って会社の財務分析をやりたい方
 - TROCCOを使ってfreee会計のデータを取得したい方
 

# 事前準備
### 開発テスト環境を作成する
記事発信で社内の会計データを晒すのは....と筆者自身腰が引けてしまいました。汗

でもfreee会計には「開発テスト環境アプリ」というのが存在し、[「freeeAPIスタートガイド」](https://developer.freee.co.jp/startguide)の方に準拠していけば作成が可能です。
開発テスト環境アプリでは、APIを利用するにあたっての権限も付与されている状態です。
今回はこちらを活用し、転送設定を行います。

:::note warn
実際の会計データを使いたい方は、この章をスキップして問題ありません。
ただし、取得したいデータが、TROCCOで転送するのに十分な権限が付与されているかを予めご確認ください。
権限周りについては、[「freee developer community公式 権限とエラー」](https://developer.freee.co.jp/reference/faq/authority-and-error)などを参考にしてください。

:::


### freee会計のアプリ認証でTROCCOを登録する
次にfreee会計のアプリとTROCCOを接続させます。
TROCCOの「接続情報一覧>接続情報の新規作成(サービス選択)」からfreee会計情報を選択し、接続情報の設定を行います。

![スクリーンショット 2024-11-22 21.11.02 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/a98ff927-bc85-9981-b450-85384dad1913.png)

freee会計アカウントの「会計アカウント認証」ボタンを押下し、下記画面に飛び、「許可する」を押します。

![スクリーンショット 2024-11-22 21.05.20 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/8f22fdd1-467b-dccb-f4a1-79f7695f2141.png)

許可をした後、認証時間が付与されるためこれでTROCCO側との認証がうまくできました。

![スクリーンショット 2024-11-22 21.28.48 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/d3a622c7-ff62-d9ba-1357-4bdd56f066ca.png)

# 転送設定
では実際の転送設定に移ります。
財務分析で必要な会計項目を取得するには、以下2つのステップが必要になります。

- 会計項目の取得で必須となる事業所IDの取得
- 事業所IDのデータを使って、各種会計項目を取得
  -  今回の記事では貸借対照表を取得 

そのため、本記事ではそれぞれに対してTROCCOの転送設定を設けました。


### 事業所IDの取得
会計項目を取得するために、必ず「事業所ID」の情報が必要になります。
そのため、事業所IDを取得するための、TROCCOの転送設定を行います。

では、転送設定に移ります。
以下のように転送元と転送先を選択します。
- 転送元: freee会計
- 転送先: 任意の場所（今回はBigQueryで転送先設定を行います）

![スクリーンショット 2024-12-09 23.20.18（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/7f87de1b-ae09-f23c-8376-5846b2af6224.png)

次に転送先freee会計の情報を設定します。
以下のように事前準備で設定した「freee会計接続情報」を選び、取得対象には「事業所一覧」を選びます。

![スクリーンショット 2024-12-08 0.46.34（2） 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/9f8f7f4e-6a1b-86e7-169a-0a778df3ec67.png)

転送先BigQueryは以下のように、「接続情報」「データセット」「テーブル」「データセットのロケーション」を選択します。

![スクリーンショット 2024-12-08 0.46.34（2） 3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/af27f36e-c098-5c96-ba73-01898c5e51d5.png)

:::note warn
BigQueryの接続情報等の詳細な設定方法について、今回の記事では割愛します。
詳しい設定方法が知りたい方は、筆者の過去記事を参考してください。
TROCCOの転送(先)の設定方法について、BigQueryとDatabricksで取り上げておりますので、適宜ご確認ください。

**BigQuery**:
https://qiita.com/wakama1994/items/0e586a0954dd0f4f1f2d
**Databricks**: 
https://qiita.com/wakama1994/items/17be09bb78165cefae11

:::

Step2に移ると、「各種会計項目」で使う事業所id(カラム名)が確認で見ます。

![スクリーンショット 2024-12-09 10.39.39（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/5cfbde52-9669-f54d-1094-e3d9f94123be.png)

こちらからも確認はできますが、今回は念の為転送できたかどうかも確認したいため、BigQuery上からも確認を行います。

![スクリーンショット 2024-12-09 10.21.02 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/ef56fcd6-5ab1-edb2-c9c8-839006e796fd.png)

### 事業所IDのデータを使って、各種会計項目を取得
では、いよいよ各種会計項目のデータ取得に移ります。
TROCCOから取得できる会計項目は、事業所一覧も含め、下記画像の通りとなります。

![スクリーンショット 2024-12-09 21.47.58 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/31e0bce3-1908-7115-baff-572e1272376c.png)

引用元 : freeeアプリストア公式[「TROCCO® × freee会計」](https://app.secure.freee.co.jp/applications/34988)より

今回は例として、「貸借対照表」のデータを取得したいと思います。

では、転送設定に移ります。事業所IDと同様に、転送元と転送先を以下で選択します。
- 転送元: freee会計
- 転送先: 任意の場所（今回はBigQueryで転送先設定を行います）

![スクリーンショット 2024-12-09 23.20.18（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/7f87de1b-ae09-f23c-8376-5846b2af6224.png)

freee会計の接続情報を設定したのち、取得項目には「貸借対照表」を選び、先ほどBigQueryに転送した事業所IDを記載します。

![スクリーンショット 2024-12-09 22.59.31 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/ba5e886f-b751-c3c6-db61-3abfd86ee11e.png)

貸借対照表の場合、勘定科目が必須のため「勘定科目」か「決算書表示」のいずれかを選びます。
それ以外の項目は任意のため、ご自身の環境に合わせて設定してください。

![スクリーンショット 2024-12-09 21.14.25 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/6cf3601d-7754-d34a-af35-4a7a2558f25f.png)

:::note info
その他の会計項目の詳細と必要なパラメーターに関しては、[TROCCO公式ドキュメント](https://documents.trocco.io/docs/data-source-freee-accounting)に添付されている、[「freee Developers Community - 会計APIリファレンス」](https://documents.trocco.io/docs/data-source-freee-accounting)をご確認ください。
:::

次に転送先BigQueryの設定を行います。
「事業所IDの取得」の場合と同じように設定を行います。

![スクリーンショット 2024-12-09 20.17.22 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/f9c1399e-cc72-5f63-f3a5-c3eeb578fc94.png)

STEP2でカラム名やデータ定義に問題ないか？を確認し、実際の転送を実行します。

転送実行後、BigQueryにデータ転送がされていれば、これでfreee会計の貸借対照表がBigQueryで使えるようになります！

![スクリーンショット 2024-12-09 22.54.30 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/620fa35d-d56c-72ca-a882-b800bb365c45.png)


# 応用例:ワークフロー機能で、各種会計項目を取得する
「事業所IDのデータ取得」の転送設定を使い、貸借対照表のデータ取得を行いました。

ただ、紹介したものだと、事業所IDをどこかにメモして、貸借対照表のデータを取得する必要があります。

よりシームレスな連携をするにあたり、応用例としてTROCCOのワークフロー機能を使った応用例も紹介します。

まず、ワークフローの流れとして「事業所IDが取れる転送設定」＞「貸借対照表が取れる転送設定」の順で設定します。

![スクリーンショット 2024-12-09 23.48.38 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/378187ab-3aef-94e9-1ebe-e95fd523c424.png)

次に、「貸借対照表が取れる転送設定」内の「事業所ID」には下記のようにカスタム変数を用います。

![https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_2725527_467b121d-73aa-ec07-8e1b-9c2d4ddbdd61のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/96ed7016-e3f5-23b4-3ccc-eaed715801a0.png)

次にワークフロー内で、カスタム変数が実行されるようにします。
今回は「事業所IDが取れる転送設定」でBigQueryに送ったテーブルを用いて、事業所ID以外の項目で事前にわかっているものを絞って特定させます。

![https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_2725527_467b121d-73aa-ec07-8e1b-9c2d4ddbdd61のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/1c7e4326-38b6-6f6e-fbb3-0f7fef0f28ea.png)

::: note warn
今回は見本で、既に事業所IDの一覧テーブルをBigQueryに転送した状態でクエリを書いていますが、転送が済んでいない場合は上記SQLでの処置はエラーになる可能性があります。
:::

最後にワークフローを実行すると、事業所IDの情報を「貸借対照表が取れる転送設定」に受け渡し、貸借対照表のデータをとることができます。

![スクリーンショット 2024-12-09 23.50.28 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/bc4a5780-1511-eab1-35dc-c09a2ef268c6.png)

ワークフロー機能を用いることは、定期的に更新される会計データを取得する際に役立ちます。
また複数同時に会計項目を取りたい場合も、毎回転送設定する手間が省けます。

freee会計のデータを用いて財務リスク分析する際に、ぜひこの機能を活用ください。

# まとめ
今回は、TROCCOのコネクタとして開通されたばかりの、freee会計の転送設定について取り上げました。
freee会計のデータ取得には、「事業所IDのデータ取得」と「事業所IDから各種会計項目の取得」の２種類の転送設定が必要となります。
その応用的な活用として、TROCCOのワークフローを使って、「事業所IDの取得→取得した事業所IDから各種会計データの取得」を行いました。

freeeで会計データを管理されている方に、この記事を通じて、freeeのデータをより身近に感じてもらえることを願ってやみません。

# 補足
:::note info
今回紹介した、freee会計のコネクタについては、あくまで2024年12月10日現在で設定できるものとなっています。
機能も順次アップデートがありますので[TROCCOの公式ドキュメント](https://documents.trocco.io/v2/docs/ja/connection-configuration-freee-accounting?highlight=freee)を適宜ご確認頂ければ幸いです。
:::