こんにちは!もり(@moripro3)です!
今回は、クラウド会計freeeの試算表(貸借対照表)をスプレッドシートに直接出力するコードを紹介します。
CSVファイルを経由せず、直接書き出せるのが便利ですね!
連携アプリの作成・認証などの事前設定についてはこちらをご覧くださいね。
【freee×GAS】GoogleAppsScriptでfreeeAPIと連携認証する(サンプルコードあり)GoogleAppsScriptを使用して、クラウド会計ソフトfreeeのAPI連携が可能です。freee連携アプリの登録方法、認証方法、サンプルコードを紹介しています。...
スポンサーリンク
貸借対照表をスプレッドシートに出力する
事業所のデフォルトの会計期間のBSをすべて取得するコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
//事業所IDを取得する function getCompanyId() { var freeeApp = getService(); var accessToken = freeeApp.getAccessToken(); var requestUrl = 'https://api.freee.co.jp/api/1/companies'; var headers = {"Authorization" : "Bearer " + accessToken}; var options ={ "method" : "get", "headers" : headers }; var response = UrlFetchApp.fetch(requestUrl,options).getContentText(); var jsonData = JSON.parse(response).companies; var companyId = jsonData[0]['id']; return companyId; } //貸借対照表を取得 function getBS() { var freeeApp = getService(); var accessToken = freeeApp.getAccessToken(); //company_idは各自異なる var id = getCompanyId(); var requestUrl = 'https://api.freee.co.jp/api/1/reports/trial_bs?company_id=' + id; var headers = { "Authorization" : "Bearer " + accessToken }; var options ={ "method" : "get", "headers" : headers }; var response = UrlFetchApp.fetch(requestUrl,options).getContentText(); //レスポンスのデータを配列に格納 var jsonData = JSON.parse(response).trial_bs.balances; arr = []; for(var i = 0; i < jsonData.length; i++) { var param1 = jsonData[i].account_category_name;//区分 var param2 = jsonData[i].parent_account_category_name;//親の勘定科目名 var param3 = jsonData[i].account_item_name;//勘定科目名 var param4 = jsonData[i].opening_balance;//期首残高 var param5 = jsonData[i].debit_amount;//借方金額 var param6 = jsonData[i].credit_amount;//貸方金額 var param7 = jsonData[i].closing_balance;//期末残高 var param8 = jsonData[i].composition_ratio;//構成比 arr.push([param1,param2,param3,param4,param5,param6,param7,param8]); } //シートに書き出す var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('貸借対照表'); var arrHeader = ['区分','親の勘定科目名','勘定科目名','期首残高','借方金額','貸方金額','期末残高','構成比']; sheet.appendRow(arrHeader); var row = arr.length; var col = arr[0].length; sheet.getRange(2, 1, row, col).setValues(arr); } |
スプレッドシートに出力(動画あり)
下記の2点がポイントです。
- 出力先のスプレッドシートのシート名を、61行目getSheetByName(‘貸借対照表‘)と一致させておく(ここではシート名を「貸借対照表」としています)
- 関数getBS()を実行する
それでは処理の様子をご覧ください!
今回紹介したコードは、デフォルトの会計期間の全データを取得するものですが、freee APIリファレンスによると、色々な条件指定(絞込)が可能のようです。
- 発生月で絞込
- 取引先IDで絞込
- 品目IDで絞込
など
まだまだ改良の余地がたくさんありそうですね!
もり
また別の記事で、色々な条件指定で出力する方法を紹介するよ~
スポンサーリンク
スポンサーリンク