Rule ID: DQC_0227 US GAAP comment period closes January 22, 2026.
View: as part of public exposure version v29

Calculated Ratio Consistency Checks

Rule ID: DQC.US.0227.10800
Status: Public Exposure December 8, 2025 - January 22, 2026 - provide comment at https://xbrl.us/public-review
Public Review Release date: December 8, 2025

Rule Function

Purpose:

The purpose of Rule DQC.US.0227.10800 is to verify that reported calculated ratio concepts (for example, percentages and per-share metrics) are consistent with their underlying numerator and denominator facts. The rule validates that the reported calculated fact lies within the numeric interval implied by dividing the numerator by the denominator, taking into account, decimals, and tolerance for rounding.

Conditions:

The rule applies to configured ratio concepts that have an associated numerator and denominator as defined in the meta model taxonomy.

  • For each configured ratio concept, the rule locates the reported calculated fact (the ratio), the numerator facts, and the denominator facts for the same context/unit as appropriate.
  • The rule computes the numeric interval implied by dividing the numerator by the denominator (using the meta model relationship) and compares that with the reported fact's interval (using fact_intervals).
  • If the calculated interval and the reported fact's interval do not overlap, the rule triggers an error indicating an inconsistency.

Problem Solved by the Rule

This rule catches cases where a ratio or percentage value reported in the taxonomy does not match the arithmetic of its components (numerator / denominator). Discrepancies can arise from incorrect tagging, improper decimal precision, or transcription/calculation errors. Ensuring the reported ratio is consistent with its components increases confidence in numeric accuracy and helps identify issues early in automated validation.

Example Rule Message

The value of EarningsPerShareBasic of 1.23 is calculated by dividing NetIncomeLossAvailableToCommonStockholdersBasic with a value of 123000 by WeightedAverageNumberOfSharesOutstandingBasic with a value of 100000 which equals 1.23. This does not equal the reported value of 1.25. Check that the decimals of the components and calculated fact are appropriate.

Fact Intervals [1.2495, 1.2505] Calculated Intervals [1.229, 1.231] Calc Decimals : 2 Numerator Decimals : 0 Denominator Decimals : 0

Rule Element Id: 10800
Rule version: 29.0.0RC1

Rule element ID index

The rule element ID is used to identify unique elements or combinations of elements tested in the rule.

Rule Element ID Element
DQC.US.0227.10800 Reported ratio inconsistent with components (numerator/denominator)

Technical Details

The rule implementation follows these steps:

  1. Use a configured mapping ($NUM_DEN_FULL) of ratio concept -> [numeratorConcept, denominatorConcept]. This mapping may be generated from the taxonomy relationships (e.g., concept-numerator and concept-denominator arcs) or provided as project metadata.
  2. For each configured ratio concept key:
    • Locate the reported ratio fact ($calc) for the ratio concept.
    • Locate the numerical numerator facts ($numerator) and denominator facts ($denominator) for the same contexts/units as appropriate and where the fact value is non-zero.
  3. Compute the calculated value ($calcResult) by dividing the numerator by the denominator and compute the numeric division interval (division_intervals($numerator, $denominator)) which returns a lower and upper bound reflecting numeric semantics and decimal tolerances.
  4. Compute the reported fact's interval via fact_intervals($calc).
  5. Determine overlap: the rule treats the ratio as consistent when intervals overlap (i.e., division lower bound <= reported upper bound and division upper bound >= reported lower bound). If the intervals do not overlap, the rule flags the discrepancy and reports:
    • The ratio concept and its reported fact
    • The numerator and denominator concepts and their values
    • The calculated vs reported intervals
    • Decimals for each component (to help diagnose rounding issues)

Implementation notes

  • The mapping $NUM_DEN_FULL in the codebase is used to avoid repeated taxonomy traversal at runtime; in future this mapping may be supplied as metadata.
  • The rule uses helper functions division_intervals and fact_intervals to calculate robust numeric ranges that account for decimals and XULE numeric comparison semantics.
  • If numerator or denominator facts are missing or zero, the rule skips that ratio check to avoid false positives.

© Copyright 2017 - 2025 XBRL US, Inc. All rights reserved.
See License for license information.
See Patent Notice for patent infringement notice.

Comment