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

GST Return Reconciliation

Download GST returns on the workstation where you are using ERP, store them in the configured client local storage, and reconcile against Accounting Mirror.

Back to Accounting
{% if message %}
{{ message }}
{% endif %} {% if error %}
{{ error }}
{% endif %}
{% if selected_client and selected_registration %}

1. Download from GST Portal

The visible GST browser opens on this computer through the ERP Local Agent at 127.0.0.1:8788. CAPTCHA/OTP remains visible here. After download, return data is transferred to the configured Local Storage Agent and stored under the client's FY/GST/GSTIN/period directory.

{% if credentials|length==1 %}
The only eligible GST Portal credential has been selected automatically.
{% endif %}
Returns to download
Configured Storage Agent: {{ 'Online' if node_online else 'Offline' }}
The operator workstation also needs ERP Local Agent 1.26.15+ running so the browser can open here.

2. Reconcile Stored Data

Sales: Accounting Mirror vs GSTR-1. Purchases: Accounting Mirror vs GSTR-2B. ITC: GSTR-2B vs GSTR-3B. Analysis reads only stored local return data after download.

{% set a=request.session.get('gst_reconciliation_result') or {} %} {% if a %} {% set s=a.get('sales_reconciliation',{}).get('counts',{}) %}{% set p=a.get('purchase_reconciliation',{}).get('counts',{}) %}

Reconciliation Summary — {{ a.get('period','') }}

Sales vs GSTR-1

Books {{ s.get('books',0) }} · Portal {{ s.get('portal',0) }} · Matched {{ s.get('matched',0) }} · Missing in portal {{ s.get('missing_in_portal',0) }} · Missing in books {{ s.get('missing_in_books',0) }} · Value mismatch {{ s.get('value_mismatch',0) }}

Purchases vs GSTR-2B

Books {{ p.get('books',0) }} · 2B {{ p.get('portal',0) }} · Matched {{ p.get('matched',0) }} · Missing in 2B {{ p.get('missing_in_portal',0) }} · Missing in books {{ p.get('missing_in_books',0) }} · Value mismatch {{ p.get('value_mismatch',0) }}

ITC: GSTR-2B vs GSTR-3B

{% for tax,row in a.get('itc_reconciliation',{}).items() %}{% endfor %}
TaxGSTR-2BGSTR-3BDifference
{{ tax }}{{ '%.2f'|format(row.get('gstr2b',0)) }}{{ '%.2f'|format(row.get('gstr3b',0)) }}{{ '%.2f'|format(row.get('difference',0)) }}
{% endif %} {% endif %}
{% if operator_job %} {% endif %} {% endblock %}