本文へスキップ
Sursa Developers

POST/v1/finance/report

財務サマリーレポートを取得する

finance_report

組織の請求書または支払いの合計を、最大3つのディメンション(カテゴリ、グループ、仕入先の業種、仕入先、購入者、取引先、方向、通貨、月、四半期、年)でグループ化し、メジャーinvoiced、paid、unpaid、taxとともに返します。合計には、ユーザーがアクセスできるドキュメントだけが含まれます(データプロファイルのコレクションとカテゴリ、および「検証済みのカードだけで回答する」設定)。リクエストのフィルターはこの範囲を狭めますが、広げることはありません。

reportingモード(デフォルト)では、金額はドキュメントの日付のレートで組織の報告通貨に換算され、レートのない金額はconversion.unconvertedに列挙されます。originalモードでは、異なる通貨の金額は合算されず、通貨が行のディメンションになります。行がlimitより多い場合はtruncatedがtrueになり、totalsは引き続きすべての行を対象にします。財務データにアクセスできるデータプロファイルが必要です(finance.forbidden)。

レポート、請求書と支払いのリスト、それらのエクスポートは、POSTを使いますが読み取りの操作です:「View as」モードで使え、readスコープを持つAPIキーでも使えます(これまでどおりwriteスコープを持つキーでも使えます)。

認証

AuthorizationヘッダーでAPIキーを送信します:Authorization: Bearer <キー>。

ヘッダーパラメーター

  • X-View-Asstring

    adminロールのAPIキー専用です。データプロファイル<profile>[:viewer|verifier|editor](例:employee:viewer)としてリクエストを実行します。インストールキーではこのヘッダーを使えません(403)。

Cookieパラメーター

  • kb_view_asstring

    セッションの「View as」モードのCookie。POST /auth/view-asで設定し、DELETE /auth/view-asで解除します。

リクエストボディ

application/json

オブジェクト:FinanceReportRequest

  • basisstring

    invoices:請求書、貸方票、領収書。payments:支払いログ(キャッシュフロー)。paymentsでは、メジャーはpaidだけで、directionディメンションと合計は資金の動き(inまたはout)を示します。自社の法人間の振替はinternalになります。

    指定できる値: invoicespayments

    デフォルト:"invoices"

  • group_byarray of FinanceDimension

    items ≤ 3

  • measuresarray of FinanceMeasure

    デフォルトはinvoiced(paymentsではpaid)。

  • currency_modeFinanceCurrencyMode
  • date_basisstring

    期間とfrom/toフィルターの基準になる日付:書類の日付または支払日。

    指定できる値: documentpayment

    デフォルト:"document"

  • order_bystring

    並べ替えに使うメジャーまたはディメンション。デフォルトでは、最初のメジャーの降順。

  • order_descboolean

    デフォルト:true

  • limitinteger

    デフォルト:1000≥ 1, ≤ 10000

  • languagestring

    カテゴリとグループのラベルの言語、en|ru。デフォルトはen。

レスポンス

200レポート

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

application/json

オブジェクト:FinanceReport

  • currency_modeFinanceCurrencyMode必須
  • currencystring

    報告通貨(reportingモード)。

  • rowsarray of FinanceReportRow必須
  • totalsarray of FinanceReportTotal必須

    切り詰める前の全行の合計。項目は通貨ごと(方向別に分けたレポートでは、通貨と方向ごと、FinanceReportTotal.direction)。

  • truncatedboolean必須
  • limitinteger必須
  • total_rowsinteger必須

    切り詰める前のグループ化された行の数。

  • warningsarray of string

    警告コード:profile_missing(組織の会社情報が設定されていないため、請求書の方向はデフォルトでinになる)、catalog_missing(企業の一覧が読み込まれていない)、fx_rate_missing(一部の金額に為替レートがない、conversion.unconverted)、fx_rate_stale(一部のレートが古い)、enrichment_pending(一部のドキュメントがまだ処理中で、合計に含まれていない)。不明なコードは汎用のメッセージで表示してください。

400リクエストが無効です:パラメーターの値またはオブジェクトの状態により、この操作を実行できません(`detail`はメッセージ)。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

401認証情報が送信されていない(セッションCookieもAPIキーもない)か、キーが見つかりません。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

403この操作は許可されていません:ロールの権限が足りない、コレクションやカードへのアクセス権がない、リクエストが「View as」モードで実行されている、または組織が停止中か削除済みです(`detail`は`code: org_suspended | org_deleted`を持つオブジェクト)。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

429リクエストが多すぎる(`api.rate_limited`)、組織の1分・1日・1か月のクォータを使い切った(`api.quota_exceeded`。`error.details`には`quota`、`limit`、`reset_at`が含まれます)、組織の上限に達した、または回答サービスが混雑しています(`answers.engine_busy`)。`Retry-After`ヘッダーの時間だけ待ってください。

レスポンスヘッダー

  • Retry-After

    リクエストを再試行するまでに待つ秒数。

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

503このリクエストが依存するサービスが一時的に利用できません。しばらくしてから再試行してください。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

エラーコード

すべてのリクエストに共通のコードに加えて、このエンドポイントがerror.codeで返すことのあるコード。

安全な再試行

POSTとPATCHのたびにIdempotency-Keyヘッダー(UUIDなど)を送信してください。24時間以内に同じキーで再試行すると、リクエストをもう一度実行せずに、保存済みのレスポンスが返ります。

レート制限

レスポンスには、RateLimitヘッダーとRateLimit-Policyヘッダー、以前のX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetが含まれます。429レスポンスにはRetry-After(秒)が含まれます。その時間だけ待ってから再試行してください。

← finance · APIリファレンス