freee会計支払依頼APIの使い方

ここでは会計freee APIの支払依頼API:ワークフローに関する用語とユースケース別の使い方のポイントを紹介します。

会計freeeのワークフロー

APIで申請レコードを登録する前に

以下に沿って流れをつかむ、必要情報を理解することを推奨します

  1. 会計freee Webで[APIテスト用の](任意)申請経路作成、申請レコード作成する
    • APIとレスポンスの関係をつかみやすくするため
    • 支払依頼機能は会計freeeの以下のプランのみ利用可
      1. 法人・エンタープライズプラン
      2. 法人・プロフェッショナルプラン
  2. 支払依頼レコードの取得API(Show):作成した個別の申請をGETして、レスポンスを確認する
    • 申請経路、承認者などの関係性を把握
  3. ここまでのステップで把握できた内容をもとに新しい支払依頼レコードをAPIで作成する

支払依頼ワークフローの用語集・説明

用語

説明

申請経路

申請者が事前に登録されたものから選びます。申請する際に必ず選択する必要があります。指定なし、承認者を指定などから選択します。

申請経路の設定で、申請経路ごとに支払依頼で利用するかを設定できます。

経費などの申請経路を設定する

申請フォーム

申請フォームの設定で、申請を行う際に担当者が入力する項目に対し、「入力の必須化」を行うことが可能です。これにより、申請データに一貫性を持たせることができます。ここで行う設定により、該当項目はAPI経由でも入力必須となります。

また、支払依頼で利用する申請経路を設定できます。

入力項目の必須化設定

基本経路

申請フォームの設定で、申請を行う際のデフォルトの経路(基本経路)を設定することができます。

申請フォームの基本経路設定

承認

申請を承認する際に行うアクションです。

却下

申請を認めず却下する際に行うアクションです。

差戻し

申請者に確認事項などがある場合に、再度内容を補足してもらうために戻すために行うアクションです。

CASE:承認済から

管理者権限をもつ特定のアカウントでのみ実行できるアクション。強制的(admin 権限で)に flow をfeedback status に強制的に変えるというもので flow の status に対する操作。

flow に対する強制的な操作なので approver の status は書き換えません

勘定科目の内訳管理

支払依頼に、内訳管理した勘定科目を設定する場合、支払依頼に勘定科目に紐づけられた取引先・品目のみ設定できます。

勘定科目の内訳管理

税区分の設定

支払依頼には以下を満たす税区分のみ設定できます。

  • 設定>>税区分の設定で以下の設定を行う
    • 「この税区分を使用する」にチェックが入っている
    • 「支出の登録」で検索可能にチェックが入っている
      • 支払依頼のdeal_line行に税区分を設定できる
    • 「収入の登録」にチェックが入っている
      • 支払依頼のwithholding_tax行に税区分を設定できる
    • 「消費税率」を「使用する」にする
      • 5、8、8(軽減税率)、10%のこと
      • 例)消費税率10%が「使用する」の場合、支払依頼に以下の税区分を設定できる
        • 課税売上10%
        • 課対仕入10%
        • など

税区分の設定

申請レコード作成時に利用するエンドポイントとプロパティ

以下の資料で必要なエンドポイントとPOST時の必須情報が把握できます。内容は取引の作成から始まり、支払依頼APIの資料は後半にあります。

APIリファレンス

APIリファレンスで以下の項を参照してください

  • 支払依頼API
    • /payment_requests
  • 申請経路API
    • /approval_flow_routes

ユースケース別ポイント

APIリファレンスに加え、参考にできる情報をユースケース別にまとめています。

ユースケース

条件・パターン

ポイント

申請をする

POST

​/api​/1​/payment_requests

承認された各種申請から支払依頼を作成する

  • parent_idに申請ステータスがapprovedの各種申請を指定すること
  • 各種申請レコードの取得API(Show)で申請のIDを取得すること
  • 各種申請から取引を作成している場合parent_idに指定できない
  • 各種申請から振伝を作成している場合parent_idに指定できない
  • 各種申請から経費精算、支払依頼、各種申請を合計15件作成している場合parent_idに指定できない

下書きステータスの申請を作成する

  • 申請フォームの設定で「入力の必須化」をした項目を指定せずに、申請を作成できる
  • payment_request_lines.amountに0以上を指定して、申請を作成可能

申請中ステータスの申請を作成する

  • 申請フォームの設定で「入力の必須化」をした項目に値を指定しないと、申請作成不可
    • 支払方法を必須にした場合、payment_methodにnone以外を指定しないと、申請作成不可
  • payment_request_lines.amountに1以上を指定して、申請を作成可

申請を更新する

PUT

​/api​/1​/payment_requests

申請で利用する申請経路を変更する

  • approval_flow_route_idに変更したい申請経路を指定すること
  • 申請ステータスがdraft、feedbackの場合のみ可能

申請を下書きステータスで更新する

  • 申請フォームの設定で「入力の必須化」をした項目を指定せずに、申請更新可
  • payment_request_lines.amountに0以上を指定して、申請更新可能

申請を申請中ステータスに更新する

  • 申請フォームの設定で「入力の必須化」をした項目に値を指定しないと、申請更新不可
    • 支払方法を必須にした場合、payment_methodにnone以外を指定しないと、申請作成不可
  • payment_request_lines.amountに1以上を指定して、申請更新可

申請者ユーザーで申請を更新する

  • 申請ステータスがdraft、 in_progress、feedbackの場合のみ可能
  • in_progressの申請を更新する場合
    • 以下に指定した値は無効になります
      • approval_flow_route_id
      • approver_id
      • title
      • application_date
    • draftはfalseのみ指定可能
  • feedbackの申請を更新する場合
    • 以下に指定した値は無効になります
      • title
      • application_date
    • draftはtrue、falseともに指定可能

申請者以外のユーザーで申請を更新する

  • 申請ステータスがin_progress、feedbackの場合のみ可能
  • in_progressの申請を更新する場合
    • 以下に指定した値は無効になります
      • approval_flow_route_id
      • approver_id
      • title
      • application_date
    • draftはfalseのみ指定可能
  • feedbackの申請を更新する場合
    • 以下に指定した値は無効になります
      • approval_flow_route_id
      • approver_id
      • title
      • application_date
    • draftはtrueのみ指定可能

申請に対してアクションする

POST

/api​/1​/payment_requests​/{id}​/actions

申請を代理承認する

  • approval_actionにforce_approveを指定すること
  • 会計freeeの管理者権限か管理者権限をコピーした権限のユーザーのみ可
  • 申請者ユーザーは代理承認不可
  • 対象承認ステップの承認者ユーザーは代理承認不可

承認済み・却下済みを取り消す

  • approval_actionにforce_feedbackを指定する
  • 申請ステータスがapproved、rejectedの場合のみ可
  • 会計freeeの管理者権限か管理者権限をコピーした権限のユーザーのみ可能

管理者権限を持つユーザーが承認または拒否の取り消し

  • 承認者を指定しない申請
  • 承認または却下のあとに取り消して差戻しステータス
  1. resource_type(承認ステップの承認方法)=unspecified(指定なし)の申請はapprovers(承認者)に取り消しを行ったユーザーが追加される
  2. resource_typeがunspecified以外の申請はapproversには追加されない

*誰が承認/却下/差しもどし/取り消しをしたかは時系列順に並んでapproval_flow_logsに含まれている。このケースにおいてapprovers.statusではなく、approval_flow_logsをみて判断する

申請を承認する

  • approval_actionにapproveを指定すること
  • 対象承認ステップの承認者ユーザーのみ可能
  • account_item_id、tax_code未設定の行がある場合
    • 最終承認者の場合
      • 承認できない
    • 最終承認者以外の場合
      • 承認可能

申請を却下する

  • approval_actionにrejectを指定すること
  • 対象承認ステップの承認者ユーザーのみ可能

申請者へ差し戻す

  • approval_actionにfeedbackを指定すること
  • 対象承認ステップの承認者ユーザーのみ可能

申請を取り消す

  • approval_actionにcancelを指定すること
  • 申請者ユーザーのみ可能

申請を削除する

DELETE

​/api​/1​/payment_requests​/{id}

申請者ユーザーで申請を削除する

  • 申請ステータスがdraft、feedbackの場合のみ可能

申請者以外のユーザーで申請を削除したい

  • 申請ステータスがfeedbackの場合のみ可能です
  • 会計freeeの管理者権限か管理者権限をコピーした権限のユーザーのみ可能