My App

Specification

SFRS core schema design and key decisions

Document Structure

Every SFRS filing has four required sections:

{
  "sfrs": { },      // Schema version and metadata
  "filing": { },    // Entity, period, framework
  "facts": { },     // All financial data
  "dimensions": { } // Optional segment breakdowns
}

Key Design Decisions

Flat Facts Object

No nested taxonomies. Just canonical keys in a flat object:

{
  "facts": {
    "revenue": { "value": 4850000000, "unit": "USD", "decimals": -6 },
    "netIncome": { "value": 648000000, "unit": "USD", "decimals": -6 }
  }
}

Compare to XBRL where the same data requires linkbases, contexts, units, and presentation trees.

Units Travel With Values

Every fact carries its own unit and precision. No separate unit definitions to cross-reference:

{
  "revenue": {
    "value": 4850000000,
    "unit": "USD",
    "decimals": -6
  }
}

The decimals field indicates precision:

  • Negative values = rounded (e.g., -6 = millions)
  • Positive values = decimal places (e.g., 2 = cents)

LEI as Primary Identifier

Legal Entity Identifier (ISO 17442) is the primary entity identifier. It's already required for most filers globally. Jurisdiction-specific IDs (CIK, etc.) are optional.

{
  "entity": {
    "lei": "5493001KJTIIGC8Y1R12",
    "name": "Acme Technology Corporation",
    "jurisdiction": "US-DE",
    "cik": "0001234567"
  }
}

Dimensions Are Simple

Segment breakdowns are just nested facts:

{
  "dimensions": {
    "revenueBySegment": {
      "axis": "segment",
      "members": [
        {
          "name": "Cloud Services",
          "facts": {
            "revenue": { "value": 2180000000, "unit": "USD", "decimals": -6 }
          }
        },
        {
          "name": "Enterprise Software",
          "facts": {
            "revenue": { "value": 1890000000, "unit": "USD", "decimals": -6 }
          }
        }
      ]
    }
  }
}

Extensions Require Pre-Approval

Every extension must have a regulator-issued approval ID:

{
  "extensions": {
    "cryptoAssetsHeld": {
      "extensionApprovalId": "EXT-SEC-2025-000123",
      "definition": "Digital assets held at fair value",
      "parentConcept": "otherNoncurrentAssets",
      "value": { "value": 50000000, "unit": "USD", "decimals": -6 }
    }
  }
}

No approval ID = validation failure. Period.

Supported Frameworks

FrameworkDescription
US-GAAPUnited States Generally Accepted Accounting Principles
IFRSInternational Financial Reporting Standards
UK-GAAPUnited Kingdom GAAP
DE-HGBGerman Commercial Code
JP-GAAPJapanese GAAP
AU-AASBAustralian Accounting Standards

Submission Types

Standard SEC form types are supported:

  • 10-K - Annual report
  • 10-Q - Quarterly report
  • 8-K - Current report
  • 20-F - Annual report (foreign private issuers)
  • 6-K - Report of foreign private issuer

On this page