Concept and Regulation in France

The Transfer Prices in France are stipulated in Article 57 of the General Tax Code (Code Général des Impôts), the Official Gazette of Public Finance No BOI-SJRES-20-20120912, No BOI-INT-DG-20-40-20120912, No BOI-BIC-BASE-80-20140218, and No BOI-BIC-BASE-80-20-20150902. This article provides a brief summary of the transfer pricing regulations in that country, which has been one of the most involved in the implementation of the BEPS plan recommendations.

Likewise, it was one of the first OECD member countries to introduce transfer pricing regulations in 1933. Transfer pricing legislation in France is based on the OECD Guidelines and their principles.

Arms’ Length Principle: Definition

Article 57 of the General Tax Code states that the “Arm’s Length” principle means that the price charged between dependent companies must be the same as that two independent ones would have charged on the market.

Definition of Related Parties in France

Although the Official Gazette of Public Finance No. BOI-BIC-BASE-80-20-20150902 of September 2, 2015, and Article 57 of the General Tax Code do not define the term “dependence,” both do refer to it.

Article 57 mentions that it may be de jure or de facto. In addition, it exempts tax authorities from proving the dependence or control relationship regarding profits from transfers to companies located abroad with a preferential tax regime.

  • Dependence de jure is established if a French company is dependent on a foreign company. This occurs when a foreign company holds a majority equity stake in the capital stock of a French company or an absolute majority of the voting rights. In fact, owning more than 50% of the shares is sufficient to characterize dependence or control.
  • De facto dependence may be contractual or result from conditions underlying transactions between the two companies.

Transfer Pricing Methods in France

There is no specific legislation or regulation related to transfer pricing methods. However, the French statutes consider the set forth OECD.

The method employed must be according to the institution’s functional and risk profile. Other methods may also be employed if justified and appropriate. There is no hierarchy established in French legislation.

However, the Transactional Net Margin Method or the Cost Plus Method is preferred in practice for entities with ordinary profiles, and the Profit Split Method is preferred for entities with more complex profiles.

Comparability Criteria in France

The OECD principles recognize five essential comparability factors relating to the contractual relationship, the functions performed, the characteristics of the goods and services, the economic circumstances of the parties and the markets in which they operate, and, finally, the economic strategies.

Transfer Pricing Documentation in France

According to Article L.13 AA of the French Tax Code, the required transfer pricing documentation applies to all French taxpayers:

  1. With an annual business turnover, excluding taxes, or gross assets on the balance sheet equal to or exceeding EUR 400 million; or
  2. Owning at the end of the fiscal year, directly or indirectly, more than half of the capital of a corporation or the voting shares of a corporation; or
  3. With more than half of its capital or voting shares belonging directly or indirectly, at the end of the fiscal year, to a legal entity that meets the condition provided for in the previous section; or
  4. Belonging to a group subject to the French Tax Consolidation Regime when this has at least one legal entity meeting one of the above conditions.

Master File

According to the Decree published on June 29, 2018, which provides specifications relating to the required transfer pricing documentation, the Master File must contain information on the research and development activities subcontracted to unrelated parties.

It should also detail the suppliers of the main intra-group service transactions, specifically regarding employees, equipment, financial resources, and logistics.

Local Report

The Decree provides for a materiality threshold of 100,000 euros per type of transaction, whether provision of services, receipt of services, sales, purchases, etc. In addition, it adds a requirement that the Local Report must identify the statutory accounts affected by intra-group transactions.

The mandatory documentation must be submitted in two parts corresponding to the Local Report and Master File with a specific format and content. It must be available in electronic format.

Penalties for Non-Compliance

The fine applicable if missing or incomplete documentation is set at a minimum amount of 10,000 euros and may reach higher figures considering the seriousness of the deficiencies identified by the Administration:

  • 0.5% of the number of transactions with missing or incomplete documentation
  • 5% of transfer pricing corrections relating to transactions with missing or incomplete documentation.
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.