Skip to main content
AssetRow is the per-title asset register — one row per income-bearing asset (a title / unit): its income streams, the facility secured against it, and provenance. These are reconcilable, COA-tied facts, so the row lives in the ledgers schema alongside coa / periodsnot in the analysis lane (that holds the forward valuation model). Migration: 017_valuation_model.sql.
The class is auto-registered as the "assets" subledger type on import.
You rarely build an AssetRow by hand. ntro.valuations.store.save_model bridges the domain objects (ntro.valuations.models.Asset) to these rows and versions them; load_model reads them back into the engine. Use this type directly only when reading the raw register (e.g. a custom analysis query).

Type-specific fields

The standard Row column block (id, entity_id, period, task_id, status, …) is inherited — see the Subledgers overview.

Why facts and forward model are split

AssetRow (facts) lives in ledgers.assets; the forward valuation model lives in analysis.valuations. The split keeps the law value = f(facts, assumptions, engine_version) honest: facts are reconciliation-grade and stable, the model is derived and re-runnable. The two schemas never blur — analysis is the forward lane, never an accounting ledger.

Subledgers overview

Row base + SubledgerStatus lifecycle, and the standard column block.

expenses

Another shipped platform type — single expense receipt.

journal_proposals

The journal-staging platform type.

Typing

Period and the shared field types used across rows.