close: schema:MonetaryAmount
One extracted financial-statement line item, as filed, for one entity and period — and for one OBSERVATION of that value. Restatements arrive as new rows and nothing is ever overwritten, so (dataco_id, period_end, period_type, statement, line_item) is NOT unique; record_ref identifies the individual vintage. Two dates matter and they answer different questions: period_end is what the number describes, available_at is from when someone could have acted on it. A backtest must filter on both.
| slot | range | description | |
|---|---|---|---|
dataco_id | string | required | Certvas entity identifier — a deterministic hash of the LEI where one exists, else a ULID. Stable across rebuilds, which is what lets it be a public, citable identifier. |
period_end | date | required | THE EFFECTIVE DATE — the last day of the fiscal period the value describes. Filtering a backtest on this alone leaks: the number was not knowable until it was published. |
period_type | PeriodTypeEnum | required | The length of the reporting period. |
statement | StatementEnum | required | Which financial statement the line item belongs to. |
line_item | string | required | Canonical taxonomy code for the line item, defined in the data dictionary. |
value_reported | decimal | required | The value exactly as filed, in the currency as filed. Never rescaled. |
currency_reported | string | required | ISO 4217 code of the currency the value was filed in. |
value_usd | decimal | optional | The value converted to USD. Null where no conversion was applied. |
conversion_ref | string | optional | FX source and method used for value_usd, so the conversion is reproducible. |
extraction_confidence | double | required | Extractor confidence in [0,1]. Published rows are accepted extractions only (>= 0.85); anything lower goes to a human review queue rather than to a customer. |
source_page | integer | optional | Page number within the source document, so a value can be checked against the filing. |
source_doc_hash | string | optional | Content hash of the source filing in the raw archive. |
record_ref | string | required | Stable identifier for THIS observation (this vintage) — not for the value's natural key. Deterministic across rebuilds, so a re-push updates a row in place while a genuinely new vintage lands as a new row. |
vintage_seq | integer | required | 1 for the originally filed value, 2 and upward for each later restatement. |
is_as_reported | boolean | required | True where vintage_seq = 1. The as-reported view filters on THIS rather than on `restated = false`: a value revised twice has two non-latest vintages, so a flag-based filter would return the intermediate revision alongside the original and duplicate the key. |
restated | boolean | optional | True where a LATER vintage carries a DIFFERENT value for the same key. DERIVED by comparing vintages, never read from an upstream flag — and a re-extraction producing the same number is not a restatement, so re-running the pipeline cannot manufacture phantom revisions. |
superseding_record_ref | string | optional | record_ref of the earliest later vintage that changed the value. |
announcement_date | date | optional | THE AVAILABILITY DATE — when the filing became public. Sourced as a fact and NULL when unevidenced, never inferred: every candidate must fall within [period_end, period_end + 1095 days], and one outside that window is discarded rather than clamped, because a repaired date is indistinguishable from an evidenced one downstream. |
announcement_source | AnnouncementSourceEnum | optional | Which evidence tier announcement_date came from. |
available_at | date | required | FILTER AS-OF QUERIES ON THIS. `coalesce(announcement_date, observed_at)`, never null. The fallback direction is load-bearing: observed_at is always later than true publication for a backfilled filing, so it can only ever EXCLUDE a row from an as-of window, never admit one before it was knowable. Poor announcement-date coverage costs recall, never correctness. |
filing_lag_days | integer | optional | announcement_date minus period_end, in days. NULL where unevidenced — deliberately never defaulted to 0, which would read as same-day publication. |
observed_at | datetime | required | When Certvas itself observed this value. Never a proxy for publication date. |
source_ref | string | required | URL or document-hash pointer into the immutable raw archive. |
license_class | string | required | License Register ID governing redistribution of THIS row. Per-row rather than per-table because a single table legitimately mixes sources with different terms. |
valid_from | date | required | Start of the interval over which this assertion holds. |
valid_to | date | optional | End of the validity interval; NULL means current. Half-open, so `valid_from <= t < valid_to` selects without double-counting the boundary. |