Form 138 TDS Return File Validator
Check your quarterly salary TDS statement (Form 138, earlier Form 24Q) text file before you run it through the official FVU: every error and warning, line by line and field by field, with how to fix it.
Findings
| Line | Record | Field | Value found | Problem | Expected | How to fix | Type |
|---|
Your file, record by record
This checks the file before the official File Validation Utility (FVU), using the Income Tax Department's published Form 138 file format (Q1 to Q3); the rules are listed further down this page. It cannot see the CSI challan file, TRACES or PAN records, so it cannot confirm that a challan exists, that the TAN name matches, or that a PAN belongs to the person. You still have to run the official FVU with the CSI file, and its result is the final word.
Free tool · Income-tax Act 2025 · Form 138
Check your Form 138 TDS return file before the FVU, and fix every problem in one go instead of one rejection at a time.
Select the quarterly salary TDS text file (the input file you would run through the official File Validation Utility). The validator checks every record against the Income Tax Department’s published Form 138 file format and tells you the line, the field, the value it found and how to fix each problem.
How to use the Form 138 file validator
- Select your Form 138 .txt file, or drag it onto the box. It is the caret-separated text file your TDS or payroll software generates for the FVU, not the .fvu file the FVU produces. No file to hand? Press “Try the sample” to see how the results look.
- Check the quarter. The validator reads the tax year and quarter from the batch header. If you pick one yourself, it checks the payment and deduction dates against your choice and tells you if the file says otherwise.
- Read the summary. TAN, deductor, quarter, challans, deductee records, tax deducted and deposited, and the number of errors and warnings.
- Fix the errors, then review the warnings. Each finding gives the line, the record, the field number and official field name, the value found, what was expected and how to fix it. Open a challan to see its deductee rows with the problem fields highlighted, or download the CSV report.
- Run the official FVU. Once this page shows no errors, validate the file with Protean’s FVU and the CSI file for your TAN, then upload the .fvu file on the e-filing portal.
What is Form 138?
Form 138 is the quarterly statement of tax deducted at source from salary. It replaced Form 24Q from tax year 2026-27 (payments from 1 April 2026), when the Income-tax Act, 2025 and the Income-tax Rules, 2026 came into force. It reports TDS deducted under section 392 (salary) and, for specified banks, under section 393(1) for specified senior citizens, and is furnished under section 397(3)(b) read with Rule 219. Salary paid up to 31 March 2026, including Q4 of 2025-26, is still reported in Form 24Q.
| Quarter | Period | Due date | Tax year 2026-27 |
|---|---|---|---|
| Q1 | April to June | 31 July | 31 July 2026 |
| Q2 | July to September | 31 October | 31 October 2026 |
| Q3 | October to December | 31 January | 31 January 2027 |
| Q4 | January to March | 31 May after the tax year | 31 May 2027 |
Annexure I (deductee-wise details) is filed every quarter; Annexure II (salary details) and Annexure III are filed only with Q4. Late filing attracts a fee under section 427, and a statement once submitted can only be changed through a correction statement (Income Tax Department, Form 138 FAQs).
The Form 138 file, record by record
The statement is a plain ASCII text file. Every line is one record, every record ends with CR LF, and fields are separated by a caret (^). Empty fields are still there, as two carets with nothing between them, so a record always has the same number of carets. A Q1 to Q3 file has four kinds of record, in this order:
| Record | Fields | How many | What it holds |
|---|---|---|---|
| FH File header | 18 | One, on line 1 | File type SL1, upload type R, creation date, TAN, number of batches, the software that made the file |
| BH Batch header | 72 | One per statement | Form number 138, tax year and quarter, deductor name, address, PAN, deductor category, responsible person, number of challans and their total |
| CD Challan detail | 30 | One per challan | Tax, interest, fee and penalty, total deposited, BSR code, challan number and date, minor head, interest and others allocation, totals of its deductee rows |
| DD Deductee detail | 45 | One per employee per challan, right after its CD | PAN, name, section code, date and amount paid, tax deducted and deposited, dates of deduction and deposit, remark |
A deductee line for a fictional employee paid ₹62,000 in July with ₹3,100 deducted looks like this (most of the 45 fields are empty by design):
4^DD^1^1^1^O^^ABCPE1001F^RIYA MENON^^^^^^1002^^^Y^31072026^62000.00^^^^3100.00^3100.00^^31072026^^07082026^^^^^^^^^^^^^^^^
What changed from the 24Q file: the form number is 138 and “financial year” became “tax year”; section codes are 4 digits (1001, 1002, 1003, 1032) instead of 92A, 92B, 92C; the challan has tax, interest, fee and penalty only (surcharge and cess are folded into tax); in the deductee record the deductee record number now comes before the challan reference; contact numbers carry a country code; and the only deduction remarks are A (lower deduction certificate under section 395(1)) and C (higher rate for want of PAN). The format update of July 2026, checked by FVU 1.2, added Interest Allocation and Others Allocation to every challan record and requires each date of payment to fall within the quarter.
Rules we check
An ERROR means the file breaks a rule in the Income Tax Department’s published format. A WARNING means something is unusual, or a rule that is not stated in the published format (marked “not confirmed by the published format” in the results).
| Check | Type | Source |
|---|---|---|
| File not empty; ASCII only (no byte-order mark, accented letters, curly quotes or tabs) | Error | Form 138 (24Q) Q1 to Q3 file format, general note 1 |
| Records end with CR LF (0D 0A), including the last one | Warning | File format, general note 2. Flagged as a warning because many tools read LF too; fix it anyway |
| Line 1 is the FH record; one FH; FH, then BH, then each CD followed by its DD records; no blank lines; record types FH, BH, CD, DD in capitals | Error | File format: one file header per file, CD field 21 totals its “underlying” deductee records, DD field 5 points to its challan, general note 3 (block letters); record order as in Protean’s earlier 24Q format |
| More than one batch header | Warning | The 24Q format required exactly one batch; the 138 format only says FH field 9 counts the batches |
| Line numbers run 1, 2, 3 with no gaps | Error | File format, field 1 of every record (“running sequence number for each line”) |
| Carets per record = fields − 1 (FH 17, BH 71, CD 29, DD 44) | Error | File format, general note 9 and the record tables |
| Mandatory fields filled; “not applicable” fields and fillers empty; data type and size (integer, character, ddmmyyyy date that is real and not in the future) | Error | File format, record tables and general note 7 |
| Amounts with exactly two decimals; challan amounts and the batch total in whole rupees written with .00 | Error | File format, general note 4 and BH field 47, CD fields 8 to 12, 24, 25 |
| Constants: file type SL1, upload type R, uploader type D, form 138, period Q1 to Q4, NIL indicator N/Y, mode of payment C/B, mode O, deposited Y/N | Error | File format, FH, BH, CD and DD remarks |
| TAN AAAA99999A and PAN AAAAA9999A in capitals; deductor PAN or PANNOTREQD; employee PAN or PANAPPLIED, PANINVALID, PANNOTAVBL | Error | File format, FH 8, BH 13, 15, 59 and DD 8 |
| PAN whose 4th letter is not a holder type (P, C, H, F and so on) | Warning | Not in the format; the official FVU 1.1 rejected such PANs in HivePayroll’s own runs |
| Tax year 202627 or later; assessment year one year later and at least 202728 | Error | File format, BH fields 16 and 17 |
| State codes (Annexure 1 and 5), deductor category (Annexure 4), ministry code (Annexure 3) and when each is required or must be empty; PIN 6 digits; email format; at least one email; GSTIN format; AIN for government book entry | Error | File format, BH fields 26 to 28, 32, 40 to 42, 54, 57, 58, 68, 69 and Annexures 1, 3, 4, 5 |
| Token number of the previous statement: 15 digits when field 52 is Y, empty when N | Error | File format, BH fields 9 and 52 |
| Salary detail count (BH 49) empty | Warning | The format says no value, but the official FVU 1.1 rejected an empty count with T-FV-2127 in HivePayroll’s runs; 0 is accepted |
| Salary detail gross total income (BH 50) not empty, even 0.00 | Error | File format (“no value”); the FVU reports T-FV-2090 |
| FH number of batches = BH records; BH challan count = CD records; BH batch total = sum of CD field 12 | Error | File format, FH 9, BH 4 and 47 |
| Challan record numbers 1, 2, 3; batch numbers match the BH; each DD’s challan reference = its CD’s record number | Error | File format, CD 3, 4 and DD 3, 5 |
| CD deductee count = DD lines under that challan | Error | File format, CD field 5; the per-challan reading was accepted by the official FVU 1.1 in HivePayroll’s runs (a count equal to the whole file’s DD lines is a warning, as the wording is ambiguous) |
| CD 12 = tax + interest + fee + penalty; CD 12 at least the deductees’ tax deposited + interest and others allocation (+ fee for a bank challan); CD 21 and 22 = sums of DD 25 and 24; interest allocation = CD 9, others allocation = CD 11 | Error | File format, CD fields 12, 21, 22, 24, 25; Key features of RPU and FVU 1.2 |
| NIL challan: no mode, no BSR code, dated the last day of the quarter; bank challan: mode, 7-digit BSR code, date on or after 1 April of the previous year; minor head 200, 400 or 100 | Error | File format, CD fields 13, 15, 19, 23 and Annexure 7 |
| Section code 1001, 1002, 1003 or 1032 | Error | File format, Annexure 2 |
| Date of payment within the quarter and tax year; date of deduction not before the quarter; amount paid more than 0.00; tax deducted = tax deposited | Error | File format, DD fields 19, 20, 24, 25, 27; Key features of FVU 1.2 |
| Dates of deduction and deposit present when tax is more than 0.00 | Error | File format, DD fields 27 and 29 |
| Remark A or C only; C only with PANAPPLIED, PANINVALID or PANNOTAVBL and at least 20% deducted; A with a PAN and a 10 or 15 character certificate number | Error | File format, DD fields 32, 33 and Annexure 6 |
| Same PAN twice under one challan; deductee record numbers not 1, 2, 3 under each challan; deposit before deduction or on a date other than the challan’s; deduction after the quarter; challan tax not fully claimed; deposited flag that disagrees with the amount; FH and BH TAN differ; spaces around values; no remark C for a missing PAN | Warning | Not confirmed by the published format; flagged because they usually mean a mistake |
The Form 138 Q1 to Q3 workbook Protean publishes as version 1.2 (file dated 22 July 2026; its title row reads Version 1.1) is the basis for every error above. Where HivePayroll’s own runs of the official FVU differed from the workbook, we say so in the table. A few points in the workbook are unclear and are treated as warnings: its example of 16 fields in the file header (the table lists 18), “DECIMAL 7” as the type of the date of deposit (treated as a ddmmyyyy date), and “fees allocation” next to “value as provided in field no. 11” for Others Allocation.
Common FVU errors in Form 138 files, and the fixes
Codes and meanings are as reported by the official FVU in HivePayroll’s own test runs and in published FVU error lists. The FVU’s wording can change between versions.
Frequently asked questions
Is my Form 138 file uploaded or stored anywhere?
No. The validator reads the file inside your browser and checks it there. It is not uploaded to HivePayroll or anyone else, and it is not saved in your browser. The CSV report and the sample file are also created on your computer. When you close the tab or press Clear, the data is gone.
Does this replace the official FVU?
No. It checks the file before you run the File Validation Utility, so you can fix every format problem in one pass. The official FVU from Protean, run with the CSI file for your TAN, is still required to produce the .fvu file you upload, and it has the final word. A file with no errors here can still fail the FVU, for example if a challan is not in the CSI file or the TAN name does not match.
What is the difference between Form 24Q and Form 138?
Form 138 replaced Form 24Q for salary paid from 1 April 2026 (tax year 2026-27) under the Income-tax Act, 2025. The file keeps the FH, BH, CD and DD records and the caret format, but the record layouts changed: form number 138, tax year in place of financial year, 4-digit section codes such as 1002 in place of 92B, four challan buckets (tax, interest, fee, penalty), country codes for contact numbers, and remarks A and C only. Salary paid up to 31 March 2026 is still reported in Form 24Q.
What are the due dates for Form 138?
31 July for Q1 (April to June), 31 October for Q2 (July to September), 31 January for Q3 (October to December) and 31 May after the end of the tax year for Q4 (January to March). For tax year 2026-27 the Q2 statement is due on 31 October 2026.
Can I check a Q4 Form 138 file?
Only partly. Q4 adds the salary details of Annexure II in a separate file format, which Protean had not published as of October 2026. The validator applies the Q1 to Q3 rules to the FH, BH, CD and DD records of a Q4 file and tells you that the salary detail records are not checked.
If the validator finds no errors, will my statement be accepted?
Not necessarily. It checks the file against the published format and common FVU rejections, but it cannot see bank challan records, the CSI file, TRACES or the PAN database. Run the official FVU with the CSI file; after you upload, TRACES processes the statement and may still raise defaults, such as a PAN that does not belong to the employee or a short payment.
HivePayroll builds the Form 138 file from your payroll and runs the official FVU for you: free up to 10 employeesTDS worked out in every payroll run, challans mapped to employees, and the quarterly statement generated and validated from the same data. Questions? Email support@hivepayroll.co.in.
Based on the Income Tax Department’s file format for Form 138 (24Q) Q1 to Q3 and Protean’s key features of RPU and FVU version 1.2, both as published in July 2026, the Department’s Form 138 FAQs, and HivePayroll’s own runs of the official FVU, as of 3 October 2026. A checking aid, not legal advice.