5.6 KiB
accounts.srf reference
accounts.srf describes each account referenced by your portfolio:
its tax treatment, the institution it lives at, and a few flags that
tune analysis and reconciliation. It powers the By Tax Type and
By Account breakdowns in zfin analysis, the
umbrella-exposure estimate, the audit staleness checks, and broker
reconciliation.
zfin loads accounts.srf from the same directory as the resolved
portfolio file. It is optional -- without it, accounts show up as
"Unknown" in the tax-type breakdown and everything else still works.
File format
One record per account. The account name must match the
account:: value used on your portfolio lots exactly.
#!srfv1
account::Pat 401k,tax_type::traditional,institution::fidelity,account_number::P401
account::Joint taxable,tax_type::taxable,institution::schwab,account_number::JT01
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
account |
string | Yes | -- | Account name; must match account:: on lots exactly. |
tax_type |
string | Yes | -- | taxable, roth, traditional, or hsa. |
institution |
string | No | -- | Broker key, e.g. fidelity, schwab, vanguard, wells_fargo. Used by zfin audit to match export files. |
account_number |
string | No | -- | Account identifier used with institution for audit matching. Use a placeholder, not a full real number. |
update_cadence |
string | No | weekly |
How often you refresh this account's manual data: weekly, monthly, quarterly, or none. Drives the audit staleness nag. |
cash_is_contribution |
bool | No | false |
When true, raw cash-balance increases on this account count as real external contributions (see below). |
direct_indexing |
bool | No | false |
Marks an account whose lots track a benchmark with tracking-error drift (loosens contribution/audit tolerances). |
shielded |
bool | No | (derived) | Umbrella-exposure override (see below). |
Tax types
| Value | Display label |
|---|---|
taxable |
Taxable |
roth |
Roth (Post-Tax) |
traditional |
Traditional (Pre-Tax) |
hsa |
HSA (Triple Tax-Free) |
Any other value is shown as-is. Accounts missing from accounts.srf
appear as "Unknown".
update_cadence and the audit nag
zfin audit (run flagless) flags accounts you
haven't refreshed within their cadence window: weekly = 7 days,
monthly = 30, quarterly = 90, none = never nag. The default is
weekly, so every account reminds you until you silence it -- set
update_cadence::none for accounts that update themselves (a live
brokerage feed) or that you simply don't track closely.
cash_is_contribution
Most cash-balance movement is internal noise -- interest postings,
dividend credits, CD coupons, settlement sweeps -- which would inflate
the zfin contributions attribution total
if counted as new money. So cash deltas are ignored by default. Set
cash_is_contribution:bool:true only on accounts whose cash movement
is dominated by external deposits (payroll ESPP accrual, direct 401k
cash contributions).
shielded (umbrella exposure)
The umbrella-exposure estimate in zfin analysis
splits your liquid net worth into "shielded" (retirement accounts,
assumed judgment-protected) and "exposed" (taxable). The default proxy
is "anything not taxable is shielded." Override it when that's wrong:
shielded:bool:falseon a pre-tax account that is not ERISA-protected (deferred-comp plans, non-qualified annuities), or on IRAs in states with weak IRA protection.shielded:bool:trueto mark a taxable account as shielded (rare; e.g. some asset-protection trusts).
IRA protection varies by state and is not modeled automatically; set this explicitly if it matters to you.
Example (from examples/pre-retirement-both)
#!srfv1
account::Pat 401k,tax_type::traditional,institution::fidelity,account_number::P401
account::Pat Roth,tax_type::roth,institution::fidelity,account_number::PROTH
account::Sam 401k,tax_type::traditional,institution::vanguard,account_number::S401
account::Sam Roth,tax_type::roth,institution::vanguard,account_number::SROTH
account::Joint taxable,tax_type::taxable,institution::schwab,account_number::JT01
account::Family HSA,tax_type::hsa,institution::fidelity,account_number::HSA01
account::Kids 529,tax_type::taxable,institution::vanguard,account_number::C529
See also
- Map your accounts -- the walkthrough.
zfin analysis-- tax-type and account breakdowns.zfin audit-- staleness checks and broker reconciliation.