Transfer Pricing Algorithm WIP
(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
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
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
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.
- 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.
- Apply the de-minimis threshold
- If NI ≤ De-minimis → entire NI is deductible → skip to step 4.
- Determine current-year disallowance
- Disallowed_N = max(0 ; NI – AIC)
- 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
- Update variables:
- ΔPBT_Thin-Cap = (-1) × Disallowed_N
- ATP Disallowed Interest N = Disallowed_N
- ATP Excess Interest Carry-forward N = Disallowed_N (subject to carry-forward period)
- 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