EasyRecon: Offline GST Reconciliation Tool for Chartered Accountants
Author : CA Ashwini Hegde
Author : CA Ashwini Hegde
Reconciliation of GSTR-2A, GSTR-2B, and the purchase register is traditionally a manual, time-consuming, and error-prone task. Chartered Accountants and finance teams often struggle with inconsistent data formats, bulk entries, and tracking eligible ITC. This results in inefficiency, compliance risks, and financial discrepancies.
To address the pressing challenges faced by Chartered Accountants in the manual reconciliation of GST data, a Python-based desktop application named EasyRecon was conceptualized and developed. This tool was built specifically with CA workflows in mind, combining domain knowledge with technological efficiency.
EasyRecon is an intuitive, offline solution designed to:
- Eliminate manual data cleaning and matching
- Standardize formats from GSTN downloads and client purchase registers
- Automate reconciliation using intelligent logic
- Deliver results in real-time through a sleek, user-friendly GUI
The tool leverages powerful Python libraries like pandas for data processing, customtkinter for GUI design, and openpyxl for seamless Excel export. It is fully packaged into a `.exe` file for offline use using PyInstaller, ensuring maximum data privacy and portability.
With the motto "Built by a CA, for CAs," the tool reflects real-world problem-solving for faster, more accurate GST compliance.
Figure 1: Welcome screen of EasyRecon – a simple, intuitive GUI for GST Reconciliation.
The tool opens with a sleek interface offering options to clean files, reconcile 2A vs 2B, compare with purchase register, and perform cross verification. A green call-to-action button makes it easy to launch the main reconciliation interface.
- Offline desktop application built using Python and CustomTkinter
- Accepts GSTR-2A, GSTR-2B, and Purchase Register (Excel format)
- Cleans each file to standardize headers and structure
- Matches invoices based on GSTIN and Invoice Number
- Assigns status: Matched, Mismatched (value), or Missing
- Outputs Excel reports with:
- Cleaned tabs (2A, 2B, Books)
- Reconciliation sheet with status
- Summary tab with totals and charts
5. Screenshot of the Reconciliation Tool Interface
Figure 2: Screenshot of the EasyRecon interface showing tabbed layout for file cleaning, 2A vs 2B reconciliation, and cross-verification.
The interface uses tabbed navigation, enabling users to move from file cleaning to reconciliation steps with ease. Each step includes specific buttons to process input files.
def reconcile_invoices(df_2a, df_2b):
df_2a["key"] = df_2a["GSTIN"].str.strip() + "_" + df_2a["Invoice Number"].str.strip()
df_2b["key"] = df_2b["GSTIN"].str.strip() + "_" + df_2b["Invoice Number"].str.strip()
merged = df_2b.merge(df_2a, on="key", how="left", suffixes=("_2b", "_2a"))
def get_status(row):
if pd.isna(row["Invoice Value_2a"]):
return "Missing in 2A"
elif abs(row["Invoice Value_2a"] - row["Invoice Value_2b"]) > 1:
return "Mismatch in Value"
else:
return "Matched"
merged["Match Status"] = merged.apply(get_status, axis=1)
return merged
import customtkinter as ctk
app = ctk.CTk()
app.title("EasyRecon – Your Struggle Ends Here!")
ctk.CTkLabel(app, text="EasyRecon – GST Reconciliation Made Effortless", font=("Arial", 20, "bold")).pack(pady=10)
ctk.CTkLabel(app, text="Built by a CA, for CAs – CA Ashwini Hegde", font=("Arial", 14)).pack()
ctk.CTkLabel(app, text="✓ Clean GSTR-2A / 2B ✓ Reconcile Effortlessly ✓ Spot Mismatches Instantly", font=("Arial", 12)).pack(pady=5)
ctk.CTkButton(app, text="🚀 Launch GST Tool", fg_color="green", command=launch_tool).pack(pady=20)
app.mainloop()
- AI-assisted Matching for fuzzy data
- Auto-email of reconciliation summaries
- Cloud dashboard for multi-client use
- ERP integration (Tally, Zoho, Busy)
- GSTN API validation support
- Built-in analytics with compliance alerts
- Data format variability across clients
- Matching tolerance logic implementation
- `.exe` packaging with full stability
- Simple yet efficient UI creation using CustomTkinter
Current Features:
- GSTR-2A & 2B Cleaning
- Purchase Register Cleaning
- 2A vs 2B Matching
- Books vs GST Reconciliation
- Excel Output with Statuses & Summary Charts
Next in Line:
- AI-based Fuzzy Matching
- Auto Email of Reconciliations
- ERP (Tally/Zoho) Integration
Future Vision:
- GSTN API Validation
- Client/Branch Login on Cloud
- Predictive Compliance Dashboard with Alerts
This tool has been designed to support Chartered Accountants in reducing manual work and improving compliance accuracy. With a clean interface and robust backend logic, EasyRecon empowers professionals to complete GST reconciliations faster and more reliably. It stands as a testament to how automation can enhance traditional finance functions.
It is built by a CA, for CAs – with the goal of simplifying GST compliance through practical, offline, and intuitive automation.