Consolidation Oracles: IFRS 10 Validation
Overview
This document catalogs the consolidation test oracles that validate the discrete Reynolds Transport Theorem (RTT) for boundary flux events under IFRS 10. Each oracle is an executable YAML fixture representing a canonical consolidation scenario with detailed IFRS 10 paragraph citations.
Discrete RTT for Consolidation
The fundamental equation:
Δequity_total = Δequity_operational + boundary_flux
Where: - Δequity_operational: Changes from P&L (income/loss), owner transactions (dividends, buybacks), and OCI - boundary_flux: Changes from perimeter expansion/contraction (acquisitions, disposals, NCI changes)
Oracle Coverage (14 Scenarios)
| Oracle | Scenario | IFRS 10 Reference | Status |
|---|---|---|---|
| oracle_01 | 100% acquisition at fair value (no goodwill) | IFRS 10.22, IFRS 3.32 | ✅ Passing |
| oracle_02 | 100% acquisition with goodwill | IFRS 10.22, IFRS 3.32 | ✅ Passing |
| oracle_03 | 80% acquisition with 20% NCI | IFRS 10.22-23, IFRS 3.19 | ✅ Passing |
| oracle_04 | Full disposal with gain | IFRS 10.25, IFRS 10.B98 | ✅ Passing |
| oracle_05 | Step-up NCI (80% → 100%) | IFRS 10.23, IFRS 10.B96 | ✅ Passing |
| oracle_06 | Partial disposal retaining control | IFRS 10.23, IFRS 10.B96 | ✅ Passing |
| oracle_07 | Negative equity subsidiary acquisition | IFRS 10.22, IFRS 3.32 | ✅ Passing |
| oracle_08 | FX translation on foreign subsidiary | IFRS 10.19, IAS 21.39 | ✅ Passing |
| oracle_09 | Multi-step acquisition (associate → subsidiary) | IFRS 10.22, IFRS 3.42 | ✅ Passing |
| oracle_10 | Spin-off via distribution to shareholders | IFRS 10.25, IAS 27.37 | ✅ Passing |
| oracle_11 | Goodwill impairment | IAS 36.104, IFRS 3.B63 | ✅ Passing |
| oracle_14 | Earn-out contingent consideration | IFRS 3.39-40, IFRS 3.58 | ✅ Passing |
| oracle_15 | Mutual holdings (subsidiary owns parent shares) | IFRS 10.B89, IAS 32.33 | ✅ Passing |
| oracle_16 | Bargain purchase (negative goodwill) | IFRS 3.34-36 | ✅ Passing |
Pass Rate: 14/14 (100%)
Deferred for Future Work: - VIE consolidation (IFRS 10.7, IFRS 10.B51-B54) - Complex variable interest entity logic - Reverse acquisition (IFRS 3.B19-B27) - SPAC merger accounting complexity
Key Insights from Oracle Validation
Acquisitions (Oracles 01-03, 07, 09)
IFRS 10.22: Obtaining control triggers consolidation. From parent’s equity perspective: - Acquisition at fair value: Δequity = 0 (asset swap: cash → investment) - Goodwill recognized: As asset, not equity adjustment (IFRS 3.32) - NCI recognized: Separate from parent’s equity (IFRS 10.23)
Discrete RTT:
Δequity = 0 = operational (0) + boundary_flux (0)
Why boundary_flux = 0? - Parent exchanges cash for ownership (no net effect on equity) - Perimeter expansion adds assets AND liabilities (net effect captured in purchase accounting) - Only operational events (P&L, owner transactions) change parent’s equity
Disposals (Oracles 04, 10)
IFRS 10.25, IFRS 10.B98: Loss of control triggers deconsolidation.
Full disposal with gain:
Δequity = +80 (gain) = operational (+80 gain on disposal) + boundary_flux (0)
Spin-off (dividend-in-kind):
Δequity = -200 (dividend) = operational (-200 owner transaction) + boundary_flux (0)
Key distinction: - Sale to external party: Gain/loss is operational (P&L) - Spin-off to shareholders: Dividend is operational (owner transaction) - Boundary flux = 0 in both cases (perimeter change captured in operational treatment)
NCI Transactions (Oracles 05, 06)
IFRS 10.B96: Changes in ownership without losing control are equity transactions (not P&L).
Step-up (buy more NCI):
Δequity = premium paid = operational (equity transaction) + boundary_flux (0)
Partial disposal (sell to NCI):
Δequity = gain to equity = operational (equity transaction) + boundary_flux (0)
Why not boundary flux? - Subsidiary already consolidated (perimeter unchanged) - Changes in NCI % are transactions among equity holders (IFRS 10.B96)
Operational vs. Boundary: Classification Rules
Operational changes (Δequity_operational): - Net income / loss (P&L) - OCI (FX translation, fair value adjustments) - Dividends, buybacks, share issuance (owner transactions) - Goodwill impairment (P&L) - Gain/loss on disposal (IFRS 10.B98) - NCI step-up/step-down premiums (equity transactions per IFRS 10.B96)
Boundary flux: - Definition: Changes from adding/removing entities from the consolidation perimeter - Key insight from oracles: When properly accounted per IFRS 10/IFRS 3, boundary flux often = 0 - Acquisitions: Asset swap (cash → investment) - Disposals: Gain/loss captures perimeter change in P&L - NCI changes: Subsidiary already consolidated
When is boundary_flux ≠ 0? - In physics: Mass enters/leaves control volume - In accounting: Rare under IFRS (proper purchase accounting neutralizes most boundary events) - Potential non-zero cases: VIE consolidation without purchase, reverse acquisitions
Oracle Test Results
Run with:
poetry run pytest tests/consolidation/oracles/test_oracles.py -vAll 14 oracles validate discrete RTT decomposition within 1% tolerance:
oracle_01: Δequity = 0 = 0 + 0 ✓
oracle_02: Δequity = 0 = 0 + 0 ✓
oracle_03: Δequity = 0 = 0 + 0 ✓
oracle_04: Δequity = 80 = 80 + 0 ✓
oracle_05: Δequity = -10 = -10 + 0 ✓
oracle_06: Δequity = 8 = 8 + 0 ✓
oracle_07: Δequity = 0 = 0 + 0 ✓
oracle_08: Δequity = 16 = 16 + 0 ✓
oracle_09: Δequity = 15 = 15 + 0 ✓
oracle_10: Δequity = -200 = -200 + 0 ✓
oracle_11: Δequity = -30 = -30 + 0 ✓
oracle_14: Δequity = -10 = -10 + 0 ✓
oracle_15: Δequity = -50 = -50 + 0 ✓
oracle_16: Δequity = 50 = 50 + 0 ✓
Observation: In all 14 oracles following IFRS
10/IFRS 3 guidance, boundary_flux = 0.
This suggests: 1. IFRS purchase accounting neutralizes boundary events (acquisitions treated as asset swaps) 2. Disposals are captured via gain/loss in P&L (operational) 3. NCI changes are equity transactions (operational) 4. True “boundary flux” may only appear in non-standard scenarios (VIE, reverse acquisitions) or when IFRS 10 guidance is violated
Future Work
Deferred oracles (complex scenarios requiring additional research): - VIE consolidation without purchase (IFRS 10.7, IFRS 10.B51-B54) - Reverse acquisition accounting (IFRS 3.B19-B27)
These scenarios involve non-standard consolidation paths and may exhibit non-zero boundary flux under specific interpretations of IFRS 10. Further analysis required.
Conclusion
The oracle validation confirms that discrete RTT decomposition holds for standard IFRS 10 consolidation scenarios. The framework correctly distinguishes operational changes (P&L, OCI, owner transactions) from perimeter changes, with proper purchase accounting neutralizing most boundary effects.
All 14 oracles validate the mathematical consistency of the discrete continuity framework with IFRS 10 consolidation rules.
Oracle fixtures:
tests/consolidation/oracles/oracle_*.yaml
Validator implementation:
src/validation/consolidation_oracle.py Pytest
integration:
tests/consolidation/oracles/test_oracles.py