会計freee請求書APIリニューアルにつき一覧取得を試してみました

会計freeeが、請求書APIをリニューアルしたことに伴い、

一覧の取得を試してみました。

APIとその準備については個人ブログに書いていますので、

よろしければご覧ください。

freee API利用によるスプレッドシートとの連携を試して感じた効率化の今後 | Jewelry ∞ Life

 

請求書APIでできること

請求書APIでは、以下のことが実施できます。

  1. 請求書の作成(POST)
  2. 一覧の取得(GET)
  3. 更新(PUT)
  4. 削除(DELETE)

以前は上位のプランのみ利用可能、限定公開をしていたようですが

現在(2019年5月現在)は会計freeeの全プランで利用可能とのことです。

 

利用例:一覧の取得(GET)

今回利用してみたのは2.の一覧の取得(GET)です。

Google Spread Sheetに一覧にしてみました。

個人ブログで紹介した勘定科目一覧取得、明細一覧取得と基本的には同じ

コードとなります。

(既にfreeeAPIとの連携は済んでいる状態です)

/******************************************************************
function name |RequestInvoices
summary |請求書データを取得する
request_url |https://api.freee.co.jp/api/1/invoices
method |GET
******************************************************************/
function getRequestInvoices() {

var freeeApp = getService();
var accessToken = freeeApp.getAccessToken();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()

var sheet = spreadsheet.getSheetByName(‘請求書一覧’);
var range1 = sheet.getRange(‘J1’);
var companyID = range1.getValue()

//freeeにリクエストを送信
var requestUrl = ‘https://api.freee.co.jp/api/1/invoices?company_id=’ + companyID;

var headers = { “Authorization” : “Bearer ” + accessToken };
var options ={
“method” : “get”,
“headers” : headers
};
var res = UrlFetchApp.fetch(requestUrl,options).getContentText();

//レスポンスのデータをJSON形式で配列に格納
var parsedResponse = JSON.parse(res);
var data = parsedResponse.invoices;
Logger.log(data);

param1 = [];
param2 = [];
param3 = [];
param4 = [];
param5 = [];
param6 = [];
param7 = [];
param8 = [];

for (var i = 0 ; i < data.length ; i++) {
param1.push( [ data[i].issue_date ] );
param2.push( [ data[i].partner_id ] );
param3.push( [ data[i].partner_name ] );
param4.push( [ data[i].invoice_number ] );
param5.push( [ data[i].title ] );
param6.push( [ data[i].due_date ] );
param7.push( [ data[i].total_amount ] );
param8.push( [ data[i].description ] );

//取得したデータをシートに書き出す
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(‘請求書一覧’);
var row = 2;//1行目はヘッダー
sheet.getRange( row , 1 , param1.length , 1 ).setValues( param1 );
sheet.getRange( row , 2 , param2.length , 1 ).setValues( param2 );
sheet.getRange( row , 3 , param3.length , 1 ).setValues( param3 );
sheet.getRange( row , 4 , param4.length , 1 ).setValues( param4 );
sheet.getRange( row , 5 , param5.length , 1 ).setValues( param5 );
sheet.getRange( row , 6 , param5.length , 1 ).setValues( param6 );
sheet.getRange( row , 7 , param5.length , 1 ).setValues( param7 );
sheet.getRange( row , 8 , param5.length , 1 ).setValues( param8 );

}
}

 

freeeの法人ミニマムプラン:開発用テスト環境が用意されていたので、そちらから

請求書のデータをスプレッドシートに取り込んでみました。

 

活用方法として考えられること

請求書の一覧の取得(GET)を行い、加筆訂正して請求書の作成(POST)

を行えば毎月の請求書作成の作業が軽減されるのではないかと思いました。

Google Spread SheetからのPOSTに関しては、こちらに説明とサンプルシートが

あります。

【freee API】GASを用いてGoogleスプレッドシートと連携する – freee ヘルプセンター

POSTについてはまた試して、記事にしたいと思います。

 

まとめ

freeeの請求書APIを試してみました。

直接連携できるのはスピードも本当に早いですし効率化に役立ちそうです。

一つのソフトであれこれと機能がついているよりも、

プログラムがオープンで他のソフトと連携できる機能は

カスタマイズしやすいですし、ありがたいですね。


代表プロフィール
事務所の特徴
【税務メニュー】
単発決算・申告
単発税務相談
単発税務メール相談
【コンサルティングメニュー】
クラウド会計導入コンサルティング
個別コンサルティング