> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sandbox.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# File Nil GSTR-3B

> Nil GSTR-3B is filed when a registered taxpayer has no outward or inward supplies, tax liability, or ITC to claim. Filing it is mandatory to maintain compliance. This recipe shows how to automate nil GSTR-3B filing.

## 1. Authenticate and Get Taxpayer Session

Before filing Nil GSTR-3B, you must authenticate and create a taxpayer session. Follow the steps in the [**Generate Taxpayer Session**](https://developer.sandbox.co.in/recipes/gst/authentication/generate_tax_payer_session.md) 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. Generate EVC OTP

To file Nil GSTR-3B, you need to generate an EVC (Electronic Verification Code) OTP using the [**Generate EVC OTP**](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/taxpayer/authentication/generate_evc_otp.md) 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.

> **cURL Request**
>
> ```bash theme={null}
> curl --request POST \
>   --url 'https://api.sandbox.co.in/gst/compliance/tax-payer/evc/otp?gstr=gstr-3b' \
>   --header 'authorization: {taxpayer-access-token}' \
>   --header 'x-api-key: xxxxxxxxxxxxxx' \
>   --header 'x-api-version: 1.0.0' \
>   --header 'Content-Type: application/json' \
>   --data '{
>   "pan": "ABCCQ3123E"
> }'
> ```

The OTP will be sent to the registered contact details. You'll need this OTP in the next step to complete the filing.

## 3. File Nil GSTR-3B

Once you have the EVC OTP, file your Nil GSTR-3B using the [**File GSTR-3B**](https://developer.sandbox.co.in/api-reference/gst/compliance/endpoints/taxpayer/gstr-3b/file.md) endpoint.

Include the PAN and OTP as query parameters, along with the return period, GSTIN, and `isNil` flag set to "Y" in the request body.

> **cURL Request**
>
> ```bash theme={null}
> curl --request POST \
>   --url 'https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-3b/2023/12/file?pan=AAACJ3770E&otp=123456' \
>   --header 'authorization: {taxpayer-access-token}' \
>   --header 'x-api-key: xxxxxxxxxxxxxx' \
>   --header 'x-api-version: 1.0.0' \
>   --header 'Content-Type: application/json' \
>   --data '{
>   "ret_period": "122023",
>   "gstin": "29AAACQ3770E000",
>   "isNil": "Y"
> }'
> ```

Upon successful filing, the response will confirm that Nil GSTR-3B has been filed for the specified return period.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.