{
  "$defs": {
    "ConsolidationExemption": {
      "description": "Basis for excluding a subsidiary from consolidation under HGB §296 / IFRS 10.",
      "oneOf": [
        {
          "const": "hgb_eu_shield",
          "description": "HGB §291 EU-Schutzklausel — parent is itself a subsidiary of a\nhigher EU/EEA parent that publishes consolidated FS.",
          "type": "string"
        },
        {
          "const": "hgb_small_group",
          "description": "HGB §292 — parent qualifies for the small-group size-test exemption.",
          "type": "string"
        },
        {
          "const": "hgb_size_test",
          "description": "HGB §293 — group is below the size-test thresholds.",
          "type": "string"
        },
        {
          "const": "ifrs10_p4_sub_consolidation",
          "description": "IFRS 10 paragraph 4 — sub-consolidation rule.",
          "type": "string"
        },
        {
          "const": "ifrs10_p27_investment_entity",
          "description": "IFRS 10.27 — investment-entity exception. Coupled to\n`BusinessType::InvestmentVehicle`.",
          "type": "string"
        },
        {
          "const": "other",
          "description": "Other documented exemption.",
          "type": "string"
        }
      ]
    },
    "ConsolidationMember": {
      "description": "One subsidiary's entry within a ConsolidationGroup.",
      "properties": {
        "disclosed_unconsolidated": {
          "description": "`true` when the member is included for IFRS 12 disclosure but not\nconsolidated (`method: not_consolidated`). Forces explicit\ndisclosure of the structured-entity relationship.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "entity": {
          "$ref": "#/$defs/PathRef",
          "description": "PathRef into `entity/<slug>`."
        },
        "exclusion_date": {
          "anyOf": [
            {
              "$ref": "#/$defs/IsoDate"
            },
            {
              "type": "null"
            }
          ],
          "description": "Date this member was removed from the consolidation (divestiture,\nliquidation, control loss)."
        },
        "inclusion_date": {
          "$ref": "#/$defs/IsoDate",
          "description": "Date this member was first included in the consolidation."
        },
        "method": {
          "$ref": "#/$defs/ConsolidationMethod",
          "description": "Method applied to this member."
        },
        "minority_interest_pct": {
          "description": "Minority interest percentage (non-controlling interest under IFRS\n10) when consolidation is full but ownership < 100%.",
          "format": "double",
          "maximum": 100.0,
          "minimum": 0.0,
          "type": [
            "number",
            "null"
          ]
        },
        "note": {
          "description": "Free-form note (e.g. \"Acquired 2026-05; control transferred\n2026-07\").",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "entity",
        "method",
        "inclusion_date"
      ],
      "type": "object"
    },
    "ConsolidationMethod": {
      "description": "Consolidation method per subsidiary edge.",
      "oneOf": [
        {
          "const": "full",
          "description": "Line-by-line consolidation (IFRS 10 / HGB §301). Subsidiary's\nrevenues, expenses, assets, liabilities flow into the parent's\nconsolidated statements.",
          "type": "string"
        },
        {
          "const": "proportional",
          "description": "Proportional consolidation (IFRS 11 / HGB §310 for jointly-controlled\noperations).",
          "type": "string"
        },
        {
          "const": "equity",
          "description": "Equity method (IAS 28 / HGB §312). Investment carried at cost plus\nshare of post-acquisition profits.",
          "type": "string"
        },
        {
          "const": "fair_value",
          "description": "Fair-value through profit or loss (IFRS 10.27 investment-entity\nexception). Only available when parent is an `InvestmentVehicle`\nper BDR 0053.",
          "type": "string"
        },
        {
          "const": "not_consolidated",
          "description": "Outside the consolidation scope. Disclosure-only per IFRS 12.",
          "type": "string"
        }
      ]
    },
    "FiscalYearEnd": {
      "description": "Fiscal year-end as `MM-DD` (e.g. `12-31`, `06-30`, `03-31`).",
      "pattern": "^(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",
      "type": "string"
    },
    "IsoCurrency": {
      "description": "ISO 4217 currency code.",
      "pattern": "^[A-Z]{3}$",
      "type": "string"
    },
    "IsoDate": {
      "description": "ISO 8601 date (YYYY-MM-DD).",
      "format": "date",
      "type": "string"
    },
    "PathRef": {
      "description": "Path-based cross-reference relative to .corpospec/ root.\nPattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`",
      "pattern": "^[a-z0-9_-]+(/[a-z0-9_.-]+)+$",
      "type": "string"
    },
    "ReportingFramework": {
      "description": "Financial-reporting framework under which the consolidation runs.",
      "oneOf": [
        {
          "const": "ifrs",
          "description": "IFRS as issued by the IASB.",
          "type": "string"
        },
        {
          "const": "us_gaap",
          "description": "US Generally Accepted Accounting Principles (FASB ASC).",
          "type": "string"
        },
        {
          "const": "hgb",
          "description": "German Handelsgesetzbuch.",
          "type": "string"
        },
        {
          "const": "lux_gaap",
          "description": "Luxembourg Lux GAAP.",
          "type": "string"
        },
        {
          "const": "frs102",
          "description": "UK FRS 102.",
          "type": "string"
        },
        {
          "const": "swiss_gaap_fer",
          "description": "Swiss GAAP FER.",
          "type": "string"
        },
        {
          "const": "dutch_gaap",
          "description": "Dutch GAAP (RJ).",
          "type": "string"
        },
        {
          "const": "jp_gaap",
          "description": "Japan GAAP (J-GAAP).",
          "type": "string"
        }
      ]
    }
  },
  "$id": "https://corpospec.com/schemas/v0.16.0/consolidation.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Consolidation group — reporting scope for a parent entity.\n\nOne record per consolidation parent. Subsidiaries are linked by PathRef\nin `members[]`. The validator (BDR 0064 L4-CONS-1, L4-CONS-2)\nreconciles `members[].entity` against the OwnershipInterest graph.",
  "properties": {
    "audited": {
      "description": "Whether the consolidated FS is subject to statutory audit (HGB §316).",
      "type": "boolean"
    },
    "auditor": {
      "anyOf": [
        {
          "$ref": "#/$defs/PathRef"
        },
        {
          "type": "null"
        }
      ],
      "description": "PathRef into `legal/parties/<slug>` for the audit firm when audited."
    },
    "consolidated_currency": {
      "$ref": "#/$defs/IsoCurrency",
      "description": "Reporting currency of the consolidated financial statements."
    },
    "exemption_basis": {
      "anyOf": [
        {
          "$ref": "#/$defs/ConsolidationExemption"
        },
        {
          "type": "null"
        }
      ],
      "description": "When the parent is exempt from preparing consolidated FS, the basis\nfor the exemption."
    },
    "fiscal_year_end": {
      "$ref": "#/$defs/FiscalYearEnd",
      "description": "Fiscal year-end as `MM-DD`."
    },
    "id": {
      "$ref": "#/$defs/PathRef",
      "description": "PathRef identifier, conventionally\n`entity/consolidation/<parent-slug>`."
    },
    "last_filed": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoDate"
        },
        {
          "type": "null"
        }
      ],
      "description": "Date of last Bundesanzeiger / Companies House / SEC EDGAR filing of\nthe consolidated FS."
    },
    "members": {
      "description": "One entry per subsidiary / associate / JV in scope.",
      "items": {
        "$ref": "#/$defs/ConsolidationMember"
      },
      "type": "array"
    },
    "note": {
      "description": "Free-form note (e.g. acquisition rationale, fiscal-year change).",
      "type": [
        "string",
        "null"
      ]
    },
    "parent": {
      "$ref": "#/$defs/PathRef",
      "description": "The reporting parent entity."
    },
    "reporting_framework": {
      "$ref": "#/$defs/ReportingFramework",
      "description": "Framework under which the consolidation runs."
    }
  },
  "required": [
    "id",
    "parent",
    "reporting_framework",
    "fiscal_year_end",
    "consolidated_currency",
    "members",
    "audited"
  ],
  "title": "ConsolidationGroup",
  "type": "object",
  "x-corpospec-pillar": "financials"
}