> ## 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.

# Create FVU generation job

> Generate an FVU file for your TDS or TCS return.

After creating the job, upload these files using HTTP PUT:

* Return text file → `data.txt_file_upload_url`
* CSI file → `data.csi_file_upload_url`
* Consolidated file for correction returns → `data.conso_file_upload_url`

Save `data.job_id` to [check the validation result](/api-reference/tds/compliance/generate-fvu/endpoints/poll_job).

<Note>
  For HTTP PUT upload instructions, see the [job-based API workflow](/guides/developer-resources/job_based_apis#how-it-works).
</Note>


## OpenAPI

````yaml api-reference/tds/compliance/openapi.json POST /tds/compliance/fvu/generate
openapi: 3.1.0
info:
  title: compliance
  description: >-
    Tax Deducted at Source (TDS) is an indirect method of collecting Income Tax.
    TDS is based on the principle of “Pay as you earn” which is beneficial for
    both the Government and the taxpayer. It is where a person making a payment
    of specified nature is liable to deduct tax at a prescribed rate. This
    ensures continuous revenue for the Government by way of Tax Deducted at the
    Source.


    The Payer making a payment is also responsible to deposit TDS with the
    Income Tax Department within a specified date and file a TDS Return. Once
    filed, the deposited amount will be shown in the Payee's Form 26AS which
    they can then use to claim tax credits when filing ITR.


    However, staying TDS compliant can be a hassle for businesses, as they are
    required to :


    1. Deduct TDS from payments that are liable for TDS Deduction at an
    appropriate rate.
        
    2. Deposit TDS to Government before the due date.
        
    3. File TDS Returns on a Quarterly basis.
        
    4. Issue a TDS Certificate by the deductor to the deductee.
        

    Organizations deducting TDS have to remain compliant with each of the steps.
    Failure to do so results in TDS Penalties by Authorities. Sandbox provides
    TDS Compliance APIs to help you automate end-to-end TDS compliance.
  version: 1.0.0
servers:
  - url: https://test-api.sandbox.co.in
  - url: https://api.sandbox.co.in
security: []
tags:
  - name: TDS Compliance Check
  - name: Download CSI
  - name: FVU Generation
  - name: E-File TDS Return
  - name: TDS
  - name: TDS Certificate
  - name: TRACES Credentials
paths:
  /tds/compliance/fvu/generate:
    post:
      tags:
        - FVU Generation
      summary: Create FVU generation job
      description: >-
        Creates an FVU generation job for a TDS or TCS return. Upload the return
        text and CSI files to the returned URLs using HTTP PUT. For correction
        returns, the response also includes a consolidated file upload URL. Use
        `job_id` to check the validation result.
      parameters:
        - name: authorization
          in: header
          description: JWT authorization token
          required: true
          example: '{{access_token}}'
          schema:
            type: string
        - name: x-api-key
          in: header
          description: Public key required to authorize API access.
          required: true
          example: '{{api_key}}'
          schema:
            type: string
        - name: x-api-version
          in: header
          description: ''
          required: false
          example: ''
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                '@entity':
                  type: string
                  enum:
                    - in.co.sandbox.tds.compliance.fvu.generate.request
                tax_year:
                  type: string
                  description: Tax Year (e.g. TY 2026-27)
                  examples:
                    - TY 2026-27
                  pattern: ^TY [0-9]{4}-[0-9]{2}$
                quarter:
                  enum:
                    - Q1
                    - Q2
                    - Q3
                    - Q4
                  type: string
                  examples:
                    - Q1
                form:
                  enum:
                    - '138'
                    - '140'
                    - '144'
                    - '143'
                  type: string
                  examples:
                    - '140'
                  description: >-
                    TDS/TCS return form. Use 138 for erstwhile 24Q, 140 for
                    erstwhile 26Q, 144 for erstwhile 27Q, and 143 for erstwhile
                    27EQ.
                tan:
                  description: >-
                    TAN of deductor/collector. Regular Expression:
                    [A-Z]{4}[0-9]{5}[A-Z]{1}
                  pattern: '[A-Z]{4}[0-9]{5}[A-Z]{1}'
                  type: string
                filing_type:
                  description: Type of TDS/TCS Return
                  enum:
                    - regular
                    - correction
                  type: string
                  examples:
                    - regular
              required:
                - '@entity'
                - tax_year
                - tan
                - form
                - quarter
                - filing_type
            examples:
              200 - Success:
                value:
                  '@entity': in.co.sandbox.tds.compliance.fvu.generate.request
                  tax_year: TY 2026-27
                  form: '138'
                  quarter: Q1
                  tan: AHMQ00112A
                  filing_type: regular
                summary: 200 - Success
              200 Job created for Correction return:
                value:
                  '@entity': in.co.sandbox.tds.compliance.fvu.generate.request
                  tax_year: TY 2026-27
                  form: '138'
                  quarter: Q4
                  tan: AHMA09719B
                  filing_type: correction
                summary: 200 Job created for Correction return
      responses:
        '200':
          description: 200 - OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  data:
                    type: object
                    properties:
                      '@entity':
                        type: string
                      job_id:
                        type: string
                        description: Job ID used to check status.
                      tan:
                        type: string
                      tax_year:
                        type: string
                        description: Tax Year (e.g. TY 2026-27)
                        examples:
                          - TY 2026-27
                        pattern: ^TY [0-9]{4}-[0-9]{2}$
                      quarter:
                        type: string
                      form:
                        type: string
                      filing_type:
                        type: string
                      status:
                        type: string
                      created_at:
                        type: integer
                      txt_file_upload_url:
                        type: string
                        format: uri
                        description: >-
                          Pre-signed URL for uploading the return text file with
                          HTTP PUT.
                      csi_file_upload_url:
                        type: string
                        format: uri
                        description: >-
                          Pre-signed URL for uploading the CSI file with HTTP
                          PUT.
              examples:
                200 - Success:
                  summary: 200 - Success
                  value:
                    code: 200
                    timestamp: 1763362637000
                    transaction_id: e2b9145f-69d5-4bbe-a6de-be6fc08b426f
                    data:
                      '@entity': in.co.sandbox.tds.compliance.fvu.generate.job
                      job_id: 4ef92975-aea8-4628-9eaa-18eb439c13d9
                      tan: AHMA09719B
                      tax_year: TY 2026-27
                      quarter: Q3
                      form: '138'
                      filing_type: regular
                      status: created
                      created_at: 1763362637000
                      txt_file_upload_url: >-
                        https://in-co-sandbox-tds-test-storage.s3.ap-south-1.amazonaws.com/upload/file
                      csi_file_upload_url: >-
                        https://in-co-sandbox-tds-test-storage.s3.ap-south-1.amazonaws.com/upload/file
                200 Job created for Correction return:
                  summary: 200 Job created for Correction return
                  value:
                    code: 200
                    timestamp: 1763362637000
                    transaction_id: e2b9145f-69d5-4bbe-a6de-be6fc08b426f
                    data:
                      '@entity': in.co.sandbox.tds.compliance.fvu.generate.job
                      job_id: f845f37e-7f05-4de9-a282-a3b23b9d370a
                      tan: AHMA09719B
                      tax_year: TY 2026-27
                      quarter: Q4
                      form: '138'
                      filing_type: correction
                      status: created
                      created_at: 1763362637000
                      txt_file_upload_url: >-
                        https://in-co-sandbox-tds-test-storage.s3.ap-south-1.amazonaws.com/upload/file
                      csi_file_upload_url: >-
                        https://in-co-sandbox-tds-test-storage.s3.ap-south-1.amazonaws.com/upload/file
                      conso_file_upload_url: >-
                        https://in-co-sandbox-tds-test-storage.s3.ap-south-1.amazonaws.com/upload/file
          headers: {}
      deprecated: false
      security: []

````

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