AICA Use Case Documentation
1. Use Case Title
GSTR Auto Downloader - AI-built browser extension that bulk-downloads GSTR-1, GSTR-2B and GSTR-3B from the GST portal inside the member's own logged-in tab and consolidates them into Excel, entirely on the member's computer.
2. Objective / Problem Statement
Indicative time impact: for one client and one financial year, collecting GSTR-1 (JSON and PDF), GSTR-2B (Excel) and GSTR-3B (PDF) by hand means about 36 separate portal visits, each a chain of five to seven clicks and page loads, plus a 20-minute wait per month before a GSTR-1 JSON can be collected. Across a practice with dozens of clients this is a recurring half-day to full-day task every time returns are needed for review, reconciliation or an assessment reply. The extension reduces it to one period selection and a few clicks, with the waiting done by the browser; the member's own effort falls to a few minutes per client.
Members routinely need a year or more of filed GST returns for a client: for GSTR-1 against GSTR-3B checks, for ITC reconciliation of GSTR-2B against GSTR-3B, for DRC-01B and DRC-01C style variance checks, for annual return working and for replies to notices. The GST portal offers these only one return and one month at a time, each behind several navigation steps, and for GSTR-1 JSON it first generates the file and asks the user to come back later. Staff therefore spend hours clicking through the portal, keep a session alive by hand, download files with unhelpful names, and then spend further hours copying figures from many files into one working sheet.
A second constraint shapes the design: the returns carry the client's invoice-level data, GSTINs, party names and tax figures. They are confidential, so they cannot be uploaded to cloud AI tools, and the member cannot hand portal credentials or OTPs to any automation.
The solution demonstrates a reusable pattern: use an AI coding assistant (Claude Code) to build a bespoke tool, while the tool itself runs entirely in the member's browser with conventional, deterministic code. The member logs in exactly as before; the extension only works the portal's own pages and data requests inside that tab, keeps a local copy of every file it receives, and builds the Excel working papers from those copies. No server, no account and no AI is involved at runtime, so client data never leaves the computer.
3. Target Users
AICA Relevance Level: Level 2 (compliance-automation application for GST practice).
- Members in Practice handling GST return review, reconciliation, annual returns and notice replies for multiple clients.
- Members in Industry - indirect-tax and finance teams that need their own entity's returns for monthly ITC review and audit support.
- Article assistants and staff who currently download returns from the portal by hand and key figures into working sheets.
- Any member interested in the broader pattern: building a private, local automation tool with an AI coding assistant for a workflow that touches confidential client data and a government portal.
4. Platforms / Tools Required
- Runtime platform: Google Chrome or Microsoft Edge, version 114 or later, on any desktop operating system. Published on the Chrome Web Store and Microsoft Edge Add-ons, so installation is one click with no setup.
- Technology stack: Browser extension (Manifest V3) written in plain JavaScript, HTML and CSS with no framework and no third-party library. It uses only the browser's own capabilities: scripting into the portal tab, the downloads API, alarms for timed steps, local storage and IndexedDB for the file vault, and the browser side panel for the control panel. The ZIP and Excel readers and writers are written from scratch inside the extension, so Excel files are produced without any external component.
- AI tool (build time only): Claude Code (Anthropic's AI coding agent) - used to design, build, test, package and maintain the extension through natural-language prompts, including the store screenshots and listing text. Any comparable AI coding assistant can be used.
- Important: No cloud service, API key, server or account is used at runtime. The extension has no analytics and loads no remote code. The only website it can touch is gst.gov.in.
5. Input Files / Sample Files
- The member's own logged-in GST portal session - the extension never sees the user ID, password or OTP.
- A period range (From month and year to To month and year) and the filing frequency (monthly or quarterly QRMP).
- Optionally, a purchase register in Excel (for example a Tally export) with GSTIN, invoice number and tax columns, for matching against GSTR-2B.
- Optionally, previously downloaded GSTR-1 JSON or GSTR-2B Excel files, which can be added on the Consolidate page without any portal access.
Note: actual client returns are confidential. For demonstrations, the Consolidate page works with any GSTR-1 JSON or GSTR-2B Excel file, and the store listing and promo video use invented figures only.
6. Prerequisites
- Chrome or Edge 114 or later with the extension installed from the respective store (or loaded unpacked from the source folder).
- A GST portal login for the client, used by the member in the normal way. The extension works only after the member has logged in and reached the Returns Dashboard.
- A one-time browser setting: turn off "Ask where to save each file before downloading", so that the portal's files can be saved without a Save As window for every month.
- Optionally, "Allow access to file URLs" in the extension settings, so the extension can read back files it saved earlier; without it, downloads still work and files can be added by hand on the Consolidate page.
- No API keys, no internet service and no account beyond the GST portal itself.
7. Step-by-Step Execution Process
- Log in: Open the GST portal, log in with the usual credentials and OTP, and go to Services, Returns, Returns Dashboard. Click the extension icon; the control panel opens in the browser side panel and stays open while you work.
- Choose the period: Pick the From and To months (quick picks for this financial year, last financial year and last quarter) and monthly or QRMP. The panel shows which client the tab is logged in as.
- GSTR-1 JSON, step 1: Click Generate. The extension visits each month on the portal's own GSTR-1 page and requests the JSON, then schedules a second step about 18 minutes later and keeps the portal session alive in the meantime.
- GSTR-1 JSON, step 2: The extension returns to each month and collects the generated file, or you click Download yourself. Each file is checked to confirm it really is the month that was asked for, renamed by GSTIN and period, saved to Downloads and copied into the local vault.
- Other returns: Click the GSTR-1 PDF, GSTR-2B or GSTR-3B button for the same range. Each month is downloaded in turn with a per-month status strip, a live log, Cancel, and afterwards Retry failed months. Months not yet filed are skipped and reported.
- Consolidate: Click Open Consolidate, choose the client GSTIN, and build what is needed: a GSTR-1 Sales Register with one row per invoice line and a tab per table including amendments; a GSTR-2B workbook with every month merged sheet by sheet and an ITC summary tied to the portal's own figures; a GSTR-3B month-wise summary with ARN, filing date and days late; and GSTR-1 versus 3B and 2B versus 3B reconciliations per tax head at a threshold you set.
- Summary: Open the Summary dashboard for a period range to see the three returns side by side, with charts marking any period that needs checking, before opening any Excel. Save it as a workbook, save a chart as an image or print to PDF.
- Review: All workbooks open ready to use, with styled headings, Indian digit grouping, filters, totals and print setup. Every figure is a working figure to be verified against the filed return.
8. Prompts to be Used
By design, the finished extension needs no AI prompts at runtime - that is what keeps client data private. Prompts are used with the AI coding assistant (Claude Code) to build and extend the tool. Representative examples from the build:
- "Build a Chrome and Edge extension (Manifest V3, plain JavaScript, no libraries) that downloads GSTR-1, GSTR-2B and GSTR-3B for a range of months by working inside my own logged-in GST portal tab, using the portal's own pages and data requests, never handling the password or OTP."
- "GSTR-1 JSON takes the portal up to 20 minutes to generate. Request every month in one pass, keep the session alive, then come back automatically and collect the files, surviving the browser suspending the extension in between."
- "Write an Excel reader and writer with no external library, then build a GSTR-1 Sales Register with one row per invoice line, a tab per table including amendments, and a month-wise summary."
- "Reconcile GSTR-2B against GSTR-3B line by line - imports, reverse charge, ISD and all other ITC each against its own table 4(A) line - per tax head, at a threshold I set, with one plain sentence on what to check."
- "The popup closes whenever the cursor leaves it. Open the control panel in the browser side panel instead, like other extensions do, so it stays open while I work in the portal tab." (iterative refinement prompt)
- Standing guardrail prompt saved in the project instructions: "Never read or scan my business folders on your own; only touch files I attach. When testing, print only counts and pass/fail, never GSTINs, names, amounts or dates. Never send business data to any cloud AI."
9. Expected Output
- Return files in the Downloads folder, named by GSTIN and period (for example GSTR1_27ABCDE1234F1Z5_072026.zip), one per month for each return type, with every client's files kept apart.
- GSTR-1 Sales Register workbook: invoice-level rows, a tab per table, amendments, a month-wise summary, an HSN check and a source sheet listing every file used.
- GSTR-2B workbook: all months merged with the return period as the first column, plus an ITC summary of available and not-available credit shown against the portal's own ITC summary sheet.
- GSTR-3B month-wise summary and the two reconciliations (GSTR-1 against 3B, GSTR-2B against 3B), with variances flagged and a purchase-register match where provided.
- Summary dashboard with totals and charts, exportable as a workbook, image or PDF.
- On-screen run summary - months processed, filed and not filed - and a diagnostic log that can be copied with GSTINs and file paths masked.
10. Error Handling / Troubleshooting
- Portal session expired: The panel shows "Portal open - please log in"; the run waits for the member. Nothing is attempted without a live session.
- Run interrupted: The browser suspends the extension; the run resumes from its saved state, and if it cannot, the log says so and the months already downloaded are skipped on the next run.
- Month not filed: The portal reports the return as not filed; the month is marked and remembered, and the run moves on.
- Wrong file received: The extension compares the file's own GSTIN and period with what was requested and refuses to file a mismatch in the vault, with a log entry.
- Save As window appears for every file: A banner explains the browser setting and opens the Downloads settings page directly.
- File access denied: A banner explains the "Allow access to file URLs" setting; downloads still work and files can be added to Consolidate by hand.
- Anything else: A Copy diagnostic log button produces a masked log that can be shared when asking for help.
11. Limitations
- Depends on the GST portal's current page layouts and data requests; a portal redesign needs a corresponding update of the extension (the portal-facing code is kept in one file for this reason).
- Works one client at a time, in the browser where the member is logged in; there is no server mode and no scheduling across clients.
- GSTR-1 JSON still takes the portal's own 20 minutes per month to generate; the extension removes the waiting, not the delay.
- The figures in the workbooks and the dashboard are working papers for review, not returns or official documents; "days late" uses the standard due date and does not consider notified extensions.
- Requires Chrome or Edge 114 or later for the side panel; older browsers fall back to the classic popup.
- Login, OTP and any captcha remain with the member by design.
12. Additional Notes / Recommendations
- Key takeaway: Use AI to build the tool, never to process the client data. The extension gives the productivity of automation with zero data-privacy exposure and no portal credential ever shared - a pattern suitable for any portal-based workflow in a CA office.
- Write the confidentiality guardrails into the AI assistant's project instructions once; the assistant then respects them in every session, including when it runs tests.
- Keep the tool's own store listing honest: label figures as working figures, state that it is not affiliated with GSTN, and publish a privacy policy that says nothing leaves the browser. Both stores review these statements.
- Ask the assistant to write automated tests against fakes of the portal (closed tab, expired session, wrong file) so that portal-facing changes can be checked without touching live client data.
- The same architecture (in-tab portal automation, local file vault, built-in Excel generation, AI-assisted development) is directly reusable for the Income-tax portal, MCA filings, TDS statements and other high-volume download-and-collate work.