Transfer Pricing Algorithm
Introduction
Context
Welcome to the OpenSource Transfer Pricing Algorithm with Tax Impact Computation wiki page! This platform serves as a comprehensive resource for understanding and implementing a pioneering open-source algorithm specifically designed to calculate and analyze transfer pricing and its subsequent tax implications.
Transfer pricing is a pivotal aspect of international trade and finance, playing a crucial role in determining the value at which transactions occur between associated enterprises. It significantly influences the allocation of income, expenses, and consequently, tax liabilities among different tax jurisdictions. The meticulous computation of tax impact is imperative for businesses to ensure compliance, optimize tax obligations, and foster fiscal transparency.
Objectives
The objective of this algorithm is to perform transfer pricing computations on a dataset from a company, produce the transfer prices and/or make adjustments to the transfer pricing, and, if configured, calculate the subsequent tax impact. This includes both National taxation and bilateral taxation, addressing complex Withholding tax treatments that may arise. Additionally, the algorithm's output can include suggestions for algorithmically improved margin rates that could reduce the overall tax burden.
Feature Overview
The algorithm will present the following features:
- Transactional Net Margin Method for Transfer Pricing computation, based on Entity Profit Level Indicators and a wide range of commonly used Key Profit Indicators
- Royalty and Management fee computation based on selected bases (Sales, OG Sales, specific costs or accounts)
- Transfer pricing adjustment computation
- Tax impact of individual flows with regards to Withholding taxes both in the source and the destination jurisdictions
- Aggregated tax impact on each tax payer including different features of tax systems (losses carry forward, tax credits on WHT...)
General logic of the algorithm
Data structure
Structure overview
Algonomia API Framework
The Transfer Pricing Algorithm uses Algonomia API Framework to receive input data and send output data for the computations. In the following sections, it is assumed that data has been transferred to the Transfer Pricing Algorithm using this framework.
Input
The input data follows the usual division required by the Algonomia API Framework : Data, Rules, Other.
Data
The following tables presents the data points allowed as "Data" :
Role | Label | Definition | Typing | Multiplicity behavior | Mandatory |
---|---|---|---|---|---|
Matching | ATP Declaring Entity segmentation | Allows to define the segmentation of the data input that corresponds to the base aggregation level for the Transfer Pricing Computation (PLIs will be aggregated at this level of segmentation) | Couple (String; Integer) | Several Values can be defined as "ATP Declaring Entity segmentation", but the Integer has to be unique among the set | Yes |
Matching | ATP Tax Payer | Allows to define the segmentation of the data input that corresponds to the aggregation level for the Tax computation, it is necessarily a subset of the ATP Declaring Entity segmentation defined | Boolean | Completes the definition of the ATP Declaring Entity segmentation with a boolean (String; Integer; Boolean) | No, if absent no tax computation are performed |
Matching | ATP Counterpart Entity segmenfation | Allows to define the segmentation of the data input that corresponds to the base aggregation level for the Transfer Pricing Computation (PLIs will be aggregated at this level of segmentation), if it is not defined or null for certain data entries the Counterpart entities will be sourced from the associated Rules | Couple (String; Integer) | Several Values can be defined as "ATP Counterpart Entity segmentation", but the Integer has to be unique among the set | No, if absent the Counterpart entity may be automatically defined using the Rules file |
Financials | ATP Assets | Represents the assets employed by the entity, which are considered in the transfer pricing computation | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP Capital Employed | Refers to the total capital (both equity and debt) used by the entity in its operations | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP Sales | Denotes the total revenue generated by the entity from sales of goods or services | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP OG Sales | Stands for Out of Group Sales, representing the total revenue generated by the entity from sales of goods or services to parties that are not part of the same group or entity, hence outside of the related or affiliated entities | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP COGS | Stands for Cost of Goods Sold, indicating the direct costs attributable to the production of the goods sold by the entity | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP Royalty paid | Represents the amounts paid by the entity for the use of intellectual property or other assets owned by related parties | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP Management fee received | Indicates the fees received by the entity for providing management services to related parties | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP Operating Expenses | Denotes the daily operational costs of an entity, distinct from other expenses such as COGS and management fees | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Financials | ATP Profit Indicator | A measure or indicator used to assess the profitability of the entity in the context of transfer pricing | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Taxation | ATP PBT | Refers to Profit Before Tax, indicating the entity’s profit before the deduction of taxes | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Taxation | ATP Tax losses carryforward N | Represents the tax losses incurred in the current year (N), where "N" denotes the present or most recent tax year. These losses can be carried forward to offset future taxable profits, subject to applicable laws and regulations | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Taxation | ATP Tax losses carryforward N-1 | Represents the tax losses from the previous year (N-1), where "N-1" refers to the year immediately preceding the current year (N). These losses, too, can be carried forward to offset profits in subsequent years, according to the relevant tax laws | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Taxation | ATP Tax expenses | Indicates the total tax expenses incurred by the entity | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Transfer Pricing | ATP Firm Creation Date | Refers to the date on which the entity was established or created | Couple (Decimal;ISO 3 Currency Code) | Not allowed | No |
Transfer Pricing | ATP Base for Royalty | Represents the basis or calculation used for determining the royalty payments made or received by the entity | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, assumed to be 0 |
Transfer Pricing | ATP Cost Base for Management fee | Indicates the cost structure or basis used to calculate the management fees charged or received by the entity | Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, related TPA =0 |
Transfer Pricing | ATP Consumption Base for Management fee | Denotes the consumption or usage basis used for determining management fees charged to the entity | Decimal or Couple (Decimal;ISO 3 Currency Code) | If multiple defined, are aggregated for computation | No, if absent and required by computation, related TPA =0 |
Rules
The following tables presents the data points allowed as "Rules" :
Role | Label | Definition | Typing | Multiplicity behavior | Mandatory |
---|---|---|---|---|---|
Matching | ATP Rule segmentation | Allows to define the segmentation level of the Rule component to be retrieved | Couple (String; Integer) | Several Values can be defined as "ATP Rule segmentation", but the Integer has to be unique among the set | Yes |
Matching | ATP Counterpart Entity segmentation | Allows to define the segmentation that defines the Counterpart Entity, it is recommended to use the same definition as the Declaring Entity segmentation to allow for smooth computations for the counterpart entities and their tax impacts | Couple (String; Integer) | Several Values can be defined as "ATP Counterpart entity segmentation", but the Integer has to be unique among the set | No, if absent from the data as well, no TP computations are possible |
Transfer Pricing | ATP TP method | ||||
Transfer Pricing | ATP Benchmark fisrt quartile | ||||
Transfer Pricing | ATP Benchmark third quartile | ||||
Transfer Pricing | ATP Benchmark target below | ||||
Transfer Pricing | ATP Benchmark target in | ||||
Transfer Pricing | ATP Benchmark target above | ||||
Transfer Pricing | ATP in scope | ||||
Transfer Pricing | ATP Date inferior | ||||
Transfer Pricing | ATP Date superior | ||||
Transfer Pricing | ATP Rule application modulation | ||||
Transfer Pricing | ATP accounting Impact for Declaring entity | ||||
Transfer Pricing | ATP accounting Impact for Counterpart entity | ||||
National taxation | ATP National tax rate | ||||
National taxation | ATP Tax losses carryforward depreciation | ||||
National taxation | ATP Tax loss carryforward ceiling for use | ||||
National taxation | ATP Share of Tax losses carryfoward | ||||
Withholding Taxes | ATP WHT Rates - Royalties | ||||
Withholding Taxes | ATP WHT Rates - Royalties | ||||
Withholding Taxes | ATP WHT Base - Royalties | ||||
Withholding Taxes | ATP WHT Deductibility - Royalties | ||||
Withholding Taxes | ATP specific rate - Royalties | ||||
Withholding Taxes | ATP Rate of exemption - Royalties | ||||
Withholding Taxes | ATP Tax credits - Royalties | ||||
Withholding Taxes | ATP WHT Rates - Mgt fees | ||||
Withholding Taxes | ATP WHT Rates - Mgt fees | ||||
Withholding Taxes | ATP WHT Base - Mgt fees | ||||
Withholding Taxes | ATP WHT Deductibility - Mgt fees | ||||
Withholding Taxes | ATP specific rate - Mgt fees | ||||
Withholding Taxes | ATP Rate of exemption - Mgt fees | ||||
Withholding Taxes | ATP Tax credits - Mgt fees | ||||
Withholding Taxes | ATP WHT Rates - Mgt fee | ||||
Withholding Taxes | ATP WHT Rates - Mgt fee | ||||
Withholding Taxes | ATP WHT Base - Mgt fee | ||||
Withholding Taxes | ATP WHT Deductibility - Mgt fee | ||||
Withholding Taxes | ATP specific rate - Mgt fee | ||||
Withholding Taxes | ATP Rate of exemption - Mgt fee | ||||
Withholding Taxes | ATP Tax credits - Mgt fee | ||||