{% extends "ui/templates/base/layout.html" %} {% block content %}
Accounting · Bank Reconciliation
Compare the normalized transactions from a completed client-bound Bank Analyzer job with one selected Tally Bank ledger. This screen is read-only against Tally; unmatched bank rows can later be handled through the existing Accounting Bank Queue.
The Local Agent only reads vouchers from the selected Tally company/date range and filters them to the selected Bank ledger. No accounting entry is posted by this action.
Runs preserve their results and never modify Tally.
| Run | Bank Ledger | Period | Status | Result | |
|---|---|---|---|---|---|
| #{{ run.id }} | {{ run.bank_ledger_name }} | {{ run.date_from }} → {{ run.date_to }} | {{ run.status|replace('_',' ')|title }}{% if run.last_error %} {{ run.last_error }} {% endif %} |
{% if run.status=='completed' %} {% set s = run.summary_json|from_json if false else none %} Open run to view matched / probable / bank-only / books-only detail. {% else %}—{% endif %} | Open |
| No reconciliation runs yet. | |||||
{{ selected_run.date_from }} → {{ selected_run.date_to }} · Status {{ selected_run.status|replace('_',' ')|title }}
| Result | Bank Statement | Tally | Why | Action |
|---|---|---|---|---|
|
{{ item.match_status|replace('_',' ')|title }}
{% if item.confidence %} {{ item.confidence }}% {% endif %}
|
{% if item.bank_transaction_id %}
{{ item.bank_date }} · {{ item.bank_direction }} · ₹{{ '%.2f'|format(item.bank_amount) }}
{{ item.bank_reference or '-' }}
{{ item.bank_narration }}
{% else %}—{% endif %}
|
{% if item.tally_voucher_number or item.tally_guid %}
{{ item.tally_date }} · {{ item.tally_voucher_type }} · ₹{{ '%.2f'|format(item.tally_amount) }}
Voucher {{ item.tally_voucher_number or item.tally_guid }}
{{ item.tally_reference or '-' }}
{{ item.tally_narration }}
{% else %}—{% endif %}
|
{{ item.match_reason }} | {% if item.match_status=='bank_only' and item.bank_transaction_id %} Review in Accounting Queue {% elif item.match_status=='books_only' %} Investigate timing / statement coverage. {% else %} Review if needed. {% endif %} |
| No reconciliation rows for this filter. | ||||