Which columns a sales register needs for GSTR-1, how the column mapper reads them once, and what to compare by hand the first month.
What the register has to carry
A sales register keeps what rule 46 of the CGST Rules, 2017 says a tax invoice carries, one row per document. fynxIQ builds a GSTR-1 from any .xlsx or CSV sheet that has it, whatever the headings say; an .xls file must be saved as .xlsx first. Five fields are needed before a return can be built; the rest make it complete.
- Needed: invoice number, invoice date, place of supply, HSN or SAC, and taxable value, the amount before tax, not the invoice total.
- Tax: IGST, CGST and SGST in their own columns, or one total. Without a rate column, the rate is tax over base, snapped to a legal rate when it is within rounding of one.
- The buyer’s GSTIN on business sales, blank for consumers. With no state column, a valid buyer GSTIN’s state is taken as the place of supply. That fits most services to a registered buyer, but goods are supplied where their movement ends (sections 10 and 12 of the IGST Act, 2017), so keep a state column if they can go elsewhere.
- A type column if there are credit or debit notes, with the note’s own number in a column apart from the invoice it is against.
- Quantity, for Table 12; without it each row counts as one. Your GSTIN on each row, if one register covers several registrations; the other registrations’ rows are left out.
How the mapper reads your headings
What a sheet is comes from its headings and cells, never from its file name. On the prepare screen, a sheet no reader claims is listed under Sheets still to place, marked Orders or Unknown, with a Map the columns button. Until it is mapped, nothing from it is read and it holds the return.
- fynxIQ has matched what it could from the header row, in your browser, with up to two sample values beside each field, so a wrong guess shows: Net Amount is the base in one register and the invoice total in another.
- Correct any field that points at the wrong column. The HSN or SAC, the place of supply and the supply type can be typed once instead of mapped. The mapping cannot be saved until the five starred fields are answered.
- Every value in the type column is listed with what fynxIQ made of it; one it cannot place, PROFORMA say, holds its rows out of the return until you say what it is.
- If the amounts carry Cr and Dr, say once which side is a sale; it depends on the ledger, so it is asked.
- Press Save this mapping, and the return is rebuilt at once; a check that points at a row names its file and row number.
When the headings are unfamiliar, and what is kept
Signed in, you can press Let fynxIQ read these headings. A model is sent that sheet’s file name, headings, row count and up to three sample values from each column. Names, GSTINs, contact details and long numbers are masked; the other samples, amounts and dates among them, go as written. Its proposals land in the same dropdowns, marked suggested, and it asks where unsure; you still save. It uses one of the month’s unfamiliar-file reads, on every plan. Every amount is still read from the file by code.
Saving a mapping reads this month’s register on any plan; keeping it for next month is on the Seller plan and above. What is kept is the headings and your answers, not a figure; the register itself is read in your browser and not uploaded. A totals row at the foot is left out, and so is a sheet whose title above the headings says Purchase Register, Inward or Expenses.
Which table each row lands in
A supply type column, or one value typed for every row, places each row; blank or Regular is an ordinary sale. Export with payment and Export under LUT go to Table 6A, SEZ with payment and SEZ without payment to Table 6B, all inter-state wherever the buyer is (sections 16 and 7(5) of the IGST Act, 2017). Nil rated, Exempt and Non-GST go to Table 8. An export or SEZ row that does not say whether tax was paid is held, because its type within Table 6A or 6B, whether it carries integrated tax, and the refund route all turn on it. A deemed export is not read from a register yet, and is held.
An inter-state invoice to a consumer whose value, tax included, is above ₹1,00,000 goes on its own to Table 5, not into Table 7’s totals; the limit was ₹2,50,000 for supplies before 1 August 2024 (Notification 12/2024-Central Tax). fynxIQ applies the limit of the month being filed, so a late return for July 2024 or earlier is held to ₹2,50,000. A credit note against a Table 5 invoice in the same return follows it to Table 9B, if the register keeps the note’s number apart from the invoice’s.
Rates, HSN digits and the rows the checks hold
Every rate is held against the period being filed. 12% ceased to be a general rate on 22 September 2025 (Notification 9/2025-Central Tax (Rate)), when 28% was kept only for pan masala and tobacco products; 28% ceased altogether on 1 February 2026 (Notification 19/2025-Central Tax (Rate)). The first change fell mid-month, so the September 2025 return carries both structures. A withdrawn rate is a warning, since a credit note against an older invoice properly carries it. A rate written 0.18 or 18 is settled against the row’s own tax over its base. A rate that was never a GST rate, 15% say, holds the return.
Table 12 carries six HSN digits above ₹5 crore of aggregate turnover in the previous financial year and four at or below it; exactly ₹5 crore is four (Notification 78/2020-Central Tax). fynxIQ checks the depth only when your turnover is entered in settings, and blocks an HSN code it can show does not exist while staying silent on one it cannot check. The mapper has no unit column, so goods go into Table 12 as PCS and services as NA.
- Central and state tax on a sale to another state, or integrated tax on one at home, is a warning, and the return carries the head the place of supply fixes (sections 7 and 8 of the IGST Act, 2017).
- A buyer GSTIN that fails its check digit is named and the sale filed as a consumer sale, out of the buyer’s GSTR-2B, unless that GSTIN was the only source of the state: then the row holds the return. Your own GSTIN in the buyer column holds the return.
- A row dated in an earlier month is asked about by number: declare it late here, as section 37(3) of the CGST Act allows until 30 November after its financial year or its annual return, whichever is earlier, or leave it out because its own month’s return has it. A row dated after the month holds the return.
- An invoice number longer than sixteen characters, or with punctuation other than / and -, holds the JSON: the offline tool’s format refuses it.
Your numbering is yours, so Table 13 asks
Since the May 2025 return period the portal refuses a return that reports supplies with a blank document summary (GSTN advisory of 2 May 2025), and rule 46(b) of the CGST Rules, 2017 gives each tax invoice a consecutive serial number, unique for the financial year. So fynxIQ builds each series from the register’s numbers.
A number missing from the series of Amazon, Flipkart, Meesho or Myntra is not asked about, because the marketplace numbers those invoices and its file carries only the month; Table 13 counts it as cancelled, a declaration still made in your name. One missing from your own register was cancelled or never entered, and only you know which, so each is asked about: it was cancelled, its file is still to be uploaded, or I cannot place it yet. A cancelled number is declared cancelled in Table 13; one still to be uploaded is a supply this return leaves out. The GSTR-1 JSON stays shut while a number is unanswered or its file is still to come, and an answer can be changed. A row your type column calls cancelled is left out, and its number is asked about like any gap.
Three things to compare by hand the first month
No check can tell that a column was pointed at the wrong field: a return built from the wrong column balances perfectly against itself, Table 12 against Tables 4 to 9 included. So the first month compare these by hand before you upload the JSON and file the return on the portal:
- The register’s own totals against the return’s taxable value and tax, to the paisa. A difference is usually a row held, left out or dated elsewhere, named in the checks; a row with no invoice number, or under another registration’s GSTIN, is skipped without a note.
- Table 13 against your invoice book: the first and last number of each series, and every gap, before you answer.
- Sales that went through a marketplace against the portal’s TCS credit statement. The tax the operator collected is yours to claim as cash-ledger credit (section 52(7) of the CGST Act). Map the register’s marketplace GSTIN column so those rows reach Table 14 and the comparison. The statement’s Excel form is compared operator by operator and state by state; its PDF carries one total.
In the app, on every plan, the free one included: GSTR-1 from any sales file.
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 23 September 2026. This is general information about how GST returns work, not advice about your particular return.