Czech Republic

Czech Transfer Pricing (TP) legislation is based on Act No. 586/1992 on Income Tax, amended (ITA), which is the fundamental law regulating the application of Transfer Pricing between related parties.

Arm’s Length Principle

The legislation contains a general definition of the Arm’s Length Principle, which basically reflects the Arm’s Length Principle of the OECD Guidelines.

Article 23 (7) of the Income Tax Law stipulates that if prices agreed between related parties differ from prices agreed between unrelated entities in common business relationships under the same or similar conditions and the difference is not properly documented, the tax base shall be adjusted for the difference ascertained.

Related Parties

According to Czech tax law, parties are related if one party directly or indirectly participates in the management, control, or capital of the other; if a third party directly or indirectly participates in the management, control, or capital of both, or if the same persons or their close relatives participate in the management or control of the other party (excluding the situation in which a person is a member of the supervisory boards of both parties).

Participation in management is sufficient for the linkage, even without equity share owners.

Participation in control or capital means the ownership of at least 25% of shares of registered capital or voting rights of a company.

Individuals are related if close relatives. Parties are also considered related if they establish a business relationship, mainly for tax base reduction.

Transfer Pricing Methods

There is no specific guidance on Transfer Pricing methods available in the ITA or other primary law. Conversely, a description of the Transfer Pricing methods available is available in Decree D-34.

The five basic methods provided in the OECD Guidelines can be employed, selecting the appropriate method based on a comparability analysis and then determining which method is the most effective.

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

Transfer Pricing Documentation

Generally, there is no legal obligation to prepare the Transfer Pricing documentation. Conversely, under Section 92 (3) of Law No. 280/2009 and its subsequent amendments, the taxpayer must provide supporting documentation for all transactions to be declared in the tax return or other communication with the tax administration.

In this regard, the taxpayer may be required to prove how transfer prices were determined in its related party transactions and whether these comply with the Arm’s Length Principle.

The representatives of the Czech tax authorities will probably require the documentation in Czech. Conversely, English may be accepted in certain circumstances.


Penalties are applicable in the case of an additional tax assessment by the tax authority, i.e., a penalty equivalent to 20% of the additional tax assessed plus interest for late payment of the tax..

Source: Financial Administration of the Czech Republic

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

To communicate with us you need to fill out the following form

Google reCaptcha: Invalid site key.