Generate a Translation Report

Use this REST API to generate a translation diagnostic report for Tax Reporting. The report compares the effective exchange rates in the Rates cube with the corresponding cached rates in the Consol cube for a selected Scenario, Year, Period, and Entity. You can optionally specify a Reporting Currency.

Use this report to identify whether a translation issue is related to rate setup, rate sourcing, cached rates, or translation processing.

REST Resource

POST /HyperionPlanning/rest/{api_version}/applications/{application}/translation-report

Required Roles

Service Administrator

Request

Supported Media Types: application/json

Parameters

The following table summarizes the client request parameters specific to this job.

Table 9-8 Clear Data

Name Description Type Required Default
api_version Version of the API you are working with: v3 Path Yes None
application

The name of the application

Get the application name by using the Get Applications API, for example, FCCS or TRCS. See Get Applications.

Path Yes None
members Array of members that identifies the report selection. Payload Yes None
value Member name. Specify one member for each supported dimension. Payload Yes None
function Member-selection function. The only supported value is default. Payload No None
include Specifies whether to include the member. The supported value is true. Payload No None
options.mode Report mode. The only supported value is TAX_PROVISION. Payload No TAX_PROVISION
Scenario member Scenario for the diagnostic report. Payload Yes None
Year member Year for the diagnostic report. Payload Yes None
Period member Period for the diagnostic report. Payload Yes None
Entity member Entity or hierarchy occurrence for the diagnostic report. For a shared entity, specify a parent-child expression, such as [TotalUK].[LE102]. Payload Yes None
Currency member Reporting Currency member. If omitted, the report diagnoses the base-to-parent-currency flow. Payload No None

Note:

The API resolves each included member against Consol metadata to identify its dimension. Only one included member per supported dimension is supported.

Example of Request Body

{
  "members": [
    {
      "function": "default",
      "include": true,
      "value": "Actual"
    },
    {
      "function": "default",
      "include": true,
      "value": "FY25"
    },
    {
      "function": "default",
      "include": true,
      "value": "P1"
    },
    {
      "function": "default",
      "include": true,
      "value": "LE102"
    },
    {
      "function": "default",
      "include": true,
      "value": "EUR_Reporting"
    }
  ],
  "options": {
    "mode": "TAX_PROVISION"
  }
}

Response Body

Supported Media Types: application/json

Table 9-9 Parameters

Name Description
mode Report mode.
resolvedSelection Members resolved for the report request.
resolvedSelection.scenario Resolved Scenario member.
resolvedSelection.year Resolved Year member.
resolvedSelection.period Resolved Period member.
resolvedSelection.entities Resolved Entity member.
resolvedSelection.reportingCurrency Resolved Reporting Currency member. This array is empty when no Reporting Currency is specified.
results Collection of translation diagnostic results.
results[].entity Entity included in the result.
results[].dataStatus Entity Currency data or calculation status.
results[].translationStatus Reporting-currency translation status. This value is null for parent-currency reports.
results[].taxSetting Translation setting: YTD or PERIODIC.
results[].currencies.base Base currency of the selected entity.
results[].currencies.parent Parent currency of the selected entity.
results[].rates Rate-comparison results.
results[].rates[].fromCurrency Source currency for the rate comparison.
results[].rates[].toCurrency Target currency for the rate comparison.
results[].rates[].ratesFoundAt Source of the Opening, Average, and Ending rates: ENTITY_LEVEL, GLOBAL_LEVEL, TRIANGULATED_VALUE, or NOT_FOUND.
results[].rates[].expected Effective rate resolved from the Rates cube.
results[].rates[].cached Corresponding rate in the Consol cache.
results[].rates[].ratesInSync Indicates whether the expected and cached rates match.

Example of Response Body

The following is an example of the response body in JSON format.

{
  "mode": "TAX_PROVISION",
  "resolvedSelection": {
    "scenario": [
      "Actual"
    ],
    "year": [
      "FY25"
    ],
    "period": [
      "P1"
    ],
    "entities": [
      "LE102"
    ],
    "reportingCurrency": [
      "EUR_Reporting"
    ]
  },
  "results": [
    {
      "entity": "LE102",
      "dataStatus": "IMPACTED",
      "translationStatus": "TRANSLATION_NEEDED",
      "taxSetting": "YTD",
      "currencies": {
        "base": "USD",
        "parent": "CAD"
      },
      "rates": [
        {
          "fromCurrency": "USD",
          "toCurrency": "EUR",
          "ratesFoundAt": {
            "opening": "GLOBAL_LEVEL",
            "average": "ENTITY_LEVEL",
            "ending": "TRIANGULATED_VALUE"
          },
          "expected": {
            "opening": 0.81,
            "average": 0.92,
            "ending": 0.95
          },
          "cached": {
            "opening": 0.81,
            "average": 0.92,
            "ending": 0.95
          },
          "ratesInSync": true
        }
      ]
    }
  ]
}

Note:

If you omit the Reporting Currency member, the API compares the base currency with the parent currency. In this case, reportingCurrency is an empty array and translationStatus is null.

Errors

Note:

The API returns an error for invalid or inaccessible members, unsupported dimensions or member functions, duplicate supported dimensions, a Currency member that is not a Reporting Currency member, or applications that do not support multiple currencies.

Known validation failures return HTTP status 400 Bad Request.

{
  "status": 400,
  "detail": "The member FY27 does not exist for the Consol cube."
}