{% extends "ui/templates/base/layout.html" %} {% block content %}

Tools · Accounting

Trial Balance & Financial Statements

Generate Trial Balance, Profit & Loss Account, Balance Sheet and ledger schedules directly from the registered Client/FY Accounting Mirror. The mirror remains read-only.

Back to Tally Accounting {% if selected_client and report %}Download Excel{% endif %}
{% if message %}
{{ message }}
{% endif %} {% if command_error %}
{{ command_error }}
{% endif %}
{% if selected_client and report %}
Mirror FY
{{ financial_year }}
Version {{ report.current_payload.mirror_version_no or report.current_payload.version_no or '-' }}
Ledgers
{{ report.current.count }}
{{ report.current.group_count }} Tally groups loaded
Previous Year
{{ previous_fy }}
{{ 'Comparative mirror loaded' if previous_available else 'No registered comparative mirror' }}
Mapping Review
{{ statements.unmapped|length }}
Unmapped ledgers
{% if report.current.hierarchy_warning %}
The mirror Trial Balance loaded, but the Local Agent could not return the full Tally group hierarchy. Update the Local Agent to the latest version for automatic custom-group resolution. Immediate parent-group classification is still being used.
{% endif %} {% if statements.balance_sheet_difference|abs > 1 %}
Balance Sheet review required: Assets and Equity/Liabilities differ by ₹ {{ '{:,.2f}'.format(statements.balance_sheet_difference) }} after mapped finalisation. Review unmapped or incorrectly classified ledgers before using the statements as final.
{% elif statements.profit_transfer_applied %}
Current-year profit/loss was not yet reflected in the source capital balances, so the ERP applied a read-only finalisation transfer for this financial statement view. The Accounting Mirror was not changed.
{% endif %}

Balance Sheet

Presentation follows the ruled comparative format used in your existing statements.

{% for code, meta in schedules.items() if meta.statement == 'BS' and meta.bs_side == 'LIABILITY' and (statements.current_bs.get(code,0) or statements.previous_bs.get(code,0)) %} {% endfor %} {% for code, meta in schedules.items() if meta.statement == 'BS' and meta.bs_side == 'ASSET' and (statements.current_bs.get(code,0) or statements.previous_bs.get(code,0)) %} {% endfor %}
ParticularsNote31 Mar {{ financial_year[:4]|int + 1 }}31 Mar {{ financial_year[:4] }}
EQUITY AND LIABILITIES
{{ meta.label }}{{ loop.index }}{{ '{:,.0f}'.format(statements.current_bs.get(code,0)) }}{{ '{:,.0f}'.format(statements.previous_bs.get(code,0)) }}
Total Liabilities{{ '{:,.0f}'.format(statements.current_liabilities) }}{{ '{:,.0f}'.format(statements.previous_liabilities) }}
ASSETS
{{ meta.label }}-{{ '{:,.0f}'.format(statements.current_bs.get(code,0)) }}{{ '{:,.0f}'.format(statements.previous_bs.get(code,0)) }}
Total Assets{{ '{:,.0f}'.format(statements.current_assets) }}{{ '{:,.0f}'.format(statements.previous_assets) }}

Profit & Loss Account

Generated from mapped mirror ledgers; inventory movement is used for cost of goods sold.

{% set cp=statements.current_pl %}{% set pp=statements.previous_pl %} {% for label,key in [('Revenue from operations','REVENUE'),('Other Income','OTHER_INCOME'),('Total Income','TOTAL_INCOME'),('Cost of goods sold','COST_OF_GOODS_SOLD'),('Direct Expenses','DIRECT_EXPENSES'),('Employee benefits expense','EMPLOYEE_BENEFITS'),('Finance Cost','FINANCE_COST'),('Depreciation and amortization expense','DEPRECIATION'),('Other expenses','OTHER_EXPENSES'),('Total expenses','TOTAL_EXPENSES'),('Profit/(Loss) for the year','PROFIT')] %} {% endfor %}
ParticularsCurrent FYPrevious FY
{{ label }}{{ '{:,.0f}'.format(cp.get(key,0)) }}{{ '{:,.0f}'.format(pp.get(key,0)) }}
{% if is_partnership %}

Partnership Profit Allocation

Ratios are Client/FY-specific. When they total 100%, the year's profit/loss is allocated to partner funds for the final Balance Sheet without changing the mirror.

Configured ratio: {{ '%.2f'|format(statements.profit_share_total) }}%
{% for row in partner_rows %}{% endfor %} {% if not partner_rows %}{% for i in range(2) %}{% endfor %}{% endif %}
PartnerProfit Share %Capital / Current Ledger (optional)
{% if statements.partnership_allocations %}
{% for row in statements.partnership_allocations %}
{{ row.partner_name }} · {{ row.profit_share_percent }}%
₹ {{ '{:,.0f}'.format(row.amount) }}
{% endfor %}
{% endif %}
{% endif %}

Trial Balance & Ledger Mapping

Default classification follows the complete Tally group hierarchy. Use an override only when a ledger needs a different financial-statement schedule.

{% for line in current_lines %}{% endfor %}
LedgerTally GroupRoot GroupScheduleClosing DrClosing CrMapping
{{ line.ledger_name }}{{ line.parent_group }}{{ line.root_group }}{{ line.schedule_label }}{{ '{:,.0f}'.format(line.closing_debit) }}{{ '{:,.0f}'.format(line.closing_credit) }}
{% endif %}
{% endblock %}