【重要】2020年12月の会計freee APIの仕様変更について

2020年12月に、下記に記述した会計freeeのAPIの仕様変更を実施します。

新仕様APIの提供開始時期と利用方法

仕様変更に先立ちまして、2020年6月より、新仕様のAPIを提供します。

リクエストヘッダーにAPIのバージョン

X-Api-Version: 2020-06-15

を指定することで、新仕様のAPIが利用可能となります。

APIのバージョン指定をせずにリクエストを行った場合、12月に新仕様のAPIに自動的に切り替わります。詳しくは、本ページ下部のサンプルコードをご覧ください。

開発者の皆さまは、変更内容をご確認の上、アプリの改修計画など、適宜対応のご検討をお願い対します。

(2020/12/17追記)
仕様変更に伴うQ&Aを公開しました。ご不明な点がある場合、一度お目通しください。

※今回の仕様変更の影響を受けないアプリについては、改修の必要はありません。

仕様変更スケジュール時期:

2020年12月中旬

変更内容:

1. 勘定科目(Account_items)

1-1 POST、PUTメソッドでリクエストを送信する際、下記の各パラメータの指定方法が変更となる(C1,C2,C3)

パラメータ名変更前変更後
支出取引相手勘定科目corresponding_expense_name
名前(=文字列)で指定
corresponding_expense_id
ID(=数値)で指定
収入取引相手勘定科目corresponding_income_name
名前(=文字列)で指定
corresponding_income_id
ID(=数値)で指定
税区分tax_name
名前(=文字列)で指定
tax_code
ID(=数値)で指定
勘定科目のカテゴリaccount_category
名前(=文字列)で指定
account_category_id
ID(=数値)で指定

1-2 変更となる任意パラメータ(C5)

POST、PUT リクエスト送信時に指定が可能

パラメータ名変更前変更後
減価償却累計額勘定科目accumulated_dep_account_item_name
名前(=文字列)で指定
accumulated_dep_account_item_id
ID(=数値)で指定

1-3 削除となるレスポンス内のパラメータ(C27)

GET、POST、 PUTのレスポンスから不要となるパラメータを削除

パラメータ名変更前変更後
支出取引相手勘定科目種別
収入取引相手勘定科目種別
corresponding_type_expense
corresponding_type_income
利用しないため削除

2. 請求書(Invoices)

2-1 パートナー名の必須化(C6)

POST、PUT リクエスト送信時の指定方法およびレスポンスが変更

変更前変更後
パートナー名に関するパラメータの必須指定はない
  • リクエスト、レスポンスともにpartner_display_nameが必須となる
  • リクエストから partner_name 指定が削除
  • レスポンスから partner_long_name が削除

2-2 敬称(必須パラメータ)(C7)

POST, PUTリクエスト送信時、これまでは任意だったものが必須となる

変更前変更後
partner_title
任意
partner_title
設定が必須

2-3 権限適用範囲の変更(C8)

POST, PUTリクエスト送信時、グループ権限で利用できる部門を絞ることが可能となる

変更前変更後
グループ権限で特定のユーザーが利用できない部門のタグがついた取引の請求書でも、API経由で取得、更新、削除ができるグループ管理で利用可能となっていない部門のタグを指定している場合、請求書の取得、更新、削除ができない

2-4 期間指定パラメータの変更(C9)

GETリクエスト送信時の期間指定用パラメータが変更になる

変更前変更後
以下のパラメータで期間指定

 

  • issue_date_start
  • issue_date_end

期日の開始日と終了日

  • due_date_start
  • due_date_end
以下のパラメータで期間指定

 

  • start_issue_date
  • end_issue_date

期日の開始日と終了日パラメータが変わる

  • start_due_date
  • end_due_date

2-5 請求書ステータスの変更(C10)

GETリクエスト送信時、およびレスポンスが変更

変更前変更後
invoice_status を見ると
送付待ち・送付済み関わらず、以下になる

 

  • invoice_status = issued
invoice_status が送付済みの時に以下になる

 

  • invoice_status = submitted
  • issuedは廃止

invoice_status が送付待ちの時に以下になる

  • invoice_status = unsubmitted

3 口座(Walletables)

3-1 GETとPOSTのレスポンスフォーマット統一(C12)

変更前変更後
GETとPOSTでレスポンスフォーマットが異なるGETとPOSTのレスポンス共にフォーマットが統一される

4 仕訳帳(Journals)

4-1 GETリクエストに対するレスポンス内の「messages」の型を統一(C13)

変更前変更後
レスポンス内のパラメータ
「messages」の型が
string、arrayの2つが混在
「messages」の型をarrayに統一

5 事業所(Companies)

5-1 「PUT」パラメータの型を統一(C14)

パラメータ名変更前変更後
private_settlementリクエスト・レスポンスで型が異なるリクエスト・レスポンスともに「boolean」に統一
fiscal_years_attributesの
use_industry_template
製造業向け機能
リクエスト・レスポンスで型が異なるリクエスト・レスポンスともに「boolean」に統一
fiscal_years_attributesの
indirect_write_off_method
固定資産の控除法
リクエスト・レスポンスで型が異なるリクエスト・レスポンスともに「boolean」に統一
fiscal_years_attributesの
indirect_write_off_method_type
間接控除時の累計額
リクエスト・レスポンスで型が異なるリクエスト・レスポンスともに「boolean」に統一

5-2 PUT時のリクエスト、レスポンスのフォーマットを統一(C15)

変更前変更後
リクエスト、レスポンスでJSONのフォーマットが異なるリクエスト・レスポンスでJSONのフォーマットを統一

6 取引

6-1 POST、GET、PUTで「tax_id」 パラメーターの廃止(C20)

変更前変更後
  • POST、GET、PUTでtax_idを利用できる
  • GETでtax_idを参照できる
  • リクエスト時にtax_idが利用不可となる
  • レスポンスにtax_idは含まないようになる

7 連携サービス(Banks)

7-1 GETリクエスト時のパラメータ「type」指定方法の変更(C18)

変更前変更後
「type」を「bank_account」で
指定するとエラーが発生する。
「bank」に指定するとリクエストが成功する。
「type」を「bank_account」の指定に統一

8 試算表(Reports)

8-1  損益計算書の取得 (trial_pl) 時にフィルタが正しく動作する(C21)

変更前変更後
trial_plでパラメータaccount_item_display_type, breakdown_display_typeでgroupやaccount_itemを指定しても有効ではないtrial_plでパラメータaccount_item_display_type, breakdown_display_typeでgroupやaccount_itemを指定すると、意図した挙動となる

8-2 GET時に不要もしくは不明確な account_item_display_type パラメータの整理(C28)

8-2-1 BSとPLでaccount_item_display_typeを指定しない、あるいはaccount_itemを指定する場合
変更前変更後
以下のプロパティがレスポンスに入っている

 

  • category:勘定科目カテゴリ
    • account_category_id
    • parent_account_category_id
  • account_item:勘定科目
    • account_category_id
左記のプロパティ が削除される
8-2-2 BSとPLでaccount_item_display_typeにgroupを指定する場合
変更前変更後
以下のプロパティがレスポンスに入っている

 

  • category:勘定科目カテゴリ
    • account_category_id
    • parent_account_category_id
  • group:決算書表示
    • account_category_id
    • total_line
  • breakdown_display_type=account_itemの時:勘定科目
    • account_category_id
以下のプロパティを削除

 

  • category:勘定科目カテゴリ
    • account_category_id
    • parent_account_category_id
  • group:決算書表示
    • account_category_id
    • total_line
  • breakdown_display_type=account_itemの時
    • account_category_id

以下のプロパティを追加

  • group:決算書表示
    • aaccount_group_name

8−3損益計算書で部門比較(traial_pl_sections)取得時のレスポンスデータ変更(C29)

8-3-1 account_item_display_type= groupとbreakdown_display_type=account_itemを同時に指定した時
変更前変更後
  • balances.sections.account_items.idが常に0
  • balances.sections.account_items.nameが常に未選択
  • balances.sections.account_items.closing_balanceにbalances.sections.closing_balanceと同じ値が入っている
  • balances.sections.account_itemsはレスポンスでsectionsの中からsectionsと同じ階層に移動
8-3-2 account_item_display_type= groupとbreakdown_display_type=partnerを同時に指定した時
変更前変更後
  • closing_balanceがnullになっている
  • closing_balanceが0になる

9 その他

9-1 リクエストURL「*****.json」でのリクエスト廃止(C22)

変更前変更後
リクエストURLが「****.json」でAPIコールができるリクエストURLが「****.json」でAPIコールができない

9-2 400、404、500 時のレスポンスデータ統一(C16、C24)

変更前変更後
400、404、500エラーの場合、
返されるエラーメッセージのフォーマットが
Arrayの場合とStringの場合がある
Array に統一する

9−3 請求書などの部門指定で親階層の部門を指定不可に変更(C23)

変更前変更後
「Invoices 請求書」「Expense Applications 経費精算」などリクエスト送信時に、部門指定(section_id)で親階層の部門を指定できる部門指定(section_id)で親階層の部門を指定できなくなる

9−4 旧認可エンドポイントの廃止(C26)

変更前変更後
  • https://secure.freee.co.jp/oauth/token
  • https://secure.freee.co.jp/oauth/revoke
  • https://api.freee.co.jp/oauth/token
  • https://api.freee.co.jp/oauth/revoke
  • https://accounts.secure.freee.co.jp/
    public_api/token
  • https://accounts.secure.freee.co.jp/
    public_api/revoke

POSTメソッドを利用し、content typeはapplication/x-www-form-urlencoded を指定してください。

より詳細は、以下を確認してください。

  • https://developer.freee.co.jp/startguide/getting-access-token

旧認可エンドポイントからの移行は、以下もご参照ください。

9-5 tags, Items へのGETリクエスト時に特定件数以上ではlimit,offset の指定が必要になる(C25)

変更前変更後
tags, items エンドポイントへのGETリクエスト時にlimit, offset不要で全件取得可50件以上の情報取得にはlimit, offsetの利用が必要

 

新仕様APIのバージョン指定方法

新仕様のAPIを試すには、APIコールの際にリクエストヘッダーにバージョン指定を行います。

請求書APIの新バージョンを試す際のAPIコールのサンプル(curl)

新仕様のAPIを指定する場合のリクエスト(現在公開されているものは指定不要)です。Google Apps Scriptなどをご利用いただいている場合は、このサンプルではなくリクエストヘッダーを指定する方法をご確認いただき、テストいただきますようお願いいたします。

curl -X GET 'https://api.freee.co.jp/api/1/invoices?company_id=xxxxxx&start_issue_date=2019-01-01&end_issue_date=2019-12-31' \
--header 'Authorization: Bearer xxxxxxxxxxx’\
--header 'X-Api-Version: 2020-06-15'

APIバージョン指定の有無による挙動

2020-06-15が新バージョンとなります

バージョン指定並行期間前並行期間中並行期間終了後
指定なし現行版現行版新バージョン
2020-06-15現行版新バージョン新バージョン
  • 指定なしの場合
    • 現行版を利用となり、並行期間終了時に新バージョンに切り替わる
      • 変更の影響を受けないアプリは指定の必要なし
  • 指定ありの場合
    • 並行期間開始後に新バージョンを意図的に利用できる
      • 移行テスト、動作確認にご利用ください

注記事項

2020年12月の新仕様の施行までに、変更箇所があった場合、改訂記録に記述の上、随時本URLのリリースノートにてご案内します。

改訂記録

  • 2020年12月17日(木)
  •  2020年11月5日(木)
    • 8 試算表(Reports)内の項目「8−2-1」を修正しました。
      • 修正前
        • 「BSとPLでaccount_item_display_typeにaccount_itemを指定する場合」
      • 修正後
        • 「BSとPLでaccount_item_display_typeを指定しない、あるいはaccount_itemを指定する場合」
  • 2020年5月28日(木)
    • リリースノート第1版を公開