The return does not ask for a total. It asks for your sales broken into tables, each with its own level of detail, and the split is decided by two things: whether your customer is registered, and where the supply went.
The tables
| Table | What goes in it | Detail |
|---|---|---|
| B2B | Supplies to a registered customer | Reported invoice by invoice, against the customer’s GSTIN. |
| B2CL | Inter-state supplies to an unregistered customer above ₹1,00,000 | Reported invoice by invoice, even though there is no GSTIN to report against. |
| B2CS | Everything else sold to unregistered customers | Summarised by place of supply and rate, not listed invoice by invoice. |
| CDNR | Credit and debit notes issued to registered customers | Each note carries the number and date of the invoice it adjusts. |
| CDNUR | Credit and debit notes issued to unregistered customers | Same detail, reported separately because there is no counterparty GSTIN. |
| HSN | A summary of what you sold, by HSN or SAC code | Quantity, taxable value and tax per code, across every document in the period. |
| DOCS | The serial ranges you issued | From and to, with counts of issued and cancelled, per document type. |
The two decisions that sort every invoice
Is the customer registered?
Registered means B2B, reported invoice by invoice against their GSTIN — which is how the credit reaches them. Get the GSTIN wrong and your customer's credit does not appear, which is why validating it at entry is worth more than it looks.
If not, is it inter-state and above ₹1,00,000?
Inter-state supplies to unregistered customers above that invoice value are reported individually as B2CL. Everything else — all intra-state sales to consumers, and smaller inter-state ones — is summarised into B2CS by place of supply and tax rate.
That threshold used to be ₹2,50,000 and was reduced. If you have a spreadsheet or a habit built around the old number, invoices between the two figures are now in the wrong table. Whether a supply is inter-state is decided by place of supply, not the billing address, so that question has to be right before this one can be.
Why DOCS exists
The documents-issued table asks for the serial ranges you used — from, to, how many issued, how many cancelled — for each type of document. It is there to account for every number in the sequence, including the ones you cancelled.
This is the practical reason gapless numbering matters. A missing serial is a question you have to answer: was it cancelled, or was it an invoice that never made it into the return? Numbering that never skips means there is nothing to explain.
What HSN needs from you
The HSN summary aggregates everything you sold by code, so every line on every invoice needs one. A line with no HSN or SAC cannot be summarised, and the number of digits required depends on your turnover.
The cheapest fix is upstream: put the code on the item once, in your price list, and it is on every invoice you ever raise from it.
What a JSON export does and does not do
Exporting is not filing. The file goes into the government's offline utility, which generates what you upload to the portal, where you check it and submit. An export saves you re-keying every invoice; it does not sign anything or take responsibility for the figures.
Reconcile against your own books before you file. An export is only as right as the billing behind it, and a wrong GSTIN or a missing place of supply is invisible in a JSON file and obvious in a mismatch notice later.
How BahiSathi handles it
Pick a month and export. The app sorts every issued document into the seven tables above, builds the HSN summary and the document ranges, and gives you GSTR-1 JSON for the offline utility or a flat CSV if your accountant would rather have that.
Anything it cannot place is reported to you as a warning rather than dropped. A note with no linked invoice, a document with no line items, a line with no HSN — each is named with its document number so you can go and fix it, instead of discovering the gap after the file is uploaded.
What the export does not cover
Worth knowing before you rely on it. The following are not built into the export and are surfaced as warnings rather than silently omitted:
- Exports and supplies to SEZ units or developers
- Deemed exports
- Advances received, and adjustments against them
- Nil-rated, exempt and non-GST outward supplies
If a meaningful part of your turnover is any of those, BahiSathi's export will not give you a complete return and you should treat it as a starting point for your accountant rather than a finished file.
A plain-language summary. Thresholds, HSN digit requirements and filing frequency all change, and the return itself has been restructured before — confirm the current position with your accountant before a filing season.