Docs/Core concepts/Null reasons
Core concepts

Null reasons.

A blank cell is ambiguous: is the value zero, or genuinely absent? When a field is null because of an accounting-standard difference, the ontology records why, and points you at the nearest equivalent to use instead.

A null is explained, not blank

The three accounting standards in Japanese filings (JGAAP, IFRS, US-GAAP) do not define the same line items. A concept that is required under one standard may simply not exist under another. Rather than emitting a misleading zero or a silent blank, the ontology marks the field null and attaches a structured reason explaining the standard difference and the nearest equivalent to use instead.

i
ordinary_income under IFRS

IFRS has no concept of 経常利益 (ordinary income). Use income_before_tax instead.

A null tells you it is a missing value, not a zero, and why.

Why fields go null

Representative cross-standard null reasons (these are real entries from the ontology, not the whole table):

Field · StandardReason
ordinary_income
IFRS
IFRS has no concept of 経常利益 (ordinary income). Use income_before_tax instead.
net_assets
US-GAAP
US-GAAP uses 'stockholders equity', not the JP-GAAP concept of 純資産. Use total_equity instead.
operating_income
IFRS
Some IFRS filers do not report operating income as a separate line item. IFRS does not require it; the concept is voluntary (IAS 1.BC56).

Fields that carry a reason

These financial fields can be null with an attached cross-standard reason. When you see one empty, look for the reason rather than assuming a zero:

dividends_per_share
extraordinary_income
extraordinary_loss
interim_dividend
net_assets
operating_income
ordinary_income

The mapping that drives these decisions is the ontology layer; the version it was applied under is stamped on every response at meta.ontology_version.

Register and ownership reasons

The shareholder register (register_shareholders) and ownership-composition surfaces use a small, fixed vocabulary of four reasons. When a value is null, the row carries a <field>_null_reason drawn from this set, and per-filing limitations appear in meta.quality_flags. The vocabulary is intentionally stable, so you can branch on it in code:

ReasonMeaning
not_disclosed_in_sourceThe source filing did not carry a usable value for this field.
source_inconsistentThe source value was self-contradictory or mistagged, so it is withheld rather than shown wrong.
out_of_range_in_sourceA value recomputed from the filing fell outside its valid range, so it is served as null instead of being clamped.
basis_undeterminedThe ratio's denominator basis could not be determined from the filing.