{% extends "base.html" %} {% block title %}{{ _("Categorize") }} · Wealth Dashboard{% endblock %} {% block heading %}{{ _("Categorize") }}{% endblock %} {% block lede %}

{{ _("Correcting a transaction here can leave a rule behind. A rule applies to what is already imported as well as to what arrives next — otherwise the same shop has to be fixed every month for a year before it stops asking.") }}

{% endblock %} {% block content %}
{{ _("Waiting") }}
{{ remaining }}
{{ _("largest amounts first") }}
{{ _("Rules") }}
{{ rules | length }}
{{ _("applied to past and future") }}
{{ _("Quick start") }}
{{ _("fees, interest, dividends, known merchants") }}
{% if queue %}

{{ _("The queue") }}

{{ _("clear “remember as” to correct this one row without making a rule") }}
{% for t in queue %} {% endfor %}
{{ _("Date") }}{{ _("Description") }}{{ _("Amount") }} {{ _("Category") }}{{ _("Remember as") }}
{{ d(t.txn_date) }} {{ t.description[:70] }}{{ t.account_name }} {{ money(t.amount, t.currency) }}
{% else %}

{{ _("Nothing waiting.") }}

{% set txn_link %}{{ _("Transactions") }}{% endset %}

{{ _f("Every transaction has a category. Import more, or adjust one from the {page} page.", page=txn_link) | safe }}

{% endif %} {% set field_labels = {'any': _("the text anywhere"), 'description': _("the description"), 'counterparty': _("the counterparty")} %} {% set mode_labels = {'contains': _("contains"), 'starts': _("starts with"), 'exact': _("is exactly"), 'regex': _("matches the pattern")} %} {% set direction_labels = {'any': _("in or out"), 'in': _("money in"), 'out': _("money out")} %} {% macro rule_terms(r) %}
{% endmacro %}

{{ _("Rules") }}

{{ _("newest wins where two match") }}
{{ rule_terms(none) }}

{{ _("The text is matched anywhere in the description or the counterparty, or in one of them; the amounts are sizes — 20 to 50 catches a payment of 30 whichever way it went, and the direction says which way. Blank means no limit. A rule applies to what is already imported as well as to what arrives next.") }} {{ _("A rule can also rename the counterparty — AMZN Mktp DE*2K3 becomes Amazon — set the kind, to mark a transfer between your own accounts, say, and add a tag; those three are applied on every sync, so they win over a correction by hand.") }}

{% if rules %}
{% for r in rules %}
{{ rule_terms(r) }}
{{ d(r.created_at) }}
{% endfor %}
{% endif %}
{% endblock %}