How a practice runs a month on fynxIQ, from upload links on the 1st to the GSTR-1 and GSTR-3B each marked filed with its own ARN.
The client list, the team and two-factor are set up once
A practice workspace asks one thing of its owner before the firm board opens: two-factor sign-in, with a six-digit code from an authenticator app, which the owner then cannot turn off. Managers and staff are offered it, and any session can be signed out in Settings.
The client list comes in under Import clients: an .xlsx or .csv of at most 4 MiB with a GSTIN column, and client name, legal name, filing frequency, turnover, staff email and notes read when present. Every row is shown as fynxIQ understood it and every problem by its row number, and nothing is written until the list is clean, the plan’s room for registrations included. A GSTIN already on the list is left alone, and a staff email on a row, which must belong to someone already on the team, assigns that client to that person.
A saved GSTIN cannot be edited: every prepared return and every remembered buyer hangs off it. A wrong one is archived and the right one added.
The owner keeps billing, the team, the evidence archive switch and the firm’s deletion. A manager sees every client, assigns staff, imports the list and marks filed for anyone. A staff member sees only the clients assigned to them: on the board, the calendar, Blockers and the reminder mail, and on their pages, upload links, packs, prepare screens and filed marks. A link typed by hand gets the same answer as a button. A staff member with nothing assigned sees an empty board that says so, until the owner or a manager assigns a client.
On the 1st, ask every client for the month
From a client’s page, make an upload link for the month just closed, copy it at once and send it to the client. It is shown once, since fynxIQ keeps only its SHA-256 fingerprint; a lost link is closed and replaced. A link is for one client and one period, lasts fourteen days, can be closed early and takes at most ten sends.
The client needs no account. They drop marketplace reports, a sales register, a GSTR-1 workbook in the offline tool’s template, a Tally Day Book export or the portal’s TCS statement, and the same engine runs in their browser: they see the totals and every blocker and warning before sending, and may send with a blocker standing and a note for you. Photographs and PDFs are not read on that page; the client sends those to you directly.
What reaches the firm is the pack, never a file: the GSTR-1 JSON, refused unless it is for that GSTIN and period and in a shape the portal’s upload would accept; the checks as they ran on the client’s device; the note; and each file’s name, size and fingerprint. A pack is held under 4 MB, and the totals you see are worked out again on the server from the JSON. A pack’s page sets the same return checked again on arrival beside the client’s own checks. Its Download the JSON is not held by a blocker the way the prepare screen’s is, so read Checked again here first.
The board, the calendar and the reminders keep the month in view
The board shows each client for the period in one word: nothing yet, blocked, ready, nil or filed. When the prepare screen’s checks find a blocker, the row reads blocked, with the count, until they are cleared; a return is ready once its JSON is downloaded, or nil once a nil month is declared there; filed, once a GSTR-1 ARN is recorded, outranks everything else. The prepare screen sends only the counts of blockers and warnings and the taxable total, never a line. Each row has a GSTR-1 column and a GSTR-3B column, each with its own filed mark. Export board, for owners and managers, gives the same rows as a workbook with both ARNs.
The calendar lists the returns of every client on the board, from this period and the one before, since last month’s GSTR-3B can still be owed: overdue first, then the next seven days, then the rest. A monthly client’s GSTR-1 is due by the 11th of the following month and the GSTR-3B by the 20th. For a quarterly client under Notification 84/2020-Central Tax (the QRMP scheme), the GSTR-1 is due by the 13th after the quarter and the GSTR-3B by the 22nd or the 24th according to the state. The calendar also lists a PMT-06 on the 25th after each of the quarter’s first two months.
A PMT-06 is a payment, not a return the portal acknowledges with an ARN, so it is never called overdue: once its date has gone by it is shown as passed. The IFF is optional and is not listed. A date CBIC has moved by notification is shown moved, with the notification named.
Reminder mail goes out once a return is three days or less from its date: one mail per person per morning, for the clients that person can see, never twice for the same return, and none once that return is marked filed. Each person can turn it off in Settings.
A client’s return is prepared on the prepare screen
Prepare on a board row opens the client’s prepare screen: Files, Checks, Your return and File it, with the Ask box at the foot, which answers only when asked. Photographed bills are read by Anthropic’s Claude, or Google’s Gemini when Claude cannot, only once the business agrees, and count only once a person confirms them. A blocker is certain and names the figure and its source; a warning holds nothing. File it gives the JSON, held against the offline tool’s format rules, and a printable workpaper with every check and three signature lines.
The Purchases page holds the client’s GSTR-2B against their purchase register and bills, because since 1 January 2022 credit follows the statement (section 16(2)(aa) of the CGST Act, Finance Act 2021, Notification 39/2021-Central Tax). The GSTR-3B page drafts Table 3.1 from the GSTR-1 and Table 4 from the GSTR-2B, puts the reversals you state in the rows Circular 170/02/2022-GST (paragraph 4.3 and its Annexure) gives them, applies the tax collected at source to the cash (section 52(7) of the CGST Act), and holds the draft against the portal’s own GSTR-3B PDF row by row. Neither waits for the GSTR-1 to be cleared; the GSTR-3B page names the GSTR-1’s blockers beside its draft.
Both sides go back to Tally as import files, posted only to ledger names the firm gives once. The sales files have been imported into TallyPrime 7.1; the purchase files not yet, so import those into a copy first.
Each return gets its own filed mark and its own ARN
The filed mark is the one fact fynxIQ cannot learn for itself, because it does not file. It is kept with who typed it and the day:
- Download the GSTR-1 JSON from File it, upload it on the portal and file it there with your DSC or EVC.
- On the board, choose Mark GSTR-1 filed and give the fifteen-character ARN the portal showed, with the date. A date in the future is refused. The row turns filed, and the GSTR-1 leaves the calendar and the reminders.
- Pay and file the GSTR-3B on the portal, then choose Mark GSTR-3B filed in the same row, with its own ARN.
- A mark can be removed, for a wrong client or a wrong month. The ARN is forgotten, the prepared return stays, and the removal is logged as a notice.
- A nil month declared on the prepare screen shows as nil. When the portal sends the ARN for the nil filing, mark it like any other.
The trail records who did what, and the whole firm can be taken out
Activity shows the owner and managers the firm’s last three hundred events, newest first, with who, what, the detail and the address it came from. Every change a person makes to a client, to the team or to the firm’s settings is there: clients added, edited, imported, assigned, archived, deleted or restored, returns prepared, filed marks and their removal, typed amendments, upload links, invitations, roles and each setting, and beside them sign-ins, failed ones and two-factor changes. An entry names the client or the person and never an amount. Staff do not see it, because it names every client of the firm. It is read only: evidence, not a control.
A client you stop filing for is archived, which frees its place on the plan and deletes nothing, because a notice about a year you filed can still arrive. Delete is for a row that should never have existed: confirmed by typing the name, hidden at once, restorable from Settings for seven days, then removed for good with everything filed under it.
From Settings, the owner can take the whole organisation out as one zip: every client and prepared return, both filed marks of every period with their ARNs, the assignments, the team, the activity trail, upload links and packs, Tally ledger names and typed amendments as JSON, the evidence rows if the archive was on, and this month’s board as Excel. Money in the JSON is in integer paise, and no marketplace file is in it, because none reached the server. Deleting the firm takes the owner’s typed name and password; the owner can restore it for seven days, and after that it is purged. Payment records are kept.
Some of a firm’s work stays outside fynxIQ
It never files and never asks for a portal password; there is no field for one. By default it does not connect to the portal at all: it prepares the JSON and records what you tell it happened. Portal access, which reads a client’s return status, filed GSTR-1 and GSTR-2B through a GSP, is switched on per client with the client’s own OTP and is not open to customers yet.
It does not check that a GSTIN was ever issued or is still active; the check digit proves only that the number is well formed. It does not decide whether a credit is blocked by section 17(5) or must be reversed under rules 42, 43 or 37: the GSTR-3B draft takes those reversals as figures you state. It does not do bookkeeping, TDS, income tax or ROC work.
In the app, on every plan, the free one included: Board, calendar and upload links, for CA firms.
Which file to download, and from where: the list for each marketplace and the GST portal.
By Raunak Pathak, founder of fynxIQ, who files GST returns on it. Last updated 9 October 2026. This is general information about how GST returns work, not advice about your particular return.