{% extends "base.html" %} {% block title %}{{ _("Move in") }} · Wealth Dashboard{% endblock %} {% block heading %}{{ _("Move in from Financial Planner") }}{% endblock %} {% block lede %}

{{ _("Bring the books of the Financial Planner app over in one go: its accounts, every row of its ledger, its holdings, the daily balances it snapshotted and the price history it kept. Upload its wealth.db, look at what will be written, then confirm — nothing is touched until you do.") }}

{% endblock %} {% block content %} {% if report %}

{{ _("Moved in") }}

{{ _("Accounts created") }}{{ report.accounts_created }}
{{ _("Rows") }}{{ report.rows }}
{{ _("Rows already here") }}{{ report.duplicates }}
{{ _("Opening positions") }}{{ report.openings }}
{{ _("Balance readings") }}{{ report.balances }}
{{ _("Securities") }}{{ report.securities }}
{{ _("Price days") }}{{ report.prices }}
{{ _("Categories created") }}{{ report.categories }}

{{ _("Each account's rows are one import, so an account page can undo its share. Refresh the prices and the rates next — Settings › Market — and compare the overview with the old app's.") }}

{{ _("To the overview") }} {{ _("Accounts") }}

{% elif plan %}

{{ _("What will be written") }}

{{ _f("{rows} rows across {accounts} accounts, {balances} balance readings, {openings} opening positions, {prices} price days, {cats} new categories.", rows=plan.totals.rows, accounts=plan.totals.accounts, balances=plan.totals.balances, openings=plan.totals.openings, prices=plan.totals.prices, cats=plan.totals.new_categories) }} {% if plan.totals.duplicates %}{{ _f("{n} rows are already here and are left alone.", n=plan.totals.duplicates) }}{% endif %}

{% for a in plan.accounts %} {% endfor %}
{{ _("Old account") }}{{ _("Type") }}{{ _("Rows") }}{{ _("From — to") }}{{ _("Readings") }}{{ _("Goes into") }}
{{ a.name }}{% if a.closed %} {{ _("closed") }}{% endif %} {{ type_label(a.type) }} · {{ a.currency }} {{ a.rows or '—' }} {% if a.first %}{{ d(a.first) }} — {{ d(a.last) }}{% else %}—{% endif %} {{ a.balances or '—' }} {% if a.skip %}{{ _("left out — holds nothing") }} {% else %} {% endif %}
{% if plan.openings %}

{{ _("Opening positions") }}

{{ _("Where the rows do not add up to what the old app held — a position set from a statement, a sale whose purchase predates the ledger — a row dated before the first one makes up the difference, at the cost the old app carried.") }} {{ _("Worked out for the accounts proposed above, and again for the ones you pick when you confirm: rows already in a chosen account count towards its holding.") }}

{% for o in plan.openings %} {% endfor %}
{{ o.account }}{{ o.name or o.isin }}{{ qty(o.quantity) }}{{ _f("held {held}, rows give {rows}", held=qty(o.held), rows=qty(o.from_rows)) }}{{ d(o.txn_date) }}
{% endif %} {% if plan.categories %}

{{ _("New categories:") }} {% for slug, label in plan.categories.items() %}{{ label }}{% if not loop.last %}, {% endif %}{% endfor %}

{% endif %} {% if plan.notes %}

{{ _("Worth knowing") }}

{% endif %}

{{ _("Pick the account you already have for the same bank or broker, never a second one:") }} {{ _("a duplicate account carries the same balance twice. And where the account you pick already has rows from a file of its own, the old app's rows of the same days are booked beside them unless the ids match — they match for Trade Republic, Saxo, Kraken and Crédit Agricole next bank, not for the rest; for those, undo the move's import on that account afterwards, or leave that account out by giving it no rows of its own first.") }}

{{ _("Rows keep the ids the old app gave them. Where this app's own importer would give the same row a different id, the account remembers how far its ledger is on record, and an export or a sync covering those days leaves them alone — so an export from before today need not be imported again, and a later one is safe.") }}

{{ _("Cancel") }}
{% else %}

{{ _("Take a copy of the old app's wealth.db while it is not running, and upload the copy. Nothing is written until you have seen the plan and confirmed it.") }}

{% endif %} {% endblock %}