Transfer Pricing Algorithm WIP: Difference between revisions
Jump to navigation
Jump to search
(Created page with "(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 ==== {| class="wikitable sortable mw-collapsible mw-collapsed" |+Input Data Points – Thin-Cap !Role !Label !Definition !Typing !Multiplicit...") |
(Added and modified WIP page for Thin-Capitalisation in TP Algorithm) |
||
Line 4: | Line 4: | ||
=== Context === | === Context === | ||
This module plugs into the Transfer Pricing Algorithm ''after'' the TP-convergence loop and | This module plugs into the Transfer Pricing Algorithm '''''<u>after</u>''''' the TP-convergence loop and '''<u>before</u>''' the withholding-tax stage, adjusting ATP PBT and creating carry-forward variables where interest is disallowed. | ||
=== Data structure additions === | === Data structure additions === | ||
Line 36: | Line 36: | ||
|Couple (Decimal;ISO 3 Currency Code) | |Couple (Decimal;ISO 3 Currency Code) | ||
|If multiple defined, are aggregated for computation | |If multiple defined, are aggregated for computation | ||
|Yes | |Yes, if Thin-Cap in scope; otherwise optional | ||
|- | |- | ||
|Financials | |Financials | ||
Line 43: | Line 43: | ||
|Couple (Decimal;ISO 3 Currency Code) | |Couple (Decimal;ISO 3 Currency Code) | ||
|If multiple defined, are aggregated for computation | |If multiple defined, are aggregated for computation | ||
|Yes | |Yes, if Thin-Cap in scope | ||
|- | |- | ||
|Financials | |Financials | ||
Line 50: | Line 50: | ||
|Couple (Decimal;ISO 3 Currency Code) | |Couple (Decimal;ISO 3 Currency Code) | ||
|If multiple defined, are aggregated for computation | |If multiple defined, are aggregated for computation | ||
|No | |No, required only for EBITDA-based rules | ||
|- | |- | ||
|Financials | |Financials | ||
Line 82: | Line 82: | ||
|Boolean | |Boolean | ||
|Only one value acceptable per segment | |Only one value acceptable per segment | ||
|No, default | |No, default False | ||
|- | |- | ||
|Thin-Cap | |Thin-Cap | ||
Line 144: | Line 144: | ||
=== Computational step – Thin-Cap limitation === | === Computational step – Thin-Cap limitation === | ||
This step is performed | 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: <nowiki>AIC = min(NI ; Fixed-Ratio % × ATP EBITDA)</nowiki> | |||
#* Group-Ratio election: substitute the higher of Fixed-Ratio % and Group-Ratio % in the above. | |||
# '''Apply the de-minimis threshold''' | |||
#* If <nowiki>NI ≤ De-minimis</nowiki> → entire NI is deductible → skip to step 4. | |||
# '''Determine current-year disallowance''' | |||
#* <nowiki>Disallowed_N = max(0 ; NI – AIC)</nowiki> | |||
# '''Utilise prior-year carry-forward:''' | |||
#* <nowiki>Allowed_from_carry = min(Excess Carry-forward N-1 ; AIC – (NI – Disallowed_N))</nowiki> | |||
#* <nowiki>Disallowed_N = Disallowed_N – Allowed_from_carry</nowiki> | |||
# '''Update variables''': | |||
## <nowiki>ΔPBT_Thin-Cap = (-1) × Disallowed_N</nowiki> | |||
## <nowiki>ATP Disallowed Interest N = Disallowed_N</nowiki> | |||
## <nowiki>ATP Excess Interest Carry-forward N = Disallowed_N</nowiki> (subject to carry-forward period) | |||
## Replace <nowiki>ATP PBT</nowiki> in the downstream '''Tax losses''' stage with <nowiki>New_ATP_PBT = ATP PBT + ΔPBT_Thin-Cap + ΔPBT_WHT (paid + due)</nowiki> | |||
=== Interaction with other modules === | === 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 <nowiki>New_ATP_PBT</nowiki> 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 === | === Summary of new labels === |
Revision as of 13:15, 13 June 2025
(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