{# Settings → Loss carryforwards section. Lists every relevant tax year (one row per year from earliest_trade+1 through current_year+1, plus any years with a user override that fall outside that span). Source label distinguishes user override vs derived replay vs none. Read-only in this task — Edit / Reset to derived buttons land in Task 8 (POST endpoints). They are rendered now but currently no-op until those handlers exist; HTMX swaps will 404 gracefully without breaking layout. #}

Loss carryforwards

Federal-level. ST and LT tracked separately per §1212(b) cross-category netting.

{% if not has_history and not rows %}

No prior-year history found. If you have an unused capital-loss carryforward from a previous 1040 Schedule D, enter it manually below.

{% endif %} {% if rows %} {% for row in rows %} {% endfor %}
Tax year (into) ST carryforward LT carryforward Source Actions
{{ row.year }} ${{ '{:,.2f}'.format(row.st) }} ${{ '{:,.2f}'.format(row.lt) }} {% if row.source == 'user' %} from override {% elif row.source == 'derived' %} derived from history {% else %} none {% endif %} {% if row.source == 'user' %} {% endif %}
{% endif %}