Most Shopify stores file GSTR-1 in one of two ways: download a file, upload it to gst.gov.in through the GST offline tool and file there, or send everything to an accountant. Filing from inside Shopify removes the file in the middle: the return is built from the same invoices the store issued and sent to the portal through a GST Suvidha Provider (GSP), a company licensed to connect software to the portal.
What do I need before the first filing?
- Your GST portal username. Not the GSTIN; the login name.
- The authorised signatory's PAN, and their phone. The filing code goes to the mobile and email registered for the authorised signatory.
- API access switched on at gst.gov.in, under My Profile, then Manage API Access. It lasts 30 days at most, so most months it has to be switched on again. How to enable API access.
- A proprietorship or a partnership firm. These can sign with EVC, the electronic verification code. A company must sign GST returns with a digital signature (DSC) under Rule 26 of the CGST Rules, which this route cannot do yet.
- A clean month: every order invoiced, every refund and cancellation covered by a credit note, every product with its HSN code.
The seven stages
| Stage | What happens | Can it be undone? |
|---|---|---|
| 1. Details | Portal username and the signatory's PAN, saved once and kept encrypted | Yes |
| 2. Sign in | The portal sends a code to the registered mobile; you type it in. The session stays open for a set time, inside the API access period | Yes |
| 3. Send | The month's return, built from your invoices, is sent to the portal and saved there. Nothing is filed | Yes: sending again replaces it |
| 4. Check | The portal reports what it accepted. Rejected rows are listed with the portal's reason | Yes |
| 5. Prepare | The portal adds up what it holds and readies the return | Yes |
| 6. Figures | The portal's own totals, next to how your Shopify orders add up to the same total | Yes |
| 7. File | The authorised signatory types the EVC code from their phone. The portal files the return and returns an acknowledgement reference number (ARN) | No |
After stage 7 the month is marked filed in the app, and the filing reminder for it stops.
Why show the portal's figures, not the app's?
Because the portal's figures are what you are filing. Since the July 2025 tax period, the tax on sales in your GSTR-3B is filled in from GSTR-1 and cannot be edited. Showing the portal's own summary, and how your Shopify orders reach the same number, means the person filing reads what will become the month's tax, not a figure that might differ from it.
What can go wrong, and what to do
- No sign-in code arrives. API access is off or has lapsed. Switch it on at gst.gov.in and ask for a new code.
- The portal rejects some rows. The rest are saved. Each rejected row comes with the portal's reason (a wrong GSTIN, an HSN code not in the portal's list); fix the invoice or the product and send again.
- The filing code has letters in it. It can. The portal's filing code is six characters and may mix letters and digits; type it as it arrives.
- You also sell elsewhere. One GSTR-1 must carry every sale made under the GSTIN that month. Sending replaces what the portal holds for the month, so if you also sell on a marketplace or through another billing system, settle with your accountant how those sales get into the same return before you send.
A filed return cannot be changed
There is no revising GSTR-1. A mistake found after filing is corrected once through GSTR-1A, before that month's GSTR-3B, or in the amendment tables of a later GSTR-1. That is why stage 7 opens only once stage 6's figures are on the screen.
Does it file GSTR-3B too?
Not yet for every store. The app lays GSTR-3B out table by table from the same invoices, for you or your accountant to file on the portal. Input tax credit on your purchases sits outside Shopify, and stays with you or your accountant.