Run Financial Statement

POST /accounting/reports/financial-statement

Group: Accounting › Reports › Financial Statement · Operation ID: runFinancialStatement

Returns the computed report for one financial statement template, over one entity, accounting book and set of accounting periods.

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "v1" yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.

Request body

Required, application/json: runFinancialStatementInput.

Field Type Required Description
statementId string yes The configured statement template to run. A template that has been deleted is reported as STATEMENT_NOT_FOUND. This API has no endpoint that lists the templates.
entityId string yes The entity to report on. When consolidated is false, this is the reporting entity on its own. When true, this is the consolidating parent and the report covers its whole hierarchy. Exactly one entity per request. See id on GET base/entities.
bookId string yes The accounting book to report from. It must belong to entityId. A book that belongs to another entity is reported as BOOK_NOT_FOUND. Exactly one book per request, because amounts from different books are not comparable. See id on GET accounting/books/:id.
periodIds array of string yes The accounting periods to report over, at least one. Period names are not accepted, because their format varies per fiscal calendar. The periods need not be contiguous, and how they become columns depends on the template and on splitBy. See id on GET accounting/accounting-periods/:id.
consolidated boolean no Whether to report the consolidated statement for entityId and every entity beneath it, with amounts translated into the parent's currency. When false, only this entity is reported, with no translation. Defaults to false.
splitBy string, one of "month", "quarter", "year", "entity", "department", "aggregatedDepartment", "businessUnit", "vendor", "customer" no Adds a further column split to the report, beyond the periods it reports over. Omit for the plain statement with no split. The time splits 'month', 'quarter' and 'year' subdivide the requested periods. The dimension splits break each figure out by that dimension, such as entity, department, business unit, vendor or customer. 'entity' is meaningful only when consolidated is true. 'aggregatedDepartment' rolls the department hierarchy up to its top level, where 'department' keeps each department on its own.

Example:

{
  "statementId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "bookId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "periodIds": [
    "<periodIds>"
  ],
  "consolidated": true,
  "splitBy": "month"
}

Response

200 Success

Under data (runFinancialStatementOutput):

Field Type Required Description
statementId string yes The statement template that produced this report, echoing the statementId input.
statementName string yes The template's configured name.
statementType string yes The reporting standard and statement kind of the template that ran. Possible values: 'generic', 'coaIncomeStatement', 'coaBalanceSheet', 'gaapIncomeStatement', 'gaapBalanceSheet', 'cashFlow', 'hgbIncomeStatement', 'hgbBalanceSheet', 'ifrsStatementOfProfitOrLoss', 'ifrsStatementOfFinancialPosition', 'ifrsStatementOfOtherComprehensiveIncome', 'sfrsStatementOfProfitOrLoss', 'sfrsStatementOfFinancialPosition', 'sfrsStatementOfOtherComprehensiveIncome'.
data string or number or boolean or array of UnknownValue or UnknownObject yes The computed report, produced by the statement calculation. It has no fixed schema: the shape depends on the template's type and on splitBy. Expect a hierarchy of statement lines with their computed amounts per column, and account-level detail rows are always present, so you can aggregate or drill down. Treat unfamiliar fields as data rather than an error.

Errors

Code Status
STATEMENT_NOT_FOUND 400
ENTITY_NOT_FOUND 400
BOOK_NOT_FOUND 400
PERIOD_NOT_FOUND 400
PERIODS_REQUIRED 400
ENTITY_SPLIT_REQUIRES_CONSOLIDATION 400
MALFORMED_ID 400
STATEMENT_CALCULATION_FAILED 400

Statuses