KausateKausate Docs
Guides

Financial Ratios

The ratios and memo lines computed on every financials response

Overview

Every FINANCIALS response carries more than the filed statement lines. Each period gains a ratios block — twenty-nine standard ratios computed from that period's income statement, balance sheet and headcount.

They are derived at response time from figures already in the same payload. There is no extra call, no extra credit, and no separate endpoint: order financials as normal and the block is there.

The definitions match the ratio set used by commercial financial databases, so a German company and an Italian one are directly comparable even though their registries file in different formats.

curl -X POST "https://api.kausate.com/v2/companies/finance/sync" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"kausateId": "co_zz_1a82xPhiHFOOz7CbClDfEI"}'
{
  "result": {
    "statements": [
      {
        "metadata": { "periodEnd": "2024-12-31", "currency": "EUR" },
        "incomeStatement": { "revenue": "1000000", "profitAfterTax": "80000" },
        "balanceSheet": { "totalAssets": "1500000" },
        "ratios": {
          "returnOnAssets": "5.33",
          "ebitMargin": "12.00",
          "notSignificant": []
        }
      }
    ]
  }
}

Reading a null: N.A. versus N.S.

A ratio is null for one of two very different reasons, and the response always tells you which.

N.A. — not available. An input the ratio needs is missing from the filing. returnOnEquity cannot be computed without total equity, so if the registry did not publish equity the field is null and nothing more is said about it.

N.S. — not significant. The ratio is computable but the result would mislead, so we refuse to publish a number. The field is null and its name appears in notSignificant.

"ratios": {
  "currentRatio": null,
  "notSignificant": ["currentRatio"]
}

The cases that produce N.S. are a zero denominator, a return measured against negative shareholders' funds, and a value so extreme it overflows. In each, an arithmetically valid number would describe something untrue about the business.

So: null and listed in notSignificant means "we know, and the honest answer is that this number would mislead". null and absent from the list means "the registry did not give us the input".

Never treat a null ratio as zero. A missing equity figure and an equity figure of zero are different facts, and only the second is a real financial condition.

Memo lines

Five statement lines are filled in when a registry does not report them directly, so the same field is populated whether a company files by nature (typical in Continental Europe) or by function (typical in the UK and Ireland):

FieldStatementDefinition
grossProfitincomerevenue − cost of goods and services
ebitdaincomeoperating profit + depreciation & amortisation
cashFlowincomenet income + depreciation & amortisation
workingCapitalbalancecurrent assets − current liabilities
netDebtbalance(long-term + short-term borrowings) − cash

A value the registry reported directly is never overwritten by a derived one. cashFlow here is a P&L-derived proxy; it is not the cash-flow statement's reported operating cash flow, which appears separately under cashFlowStatement.

The ratios

All percentage ratios are expressed in percent (25.00 means 25%), multiples are marked (x), and per-employee figures are in full currency units — never thousands. Everything is quoted to two decimal places.

Profitability

FieldDefinition
returnOnEquitynet income / shareholders' funds (%)
returnOnEquityPreTaxprofit before tax / shareholders' funds (%)
returnOnCapitalEmployed(net income + interest paid) / capital employed (%)
returnOnCapitalEmployedPreTax(profit before tax + interest paid) / capital employed (%)
returnOnAssetsnet income / total assets (%)
returnOnAssetsPreTaxprofit before tax / total assets (%)
profitMarginprofit before tax / operating revenue (%)
grossMargingross profit / operating revenue (%)
ebitdaMarginEBITDA / operating revenue (%)
ebitMarginoperating profit / operating revenue (%)
cashFlowToRevenuecash flow / operating revenue (%)

Capital employed is shareholders' funds + non-current liabilities. Interest paid uses financial expenses as its proxy.

Operational

FieldDefinition
netAssetsTurnoveroperating revenue / capital employed (x)
interestCoveroperating profit / financial expenses (x)
stockTurnoveroperating revenue / stocks (x)
collectionPeriodDays(debtors / operating revenue) × 360 days
creditPeriodDays(creditors / operating revenue) × 360 days

Structure and liquidity

FieldDefinition
currentRatiocurrent assets / current liabilities (x)
liquidityRatio(current assets − stocks) / current liabilities (x), the quick ratio
shareholdersLiquidityRatioshareholders' funds / non-current liabilities (x)
solvencyRatioAssetBasedshareholders' funds / total assets (%) — the equity ratio
solvencyRatioLiabilityBasedshareholders' funds / total liabilities (%)
gearing(non-current liabilities + short-term loans) / shareholders' funds (%)

Per employee

Populated only when the registry publishes a headcount for the period.

FieldDefinition
revenuePerEmployeeoperating revenue / employees
profitPerEmployeeprofit before tax / employees
averageCostPerEmployeecost of employees / employees
costOfEmployeesToRevenuecost of employees / operating revenue (%)
shareholdersFundsPerEmployeeshareholders' funds / employees
workingCapitalPerEmployeeworking capital / employees
totalAssetsPerEmployeetotal assets / employees

Not computed

Four ratios from the wider standard set are deliberately absent because no registry publishes the inputs: export revenue / revenue, R&D / revenue, enterprise value / EBITDA, and market capitalisation / cash flow.

Coverage

Ratios are arithmetic over the filed figures, so what you get depends on what the registry published. A registry that files only a balance sheet yields the structure ratios and no margins; one that publishes no headcount yields no per-employee figures. Micro-entity and abridged filings are thin everywhere.

The block is never fabricated: if the inputs are not there, the field is null.

Last updated on

On this page