Workflow Overview
The GSTR-3B filing process follows this sequence:- Authenticate - Create a taxpayer session (valid for 6 hours)
- Get GSTR-3B Details - Retrieve existing GSTR-3B data from the GST portal
- Save Data - Upload your GSTR-3B data to the GST portal for validation
- Get Ledger Balance - Check available cash and ITC credits
- Offset Liability - Allocate ITC and cash towards tax liability
- Get Updated Details - Retrieve GSTR-3B data with payment information
- Generate EVC OTP - Get Electronic Verification Code OTP
- File Return - Submit the return with OTP verification
1
Authenticate and Get Taxpayer Session
Before filing GSTR-3B, you must authenticate and create a taxpayer session. Follow the steps in the Generate Taxpayer Session recipe to obtain a Taxpayer access token.This access token is required for all GST Taxpayer API calls and is valid for 6 hours.
2
Get GSTR-3B Details
Retrieve existing GSTR-3B data from the GST portal using the Get GSTR-3B Details endpoint to see what data is already saved for the return period.This allows you to review the current state of your return and identify what needs to be updated before saving your data.
The response will contain any existing GSTR-3B data for the return period. Use this information to prepare your complete return data in the next step.
cURL Request
cURL Request
3
Save GSTR-3B Data
Once you have the Taxpayer access token, save your GSTR-3B data using the Save GSTR-3B endpoint.Provide all summary details including outward supplies, inward supplies, ITC eligibility, and tax payment details. The data will be saved on the GST portal for review before filing.
The response will include a
cURL Request
cURL Request
reference_id which you can use to check the status of the save operation. You can optionally poll the GST Return Status endpoint using this reference ID.4
Get Ledger Balance
Before offsetting liabilities, retrieve the current ledger balance using the Get Balance Ledger endpoint to understand available cash and ITC credits.
This will provide you with the current balance in cash ledger, ITC ledger, and liability ledger, which you’ll need to properly offset liabilities in the next step.
cURL Request
cURL Request
5
Offset Liability
Offset your tax liabilities using available ITC and cash ledger balance using the Offset Liability endpoint.Specify how you want to pay taxes from cash (
After offsetting liabilities, you need to retrieve the updated GSTR-3B details that include the payment information.
pdcash) and how you want to utilize ITC credits (pditc) to offset your liabilities.cURL Request
cURL Request
6
Get Updated GSTR-3B Details
After offsetting liabilities, retrieve the updated GSTR-3B details using the Get GSTR-3B Details endpoint to obtain the complete return data including tax payment details (
The response will contain the complete GSTR-3B data including the
tx_pmt) that are required for filing.This endpoint returns the GSTR-3B data with updated payment information reflecting the liability offset you performed in the previous step.cURL Request
cURL Request
tx_pmt (tax payment) section with offset details. Extract this data as it is required for the filing request in the next step.7
Generate EVC OTP
To file GSTR-3B, you need to generate an EVC (Electronic Verification Code) OTP using the Generate EVC OTP endpoint.Provide the PAN (Permanent Account Number) associated with the taxpayer’s GST registration. The OTP will be sent to the registered mobile number or email.
The OTP will be sent to the registered contact details. You’ll need this OTP in the next step to complete the filing.
cURL Request
cURL Request
8
File GSTR-3B
Once you have the EVC OTP and have retrieved the updated GSTR-3B details (including payment information), file your GSTR-3B using the File GSTR-3B endpoint.Include the PAN and OTP as query parameters, along with the complete GSTR-3B data including all sections and tax payment details in the request body.
Upon successful filing, the response will confirm that GSTR-3B has been filed for the specified return period.
cURL Request
cURL Request