kintoneに定期的に為替レートを記録して、海外経費を海外為替から自動的に円換算してみよう!
Google Apps Script(GAS)で為替レートAPIを定期実行してkintoneに為替レートを記録し、海外為替を自動的に円換算する方法を紹介します。
はじめに
Google Apps Script(GAS)の定期実行機能を使えば、外部APIを呼び出し、必要なデータをkintoneに蓄積・保存して利用できます。
今回はGASを使って為替レートのAPIを定期的に呼び出し、最新の為替情報をkintoneに保存します。
さらに、海外経費精算アプリでその為替情報をルックアップして選択し、経費の円換算を自動的に計算するしくみを作ります。
開発の流れ
-
kintoneアプリの作成:為替レートアプリ
-
Google Apps Scriptでの定期実行プログラムの作成
-
kintoneアプリの作成:海外経費精算アプリ
kintoneアプリの作成 : 為替レートアプリ
アプリの設定のフォームタブにて画像を参考に「為替レート」アプリを作成します。
以下のフィールドを追加します。
フィールド名 | フィールドタイプ | フィールドコード | 備考 |
---|---|---|---|
日付 | 日付 | date | レコード登録時の日付を初期値にする |
通貨コード | 文字列(1行) | currency_name | |
レート | 数値 | rate | |
日本円換算 | 計算 | japanese_yen | 計算式:ROUND(1/rate),2 |
「フォームを保存」して、アプリの「設定」画面に移動します。
「APIトークン」をクリックします。
「生成する」ボタンをクリックします。
生成されたAPIトークンの「アクセス権」に「レコード追加」をチェックして保存します。
「アプリを更新」ボタンをクリックして、変更を反映します。
以上でアプリの作成は終了です。
Google Apps Scriptでの定期実行プログラムの作成
Step 1
次のURLを指定して、
https://script.google.com/home/
Google Apps Scriptのホーム画面を開き、ログイン後、左側メニューの「新しいプロジェクト」の「+」サインをクリックします。
以下の画面が開くので、任意のプロジェクト名、ファイル名に変更します。
Step 2
manifestファイルに、OAuth scopeを記載します。
プロジェクトの設定ボタンから 「appsscript.json」マニフェスト ファイルをエディタで表示する にチェックを入れます。
エディタに戻り、appsscript.jsonに、次のようにOAuth scopeを追加します。
|
|
Step 3
為替レートの取得に今回は、
ExchangeRate-API
を使用します。
サイトより、メールアドレスを入力し、フリープランのAPIキーを取得します。
Step 4
下記を参考にコーディングします。
|
|
コーディング終了後、保存します。
解説
各定数の設定
Exchnage rate APIのリソースURL、APIキー、kintoneのリソースURLおよびAPIトークン、アプリのIDを定数として設定しています。
|
|
Exchange Rate APIのリソースURLには、Base Currencyを日本円にするため、次の値を設定してください。
|
|
為替レートの取得
Exchange Rate APIより、為替レートを取得します。 以下のAPI関数で、GETリクエストを実行できます。
UrlFetchApp.fetch(exrate_api_url, options);
|
|
為替レートのレコードをkintoneのリクエストデータ形式に変換
Exchange Rate APIより取得したレコードを以下のコードでkintone形式へ変換します。
|
|
今回のサンプルでは、以下の為替レートのみ保存しています。
'USD', 'AUD', 'BGN', 'CHF', 'CAD', 'SEK', 'NOK', 'HKD', 'SGD', 'THB', 'CNY'
Exchange Rate APIのレスポンスデータのJSON形式の詳細は
Usage Guide
を参照してください。
また、kintoneへ送信するリクエストデータのJSON形式の詳細は
1件のレコードを登録する
を参照してください。
kintoneへ為替レートデータを送信
kintone APIのPOSTリクエストを作成します。
|
|
次のAPI関数でkintoneへデータを送信します。
UrlFetchApp.fetch(kitone_api_url, options);
|
|
次の形式でレスポンスが返ってくれば成功です。
{"ids":["レコードID"],"revisions":["リビジョン番号"]}
|
|
Step 5
トリガーの設定画面を表示し、「トリガーを追加」からトリガーを追加します。
以下のように設定し保存します。
- 「実行する関数」に作成した関数を選択(画面では「fetch_exchange_rates」)
- 「イベントのソース」として「時間主導型」を選択
- 「時間ベースのトリガーのタイプ」に「日付ベースのタイマー」を選択
- 「時刻」に希望の時間帯を設定(画面では「午後1-2時」)
以上でGoogle Apps Scriptの設定は完了です。
kintoneアプリの作成:海外経費精算アプリ
アプリの設定のフォームタブにて画像を参考に「海外経費精算」アプリを作成します。
以下のフィールドを追加します。
フィールド名 | フィールドタイプ | フィールドコード | 備考 |
---|---|---|---|
申請者 | ユーザー選択 | applicant | |
精算日 | 日付 | expense_date | |
申請内容 | 文字列(複数行) | description | |
為替 | ルックアップ | currency | 画面の設定を参照 |
現地為替申請額 | 数値 | local_currency_amount | 現地通貨で入力 |
為替レート | 数値 | exchange_rate | ルックアップで自動設定:単位記号「¥」 |
日本円換算申請額 | 計算 | amount_in_yen | 計算式:local_currency_amount*exchange_rate |
ルックアップは以下の画像を参考にしてください。
- 関連付けるアプリ:為替レート
- コピー元のフィールド:通貨コード
- ほかのフィールドのコピー:通貨レート ←[為替レート]日本円換算
計算式は以下の画面を参考にしてください。
- 計算式:local_currency_amount*exchange_rate
- 計算式を表示しない:チェック
- 数値(例:1,000)
- 単位記号:¥
「アプリを更新」ボタンをクリックして、変更を反映します。
以上でアプリの作成は終了です。
動作確認
為替レートアプリ動作確認
Google App Script
https://script.google.com/home/
のホーム画面を開き、エディタをクリックします。
実行する関数を選択し(画面では、「fetch_exchange_rates」),「実行」をクリックします。
「実行ログ」欄に「実行完了」と表示され、エラーがなければ成功です。
kintoneの「為替レート」アプリにレコードが追加登録されているのを確認します。
海外経費精算アプリ動作確認
kintoneの「海外経費精算」アプリを開き、レコードを新規追加します。
「申請者」、「精算日」、「申請内容」を入力し、「為替」を選択後、「為替レート」が自動表示され、「現地為替申請額」を入力した後、「日本円換算申請額」が自動計算されれば成功です。
まとめ
サンプルのようにGASの定期実行機能を利用してAPIを呼び出し、データの保存先にkintoneを利用すれば、今回の為替レートの計算のようにさまざまな業務用アプリへ応用できます。
株価、天気、各地気温などのAPIと連携することでそれぞれのニーズに応じたkintoneアプリの作成ができます。
参考サイト
このTipsは、2025年6月版kintoneで動作を確認しています。