Since January 1, 2018, the Ukrainian Law of December 7, 2017, No. 2245-VIII, “Concerning Amendments to the Tax Code of Ukraine and Certain Legislative Acts of Ukraine on Balancing of Budget Revenues in 2018,” came into force.

Ukraine assumed obligations to implement the BEPS minimum standard. In addition, Ukrainian Law No. 466, adopted and effective from May 23, 2021, establishes legislative norms for the implementation of the 9 procedures of the BEPS plan, and Law 1117-IX, effective from January 1, 2021, affects the Transfer Pricing rules.

On June 2, 2022, the State Tax Service of Ukraine published a notice disclosing special considerations that would apply to Transfer Pricing in the context of martial law (war with Russia), particularly the submission of the Transfer Pricing reporting package, suspension of the statute of limitations, special aspects of Transfer Pricing tax audits, etc.

Arm’s Length Principle

Article 39, clause 39.1 of the Tax Code of Ukraine states that “a taxpayer participating in a controlled transaction shall determine the amount of its taxable profit under the Arm’s Length Principle.”

The amount of taxable profit received by a taxpayer participating in a controlled transaction(s) is considered to be according to the Arm’s Length Principle if the terms of those transactions do not differ from those applied between unrelated parties in comparable uncontrolled transactions.

Related Parties

For the Transfer Pricing effects, “controlled transactions” are defined as business transactions that may affect taxable income, which include:

  • Business transactions with non-resident related parties
  • Business transactions relating to the sale or purchase of goods or services through non-resident commission agents.
  • Business transactions with non-residents incorporated or residents in offshore jurisdictions.
  • Business transactions with non-residents not paying corporate income tax or not being tax residents of the country in which they are registered as legal entities.
  • Business transactions between taxpayers and non-residents through unrelated intermediaries where the intermediary:
  • Does not perform any significant function.
  • Does not use significant assets.
  • Does not have any significant risks regarding the transaction.

Transactions with the same counterparty are considered controlled if the total annual number of transactions with any counterparty (calculated under the accounting rules) exceeds UAH 10 million (net of indirect taxes) as long as the total annual income (calculated under the accounting rules) of the taxpayer received as a result of any type of activity exceeds UAH 150 million (net of indirect taxes).

Transactions performed between a non-resident and its permanent enterprise in Ukraine are considered controlled if their value, determined under accounting standards, exceeds UAH 10 million (net of indirect taxes) for the corresponding fiscal (reporting) year.

Transfer Pricing Methods.

The Tax Code of Ukraine provides five methods for determining the Arm’s Length nature of controlled transactions:

  • Comparable Uncontrolled Price Method.
  • Cost Plus Method.
  • Resale Price Method.
  • Profit Split Method.
  • Transactional Net Margin Method.

The taxpayer, considering these criteria, employs whichever method the taxpayer deems most appropriate. Conversely, the CUP method is more recommended.

Transfer Pricing Documentation

There are three Transfer Pricing documents, which consist of the Master File, the Local Report, and the Country-by-Country Report.

Taxpayers participating in multinational groups of companies with total consolidated revenues equal to or exceeding € 50 million for the year preceding the reporting year are required to file the Master File in the official national language.

In addition, in 2021, taxpayers were required to file Country-by-Country reports, provided that Ukraine enters into a multilateral agreement with a competent authority. This information will be mandatory for international groups with a consolidated turnover of € 750 million (approximately US$ 911 million) or more.

The filing of the Local Report is mandatory if the taxpayer performed controlled transactions in the reporting year. It should be filed only upon request of the tax authorities within 30 calendar days of receipt. The request for the provision of Transfer Pricing documentation may be sent to the taxpayer no earlier than October 1 of the year following the calendar year in which the related-party transaction took place.


  • Failure to file a controlled transactions report before October 1 results in a fine of 300 minimum monthly subsistence allowances (UAH 528,600 in 2018).
  • Unreported related party transactions in the related party transaction report result in a fine of 1% of the amount of the related party transaction (but not exceeding 300 minimum monthly subsistence allowances for all unreported related party transactions).
  • Failure to file the Transfer Pricing documentation results in a fine of 3% of the amount of the controlled transaction (but not exceeding 200 minimum monthly subsistence allowances for all unreported controlled transactions).

Source: State Tax Service of Ukraine

Read More

 Author:       Wolfgang Hartl
 Author URI:
function WCD_rmrl(options) {
  const readLessText = options.readLessText;
  const readMoreText = options.readMoreText;

  const rmrlContent = document.querySelectorAll("[wcd_rmrl_percentage]");

  rmrlContent.forEach((element) => {
    // INITIAL SETUP (define height, overflow and attributes) = "hidden";
    element.setAttribute("wcd_rmrl_max", element.clientHeight + "px");

    var percentage = element.getAttribute("wcd_rmrl_percentage");
    var height = element.clientHeight;
    height = Math.round((height / 100) * percentage) + "px";

    element.setAttribute("wcd_rmrl_min", height); = height;

    trigger = element.nextSibling;
    trigger.addEventListener("click", function () {
      if ( == element.getAttribute("wcd_rmrl_min")) { = element.getAttribute("wcd_rmrl_max");
        this.childNodes.forEach((node) => {
          if (node.nodeValue !== null) {
            node.nodeValue = readLessText;
      } else { = element.getAttribute("wcd_rmrl_min");
        this.childNodes.forEach((node) => {
          if (node.nodeValue !== null) {
            node.nodeValue = readMoreText;
  const rmrl = new WCD_rmrl({
    readLessText : 'Read Less',
    readMoreText : 'Read More',


Contact us

In order to contact us, please fill out the following form:

Google reCaptcha: Invalid site key.