Transfer Pricing Algorithm WIP

From Wiki Algonomia
Revision as of 13:15, 13 June 2025 by Zhengxiao.ying@algonomia.com (talk | contribs) (Added and modified WIP page for Thin-Capitalisation in TP Algorithm)
Jump to navigation Jump to search

(WIP)

Thin-Capitalisation (“Thin-Cap”) module

Context

This module plugs into the Transfer Pricing Algorithm after the TP-convergence loop and before the withholding-tax stage, adjusting ATP PBT and creating carry-forward variables where interest is disallowed.

Data structure additions

Data

Input Data Points – Thin-Cap
Role Label Definition Typing Multiplicity behavior Mandatory
Financials ATP Debt – Related-party Average book value of debt owed to associated enterprises during the period Couple (Decimal;ISO 3 Currency Code) If multiple defined, are aggregated for computation No, if absent and Thin-Cap in scope, assumed 0
Financials ATP Debt – Third-party Average book value of debt owed to independent lenders Couple (Decimal;ISO 3 Currency Code) If multiple defined, are aggregated for computation No, if absent, assumed 0
Financials ATP Equity – Thin-Cap Book or tax equity relevant for thin-cap calculations (may differ from accounting equity) Couple (Decimal;ISO 3 Currency Code) If multiple defined, are aggregated for computation Yes, if Thin-Cap in scope; otherwise optional
Financials ATP Net Interest Expense Net interest expense (interest expense – interest income) *after* TP adjustments, *before* thin-cap limitation Couple (Decimal;ISO 3 Currency Code) If multiple defined, are aggregated for computation Yes, if Thin-Cap in scope
Financials ATP EBITDA Earnings before interest, tax, depreciation & amortisation (post-TP, pre-thin-cap) Couple (Decimal;ISO 3 Currency Code) If multiple defined, are aggregated for computation No, required only for EBITDA-based rules
Financials ATP Excess Interest Carry-forward N-1 Disallowed interest from the previous year still available for future deduction Couple (Decimal;ISO 3 Currency Code) If multiple defined, are aggregated for computation No, default 0

Rules

Input Rules – Thin-Cap
Role Label Definition Typing Multiplicity behavior Mandatory
Thin-Cap ATP Thin-Cap rule type Specifies which national limitation applies Single choice Enum : {Debt-Equity ; Fixed-Ratio ; EBITDA ; Group-Ratio ; Safe-Harbour-None} Only one value acceptable per analysis segment Yes if any entity flagged Thin-Cap in scope
Thin-Cap ATP Thin-Cap in scope Flags whether thin-capitalisation rules apply to the entity Boolean Only one value acceptable per segment No, default False
Thin-Cap ATP Debt/Equity Safe-Harbour ratio Maximum Debt ÷ Equity allowed (e.g. 3 : 1) for Debt-Equity type Decimal Only one value acceptable per segment Mandatory for Debt-Equity rules
Thin-Cap ATP Fixed-Ratio % EBITDA Maximum percentage of EBITDA deductible as net interest (e.g. 30 %) percentage Only one value acceptable per segment Mandatory for Fixed-Ratio / EBITDA rules
Thin-Cap ATP De-minimis interest threshold Amount of net interest always deductible regardless of ratios Couple (Decimal;ISO 3 Currency Code) Only one value acceptable per segment Optional – default 0
Thin-Cap ATP Group-Ratio election Allows use of a group ratio if more favourable than fixed ratio Boolean Only one value acceptable per segment Optional – default False
Thin-Cap ATP Group-Ratio % Group net-interest ÷ EBITDA ratio when election taken percentage Only one value acceptable per segment Required if Group-Ratio election = True
Thin-Cap ATP Excess Interest carry-forward period Number of years disallowed interest may be carried forward Integer Only one value acceptable per segment Optional – default ∞

Taxation / Output

New Output Data Points
Role Label Definition
Taxation ATP Disallowed Interest N Net interest expense denied in the current year (negative adjustment to ATP PBT)
Taxation ATP Excess Interest Carry-forward N Disallowed interest to carry forward to future years, after utilisation tests

Computational step – Thin-Cap limitation

This step is performed entity-by-entity at the “Declaring Entity” level.

  1. Compute the Allowable Interest Ceiling (AIC)
    • Debt-Equity rule: AIC = min(Net Interest (NI) ; (Debt/Equity Safe-Harbour × ATP Equity – Thin-Cap))
    • Fixed-Ratio / EBITDA rule: AIC = min(NI ; Fixed-Ratio % × ATP EBITDA)
    • Group-Ratio election: substitute the higher of Fixed-Ratio % and Group-Ratio % in the above.
  2. Apply the de-minimis threshold
    • If NI ≤ De-minimis → entire NI is deductible → skip to step 4.
  3. Determine current-year disallowance
    • Disallowed_N = max(0 ; NI – AIC)
  4. Utilise prior-year carry-forward:
    • Allowed_from_carry = min(Excess Carry-forward N-1 ; AIC – (NI – Disallowed_N))
    • Disallowed_N = Disallowed_N – Allowed_from_carry
  5. Update variables:
    1. ΔPBT_Thin-Cap = (-1) × Disallowed_N
    2. ATP Disallowed Interest N = Disallowed_N
    3. ATP Excess Interest Carry-forward N = Disallowed_N (subject to carry-forward period)
    4. Replace ATP PBT in the downstream Tax losses stage with New_ATP_PBT = ATP PBT + ΔPBT_Thin-Cap + ΔPBT_WHT (paid + due)

Interaction with other modules

  • Transfer Pricing convergence: thin-cap uses the post-TP interest figures; it does NOT trigger another TP iteration.
  • Withholding-tax engine: unchanged – WHT remains computed on gross interest flows.
  • Tax-loss computation: use New_ATP_PBT that includes thin-cap adjustment.
  • Genetic optimiser: may treat the Debt/Equity ratio, interest rate, or Group-Ratio election as additional variables, bounded by statutory rules.

Summary of new labels

Data
ATP Debt – Related-party • ATP Debt – Third-party • ATP Equity – Thin-Cap • ATP Net Interest Expense • ATP EBITDA • ATP Excess Interest Carry-forward N-1
Rules
ATP Thin-Cap rule type • ATP Thin-Cap in scope • ATP Debt/Equity Safe-Harbour ratio • ATP Fixed-Ratio % EBITDA • ATP De-minimis interest threshold • ATP Group-Ratio election • ATP Group-Ratio % • ATP Excess Interest carry-forward period
Outputs
ATP Disallowed Interest N • ATP Excess Interest Carry-forward N • ΔPBT_Thin-Cap