Attribute catalog
An attribute snapshot holds a loan’s finished figures as data: attributes
for money and counts, ratios for coverage and margins. Both are keyed by the
names below. This page lists the full fixed vocabulary, 184 attributes
and 21 ratios, generated from the same registry the snapshots are built
from. If a name is here, you can key on it.
Names are stable. If a snapshot does not include a name, the loan’s documents
did not state that figure. Keys are never dropped from a period map, so a
missing year inside an attribute reads null instead of disappearing. Value
formats follow the value conventions: money is a 2-decimal
string, ratios and percents carry 4 decimals.
Four families are named after something an analyst typed or a return printed, so they cannot be listed here. They are described at the end of this page.
Every entry has a label and a unit, plus a basis where one applies
(every value it can take is listed under Basis below). A label marked
(as the return words it) follows the filed return’s own wording for that
line. Where per-form wordings are listed, the label changes with the form. A
ratio whose basis reads Per snapshot takes its basis from the years in that
snapshot: book where the return states books, tax elsewhere, and mixed when
the filed years disagree.
Filed return, tax basis
Figures as they appear on the filed business return. Every name starts with tax_return_tax_ and every entry has basis: "tax".
Filed return, book basis
Book-basis figures read from the same returns, present only on years where the return states a book reconciliation. Every name starts with tax_return_book_ and every entry has basis: "book".
Filed return ratios
Ratios built from the filed returns. Each carries a basis that says which family its figures came from.
Company-prepared statements
Figures from company-prepared statements, agings and debt schedules, never from a return. Every name starts with company_reported_.
Personal return (Form 1040)
Figures from a guarantor’s personal return, carried by a snapshot finalized under that person. Every name starts with personal_return_: Schedule E rental figures carry personal_return_rental_; each Schedule C business carries its own figures under personal_return_schedule_c_<business>_, named after the business as printed (described at the end of this page), and a return with two or more businesses also carries their sum under the fixed personal_return_schedule_c_ names below.
Basis
basis says what kind of source a figure came from. A money attribute carries
a basis only when it was read from a filed business return. Figures from
company-prepared statements, a guarantor’s personal return and analyst-built
aggregates carry none; their name prefix (company_reported_,
personal_return_, custom_) says where they belong. A ratio always
carries a basis, and a ratio marked Per snapshot above resolves to
tax_return_book, tax_return_tax or mixed from the years in that
snapshot.
DSCR recipes
Every debt-service coverage recipe saved on a loan’s business produces one
ratio, named dscr_<slug>, and so does every recipe saved on a guarantor
whose card stands on the spread being finalized. The slug is the recipe’s own
name, lowercased, with each run of characters outside a-z0-9 collapsed to a
single _, the edges trimmed, and the result capped at 48 characters. Two
recipes whose names produce the same slug are suffixed _2, _3 and so on,
in the order the loan holds them.
The label is DSCR (<recipe name>) and the unit is ratio. The basis is
tax_return_tax or tax_return_book for a recipe built from the filed
returns, company_reported for a recipe built from the company-prepared
statements, and mixed for a guarantor’s recipe, which reads her personal
return beside her personal financial statements. A guarantor’s ratio is keyed
by calendar year; a column of hers that states no year is left out. These
ratios appear in final and draft snapshots, because a recipe is analyst
judgment applied on every save. They never appear in the documents-only
machine snapshot. inputs.dscr_configs names every business recipe
saved on the loan, whether or not it produced a figure, and every guarantor
recipe whose card stands on the spread.
Global DSCR
A Global DSCR placed on a finalized spread, or shown in a finalized memo,
produces one ratio, named global_dscr_<slug>. The slug is the Global DSCR’s
own name, slugged the way a DSCR recipe’s name is. Two whose names produce the
same slug are suffixed _2, _3 and so on, in the order the loan holds
them.
The label is Global DSCR (<name>), the unit is ratio and the basis is
mixed. A year it does not state reads null. On a spread it rides the
snapshot of the company or guarantor the spread belongs to, and that spread’s
finalize holds every figure on the loan until it is reopened. A memo that shows
one finalizes a loan-level snapshot whose manifest states the entity key
whole-loan, beside the snapshots of the companies and guarantors it covers.
Like a DSCR recipe it is analyst judgment: it appears in final and draft
snapshots and never in the documents-only machine snapshot.
Analyst-built ratios and stats
A figure an analyst built and placed on the spread appears under
custom_<slug>. The slug is the analyst’s own name for it, lowercased, with
each run of characters outside a-z0-9 collapsed to a single _, the edges
trimmed, capped at 48 characters, and trimmed again after the cap, so a key
never ends in _. An empty result reads visual.
A slug is claimed once per snapshot across both groups, in definition-id order,
with repeats suffixed _2, _3 and so on. It is claimed whether or not the
figure produced a value, so a year gaining a figure never renames its
neighbour. A figure that divides one value by another goes in ratios with
basis: custom. One that does not is an aggregate money figure and goes in
attributes. A ratio’s unit is ratio, or percent when the analyst set it to
read as a percentage; a percent value is on the per-cent scale, like every
other percent in the payload.
Each one carries custom_visual_id, the definition’s own opaque id, which
stays the same across renames. Key on the id, not the slug, so a rename
never moves your join. These appear in final and draft snapshots and
never in the documents-only machine snapshot. What the analyst built the
figure out of never leaves the workspace.
Schedule C businesses
A guarantor’s snapshot states each Schedule C business on the return under its
own names, personal_return_schedule_c_<business>_<line>, where <line> is
one of gross_receipts, returns_allowances, revenue_net, cogs,
gross_profit, other_income, gross_income, total_expenses and
net_profit, the same lines the fixed personal_return_schedule_c_ names
above carry for the sum. The business slug is the business name as printed on
the schedule (its principal business when no name prints), lowercased, with
each run of characters outside a-z0-9 collapsed to a single _, the edges
trimmed, capped at 48 characters and trimmed again after the cap; an empty
result reads business. Two businesses whose names produce the same slug are
suffixed _2, _3 and so on, in the order the return prints them.
The label is <line> (Schedule C, <business name>) and the unit is money.
A line the schedule leaves blank every year states nothing. The fixed
personal_return_schedule_c_ names carry the sum across businesses only when
the return prints two or more; a lone business is stated once, under its own
name. These are printed figures, so they appear in every snapshot, the
documents-only machine snapshot included.