One quarterly withholding statement for one company: Form 140 (resident non-salary TDS), Form 143 (TCS) or Form 138 (salary TDS) for a financial-year quarter; Form 144 can be stored but not computed. Draft returns for Forms 140, 143 and 138 are created by the Provision TDS/TCS compliance job for every company with a TAN, or by hand. Compute Return rebuilds the challan and deductee rows from the withholding register (salary returns from posted payroll) and never recalculates tax; only Deposited or Verified challans become challan rows. Validate Return runs the pre-file checklist, Export e-Return File renders the statement text for the government utilities, Mark Filed records the acknowledgment and any late fee, and Generate Certificates builds the certificate register from a Filed return. Status runs Draft, Computed, Validated, Filed; a Filed return cannot be recomputed and is corrected through Create Correction, which drafts a separate Correction return. See the TDS returns guide in the Tax Center documentation.
Fields
| Field | Label | Type | Required | What it does |
|---|---|---|---|---|
AckNumber | Ack Number | Text | The portal acknowledgment for the filing. Required by Mark Filed. | |
ChallanCount | Challan Count | Number | Number of challan rows built by the last Compute Return; only Deposited or Verified challans count. | |
ComputedOn | Computed On | Date | When Compute Return last rebuilt the return. | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created On | DateAndTime | Yes | |
DeducteeCount | Deductee Count | Number | Number of deductee rows built by the last Compute Return. | |
DueDate | Due Date | Date | Statutory filing due date: 31 July for Q1, 31 October for Q2, 31 January for Q3 and 31 May for Q4 (the following calendar year for Q3 and Q4). A date entered by hand on or after the end of the quarter is kept, so an official extension survives recomputing. Used for the late fee. | |
FiledOn | Filed On | Date | Date the return was filed on the portal, entered in Mark Filed; today when left empty. | |
FormCode | Form Code | PickList | Which quarterly statement this is: 140 resident non-salary TDS, 143 TCS, 138 salary TDS, 144 non-resident. Decides the source data and the certificate kind (Form 131, Form 27D or Form 16). Form 144 can be saved but Compute Return refuses it; any other value is refused on save. Values: 138, 140, 143, 144. | |
FyStartYear | Fy Start Year | Number | Calendar year in which the financial year starts: 2026 means FY 2026-27. Required by Compute Return. | |
Id | Id | Guid | Yes | |
Label | Label | Text | Display name. The compliance job sets it as Form, financial year and quarter, for example Form 140 · FY 2026-27 Q2; it defaults to Name when left empty. | |
LateFee | Late Fee | Currency | Late-filing fee set by Mark Filed: 200 rupees for each day after the due date up to and including the filing date, capped at Total Tax Deducted. Zero when filed on or before the due date. | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | Identifier of the return. Required. The compliance job names it by form, financial year, quarter and company. |
OriginalReturnId | Original Return Id | Lookup → TdsReturn | The Filed return that this Correction statement amends. Set by Create Correction; required when Return Type is Correction. | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account Id | Lookup → Account | The deducting company. Required by Compute Return; the compliance job sets it, and on a hand-made return it is checked on the Filing & Validation tab. | |
Quarter | Quarter | Number | Quarter of the financial year: 1 April-June, 2 July-September, 3 October-December, 4 January-March. Values outside 1-4 are refused on save. Required by Compute Return. | |
RecordTypeId | Record Type | Guid, hidden | ||
ReturnType | Return Type | PickList | Regular (default) or Correction. A Correction is created by Create Correction against a Filed return and must reference it through Original Return. Values: Regular, Correction. | |
Status | Status | PickList | Draft on creation, Computed after Compute Return, Validated when Validate Return finds no error, Filed after Mark Filed. A Filed return cannot be recomputed and is the only kind certificate generation and the year-end books reconciliation read. Set by the actions, not by hand. Values: Draft, Computed, Validated, Filed. | |
SubscriptionKey | Subscription Key | Guid, hidden | Yes | |
Tan | Tan | Text | The deducting company's TAN, copied from the company account by the compliance job or by Compute Return when empty. When filled it must be four letters, five digits and a letter; a missing or malformed TAN fails validation. | |
TotalTaxDeducted | Total Tax Deducted | Currency | Tax on all deductee rows of the last compute. Also the cap for the late fee. | |
TotalTaxDeposited | Total Tax Deposited | Currency | Part of the tax covered by paid challans. Lower than Total Tax Deducted means some deductions are not deposited, which validation reports as an error. | |
UpdatedDateTime | Updated On | DateAndTime | Yes | |
ValidationResults | Validation Results | LongMultiLineText | The individual findings of the last Validate Return, each with a code, severity, message and row count: TAN, PAN structure, PAN verification, PAN coverage below 85 percent, undeposited deductions, challan over-use, incomplete CIN, short deposit, negative amounts, missing lower-deduction certificate numbers and, on the Q4 salary return, the annual salary detail checks. | |
ValidationStatus | Validation Status | PickList | Outcome of the last Validate Return: Pass (no findings), Warnings (warnings only) or Fail (at least one error). Cleared by Compute Return. Values: Pass, Warnings, Fail. |
Actions
| Action | Label | Type | What it does |
|---|---|---|---|
AddToReturn | Add to Return | ServerAction, hidden | Reconciliation remedy: ensure the quarter's return exists and recompute it from the ledger. |
AllocateToNextChallan | Allocate to Next Challan | ServerAction, hidden | Reconciliation remedy: attach an unallocated deduction to its month's Draft challan. |
CarryForwardChallanBalance | Carry Forward Balance | ServerAction, hidden | Reconciliation remedy: earmark a challan's unconsumed deposit for a later period. |
ComputeTdsReturn | Compute Return | ServerAction (ComputeTdsReturn) | Idempotent wipe-and-rebuild of the return's challan (CD) and deductee (DD) child rows from the TdsTransaction ledger for the header's financial-year quarter (salary returns source from posted payroll). Never recomputes tax - the ledger already carries the assessed amounts. Deposits are mapped through the challan allocations; deductions with no allocation become unmapped rows the validation flags. Refused on a Filed return. Returns row counts, deducted/deposited totals and the unmapped count. |
CreateTdsCorrectionReturn | Create Correction | ServerAction (CreateTdsCorrectionReturn) | Drafts a Correction statement against this Filed return: a new TdsReturn header with ReturnType Correction and OriginalReturnId pointing back, ready to be computed and filed independently. The filed original stays frozen. |
DeleteListRow | Delete | Delete | Delete |
EditHeader | Edit | EditInline | Edit |
EditListRow | Edit | Edit | Edit |
ExportTdsFvuText | Export e-Return File | ServerAction (ExportTdsFvuText) | Renders the computed return as the caret-delimited e-TDS/TCS statement text - one file-header line, one batch-header line, then the challan and deductee record lines in sequence - the structural skeleton the Protean RPU imports and the FVU validates. Returns the file name, format version, line count and content; amounts are plain decimals, dates ddMMyyyy. |
GenerateSourceDocument | Generate Source Document | ServerAction, hidden | Reconciliation remedy: raise the missing Bill/Invoice as a Draft from a filed deductee line. |
GenerateTdsCertificates | Generate Certificates | ServerAction (GenerateTdsCertificates) | Generates the withholding-certificate register from this FILED return: one TdsCertificate per deductee (Form 131 for Form-140 returns, Form 27D for Form-143, Form 16 register rows for Form-138), numbered TAN/kind/FY/quarter/sequence, stamping the certificate number back onto the underlying TdsTransaction rows so the ledger and register cite the same reference. Regeneration wipes Draft certificates and rebuilds; a return with Issued certificates is locked. |
ImportPanVerificationResults | Import PAN Verification | ServerAction (ImportPanVerificationResults) | Imports the TRACES bulk PAN verification result file: each row's verdict (Verified, Invalid, Name Mismatch) is applied so PAN problems surface before filing rather than as portal rejections afterwards. |
MarkTdsReturnFiled | Mark Filed | ServerAction (MarkTdsReturnFiled) | Records the portal filing: stamps the acknowledgment number and filed date, computes the late-filing fee when overdue (200 rupees per day capped at the tax amount), and advances Status to Filed - after which recompute is refused. Filing itself happens on the government portal; this records the outcome. |
New | New | New | New |
OpenTdsReconciliationConsole | Reconciliation Console | UIAction | Open the books-vs-returns-vs-challans console: drill into a period and resolve each case. |
RebuildStrictLine | Rebuild Line (Strict) | ServerAction, hidden | Reconciliation remedy: align a non-filed return line's rate and tax to its ledger row. |
ReconcileBooks | Verify Books vs Returns | UIAction | Pick company, financial year and nature, then reconcile the withholding ledger against the filed returns and their challan deposits. |
ReconcileTdsBooks | Reconcile Books vs Returns | ServerAction (ReconcileTdsBooks), hidden | Year-end deductor-side reconciliation for one company, financial year and nature: ties the TdsTransaction ledger quarter by quarter to what the FILED returns reported and what their challans deposited, surfacing unreturned ledger rows, orphan return lines with no live ledger row behind them, and challans whose deposits are under- or over-consumed by filed returns. |
ValidateTdsReturn | Validate Return | ServerAction (ValidateTdsReturn) | Runs the pre-file checklist over the computed rows - PAN structure and coverage, deduction-to-challan mapping, challan utilization tie-out, CIN completeness - and stores the findings on the header (ValidationStatus plus the itemized ValidationResults JSON). |
Related entities
- TdsReturn — looks up via
OriginalReturnId - UserAccount — looks up via
ModifiedById - UserAccount — looks up via
OwnerId - Account — looks up via
PartnerAccountId - UserAccount — looks up via
CreatedById - TdsCertificate — referenced by via
TdsReturnId - TdsReturnChallan — referenced by via
TdsReturnId - TdsReturn — referenced by via
OriginalReturnId - TdsReturnDeducteeLine — referenced by via
TdsReturnId
