{
  "tool_id": "art-637-globe-de-minimis-exclusion",
  "inventory_version": "1.0.0",
  "authored_at": "2026-08-23",
  "authored_by": "AUTHORING-STANDARD-ADOPT-1",
  "cohort_role": "calibration — a counter-pattern node the audits recorded as producing zero findings. Inventoried to calibrate what a well-filled inventory looks like before the gapped nodes are measured against it.",
  "error_direction": "conservative_toward_finding",
  "error_direction_rationale": "de_minimis_available is withheld whenever manual_review_required is set, so every incomplete or contradictory input errs AWAY from granting the exclusion and TOWARD a top-up finding. The kernel can therefore over-report a top-up obligation; it cannot silently grant a de minimis exclusion on inputs it has already judged incomplete.",
  "derived_from": [
    { "digest": "sha256:6bc1e0fdf4a52150280168aedaedfcb311805668197d08b9c3584d9cf21066ae", "clause_path": "Article 5.5.1 through 5.5.4" },
    { "digest": "sha256:3eb779f0a0b9f5c4f604f9fab212311b7a6e3824aed99cf462a7c9adc849d978", "clause_path": "Commentary paras 80, 81, 84, 85, 91" },
    { "digest": "sha256:a39484003bbfbdaf40c2776fa935146528e95a356335d534e3f72271ffee6ec4", "clause_path": "Example 5.5.2-1" }
  ],
  "branches": [
    {
      "id": "art-5.5.1-annual-election",
      "clause": "Art 5.5.1 chapeau",
      "branch": "The exclusion applies only where the Filing Constituent Entity makes an Annual Election.",
      "disposition": "represented",
      "evidence": "election_made"
    },
    {
      "id": "art-5.5.1a-revenue-limb",
      "clause": "Art 5.5.1(a)",
      "branch": "Average GloBE Revenue for the jurisdiction is less than the revenue threshold. Strict inequality: an average exactly at the threshold does not meet the condition.",
      "disposition": "represented",
      "evidence": "revenue_test_met"
    },
    {
      "id": "art-5.5.1b-income-limb-two-limbs",
      "clause": "Art 5.5.1(b)",
      "branch": "Average GloBE Income or Loss is either a LOSS or is less than the income threshold. Two limbs, disjunctive; the loss limb is reported separately rather than collapsed into the threshold comparison.",
      "disposition": "represented",
      "evidence": "average_globe_income_is_loss"
    },
    {
      "id": "art-5.5.1-conjunction",
      "clause": "Art 5.5.1 + Commentary para 81",
      "branch": "The two conditions are aggregate and cumulative — a conjunction. Failing one defeats the election.",
      "disposition": "represented",
      "evidence": "de_minimis_available"
    },
    {
      "id": "art-5.5.2-averaging-window",
      "clause": "Art 5.5.2",
      "branch": "The averages are taken over the current and the two preceding Fiscal Years.",
      "disposition": "represented",
      "evidence": "averaging_window_years"
    },
    {
      "id": "art-5.5.2-excluded-year-shrinks-divisor",
      "clause": "Art 5.5.2",
      "branch": "A preceding Fiscal Year in which no Constituent Entities carried GloBE Revenue or GloBE Losses in the jurisdiction is EXCLUDED from the calculation, so the divisor shrinks. It is not carried as a zero.",
      "disposition": "represented",
      "evidence": "years_excluded_no_constituent_entities"
    },
    {
      "id": "art-5.5.2-loss-year-signed",
      "clause": "Art 5.5.2 + Example 5.5.2-1",
      "branch": "A GloBE Loss enters the average as a signed negative, not as zero — the source's own worked example turns on a Year-3 loss dragging the average down.",
      "disposition": "represented",
      "evidence": "average_globe_income_eur"
    },
    {
      "id": "art-5.5.1-deemed-zero-outcome",
      "clause": "Art 5.5.1",
      "branch": "Where the conditions are met and the election is made, the Top-up Tax for the jurisdiction is deemed zero.",
      "disposition": "represented",
      "evidence": "deemed_zero_topup"
    },
    {
      "id": "art-5.5.2-current-year-cannot-be-excluded",
      "clause": "Art 5.5.2",
      "branch": "The no-Constituent-Entities exclusion reaches a PRECEDING Fiscal Year only. Declaring the CURRENT Fiscal Year excluded is outside the provision.",
      "disposition": "refused",
      "refusal": {
        "flag": "CURRENT_YEAR_DECLARED_EXCLUDED",
        "payload_marker": "manual_review_required",
        "fixture": "art-637-globe-de-minimis-exclusion.reachability.json#reachability-current-year-declared-excluded",
        "reachability_vector": {
          "jurisdiction": "B",
          "fiscal_year": 2026,
          "max_years": 3,
          "election_made": true,
          "stateless_and_investment_entities_excluded": true,
          "de_minimis_parameters": { "parameter_set_version": "oecd-model-rules-2021-12", "revenue_threshold_eur": 10000000, "income_threshold_eur": 1000000, "averaging_window_years": 3 },
          "years": [
            { "fiscal_year": 2026, "no_constituent_entities": true },
            { "fiscal_year": 2025, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 },
            { "fiscal_year": 2024, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 }
          ]
        }
      }
    },
    {
      "id": "art-5.5.2-missing-year-data",
      "clause": "Art 5.5.2",
      "branch": "A year that supplies neither amounts nor a no-Constituent-Entities declaration is in neither state the provision describes. It is not a zero and it is not an excluded year.",
      "disposition": "refused",
      "refusal": {
        "flag": "MISSING_YEAR_DATA",
        "payload_marker": "manual_review_required",
        "fixture": "art-637-globe-de-minimis-exclusion.fixtures.json#missing-year-data-is-held-not-defaulted",
        "reachability_vector": {
          "jurisdiction": "B",
          "fiscal_year": 2026,
          "max_years": 3,
          "election_made": true,
          "stateless_and_investment_entities_excluded": true,
          "de_minimis_parameters": { "parameter_set_version": "oecd-model-rules-2021-12", "revenue_threshold_eur": 10000000, "income_threshold_eur": 1000000, "averaging_window_years": 3 },
          "years": [
            { "fiscal_year": 2026 },
            { "fiscal_year": 2025, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 },
            { "fiscal_year": 2024, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 }
          ]
        }
      }
    },
    {
      "id": "art-5.5.1-election-is-a-filer-judgment",
      "clause": "Art 5.5.1 chapeau",
      "branch": "Whether the Annual Election was made is the Filing Constituent Entity's judgment. It is never inferred from the arithmetic matching.",
      "disposition": "refused",
      "refusal": {
        "flag": "ELECTION_NOT_DECLARED",
        "payload_marker": "manual_review_required",
        "fixture": "art-637-globe-de-minimis-exclusion.reachability.json#reachability-election-not-declared",
        "reachability_vector": {
          "jurisdiction": "B",
          "fiscal_year": 2026,
          "max_years": 3,
          "stateless_and_investment_entities_excluded": true,
          "de_minimis_parameters": { "parameter_set_version": "oecd-model-rules-2021-12", "revenue_threshold_eur": 10000000, "income_threshold_eur": 1000000, "averaging_window_years": 3 },
          "years": [
            { "fiscal_year": 2026, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 },
            { "fiscal_year": 2025, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 },
            { "fiscal_year": 2024, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 }
          ]
        }
      }
    },
    {
      "id": "art-5.5.4-stateless-and-investment-entity-exclusion",
      "clause": "Art 5.5.4",
      "branch": "The Art 5.5.3 computations exclude Stateless Constituent Entities and Investment Entities. This kernel takes per-year amounts already net of them and refuses when the caller has not declared that it was done.",
      "disposition": "refused",
      "refusal": {
        "flag": "ART_5_5_4_EXCLUSION_NOT_DECLARED",
        "payload_marker": "manual_review_required",
        "fixture": "art-637-globe-de-minimis-exclusion.reachability.json#reachability-art-5-5-4-upstream-exclusion-not-declared",
        "reachability_vector": {
          "jurisdiction": "B",
          "fiscal_year": 2026,
          "max_years": 3,
          "election_made": true,
          "de_minimis_parameters": { "parameter_set_version": "oecd-model-rules-2021-12", "revenue_threshold_eur": 10000000, "income_threshold_eur": 1000000, "averaging_window_years": 3 },
          "years": [
            { "fiscal_year": 2026, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 },
            { "fiscal_year": 2025, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 },
            { "fiscal_year": 2024, "globe_revenue_eur": 1000000, "globe_income_or_loss_eur": 100000 }
          ]
        }
      }
    },
    {
      "id": "art-5.5.1-threshold-values",
      "clause": "Art 5.5.1(a), (b)",
      "branch": "The EUR 10 million revenue threshold and the EUR 1 million income threshold themselves.",
      "disposition": "out_of_scope_by_input",
      "assumption_of_use": {
        "value": "de_minimis_parameters.revenue_threshold_eur, .income_threshold_eur, .averaging_window_years, .parameter_set_version",
        "source": "OECD GloBE Model Rules Art 5.5.1-5.5.2, pinned at sha256:6bc1e0fd…",
        "owner": "the CALLER supplies the versioned parameter tuple and is responsible for its vintage. The kernel refuses rather than defaulting when any of the four is absent — see MISSING_REVENUE_THRESHOLD_PARAMETER and siblings — so the transfer is at least announced, but nothing here validates that the value supplied is the one in force for the fiscal year."
      }
    },
    {
      "id": "art-5.5.3-globe-revenue-and-income-determination",
      "clause": "Art 5.5.3",
      "branch": "GloBE Revenue and GloBE Income or Loss are determined under Chapter 3. This kernel recomputes neither.",
      "disposition": "out_of_scope_by_input",
      "assumption_of_use": {
        "value": "years[].globe_revenue_eur and years[].globe_income_or_loss_eur",
        "source": "Art 5.5.3, incorporating Chapter 3",
        "owner": "the CALLER, who must have run the Chapter 3 determination. No node in the estate discharges this for them, and this kernel cannot tell a Chapter 3 figure from an arbitrary number."
      }
    },
    {
      "id": "short-fiscal-year-annualisation",
      "clause": "Example 5.5.2-1",
      "branch": "A Short Fiscal Year is annualised before entering the average — the source's worked example doubles a half-year's figures.",
      "disposition": "out_of_scope_by_input",
      "assumption_of_use": {
        "value": "years[] amounts, supplied already annualised",
        "source": "Example 5.5.2-1, p.88",
        "owner": "the CALLER. ⛔ This is the sharpest transfer in this node: a caller who supplies un-annualised short-year amounts gets a confident and wrong average, and no flag fires, because a short year is indistinguishable from a small year in the input."
      }
    },
    {
      "id": "eur-currency-conversion",
      "clause": "Art 5.5.1",
      "branch": "The thresholds are stated in EUR; jurisdictional amounts in other currencies must be converted.",
      "disposition": "out_of_scope_by_input",
      "assumption_of_use": {
        "value": "all *_eur inputs",
        "source": "Art 5.5.1(a)-(b)",
        "owner": "the CALLER, who owns both the rate and its date. Same silent-failure shape as annualisation: a wrongly-converted amount is a valid number."
      }
    }
  ]
}
