Update
Update
Use this endpoint to update the information on existing 1605/1606 forms that are already created for the business.
Note:
You cannot update a return once it has been transmitted.
PUTStateFilings/VA5QWH/UpdateRequest Body
| Field | Type | Description |
|---|---|---|
| StateWHRecords | Object [] | Object to create VA-5Qs |
| SequenceId | String | A unique number given by an inbound application to identify failed records. Size Range: ..10 |
| ReturnHeader | Object | Identifies the supporting details of Form VA-5Q. |
| Qtr | String | The Quarter for which Form VA-5Q needs to be filed.Allowed values"Q1", "Q2", "Q3", "Q4" |
| TaxYr | String | The tax year for which Form VA-5Q needs to be filed.Allowed values2025 |
| BusinessId | String | Optional Use the unique BusinessId (Generated by TaxBandits) you received in the response of the Business CREATE Endpoint. If you do not have a BusinesId, ignore the field. By giving the BusinessId, you do not have to provide all the business information again. |
| Business | Object | The details of the business you’re filing for. |
| BusinessNm | String | Name of the business. Size Range: ..75 |
| PayerRef | string | Optional An unique identifier for each payer completing their information. This identifier can be used in future references of the payer in the API. Size Range: ..50 |
| TradeNm | String | Optional Name under which the business operates. Size Range: ..75 |
| IsEIN | Boolean | When true, identifies the business with an EIN. |
| EINorSSN | String | When IsEIN is true, use Employer Identification Number (EIN). When IsEIN is false, use Social Security Number (SSN). Size Range: 9-11 |
| String | Email address of the business. Size Range: ..100 | |
| IsForeign | Boolean | When true, identifies the business as having a foreign address. |
| USAddress | Object | If IsForeign is false, pass the US address of the business. |
| Address1 | String | Employer/Payer’s US address (street address or post office box). Size Range: ..46 |
| Address2 | String | Optional Employer/Payer’s suite or apartment. Size Range: ..46 |
| City | String | Employer/Payer’s city. Size Range: ..50 |
| State | String | Employer/Payer’s state. Size Range: 2 Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", etc. |
| ZipCd | String | Employer/Payer’s zip code. Size Range: 5..10 |
| ForeignAddress | Object | If IsForeign is true, pass the foreign address of the business. |
| Address1 | String | Employer/Payer’s foreign address (street address or post office box). Size Range: ..50 |
| Address2 | String | Optional Employer/Payer’s suite or apartment. Size Range: ..50 |
| City | String | Employer/Payer’s city. Size Range: ..50 |
| ProvinceOrStateNm | String | Employer/Payer’s province or state name. Size Range: ..50 |
| Country | String | Employer/Payer’s country. *Size Range: 2 Allowed values"AF", "AX", "AL", "AG", "AQ", "AN", "AO", "AV", "AY", "AC", "AR", "AM", "AA", "AT", "AS", etc. |
| PostalCd | String | Employer/Payer’s postal code. Size Range: ..16 |
| ReturnData | Object[] | Identifies the Form VA-5Q data. |
| FormVA5Q | Object | Virginia withholding quarterly tax return. |
| WHIdNum | String | Virginia withholding account number. Allowed Format: "30-999999999F-001" or "30999999999F001" |
| L1VAWHAmt | Number | Total Virginia income tax withheld for the quarter Size Range: 0-99999999.99 |
| IsL1OverPayment | Boolean | If True identifies that Adjustment is made for the over payment reporting |
| IsL2UnderPayment | Boolean | If True identifies that Adjustment is made for the under payment reporting |
| L2AdjAmt | Number | Previous period(s) adjustments Size Range: 0-99999999.99 |
| L3TotAdjAmt | Number | Total adjustment totals of the quarter Size Range: 0-99999999.99 |
| L4PenaltyAmt | Number | Penalties for the quarter Size Range: 0-99999999.99 |
| L5InterestAmt | Number | Total interest amount for the quarter Size Range: 0-99999999.99 |
| L6TotAmtDue | Number | Total amount due for the quarter Size Range: 0-99999999.99 |
| StatePayment | Object | Object to identify the state payment details |
| RoutingTransitNumber | String | Bank routing number for state payment Size Range: 9 |
| BankAccountNumber | String | Bank account number for state payment Size Range: ..17 |
| PaymentAmt | Number | Payment amount for state payment Size Range: 0-99999999.99 |
Response Body
| Field | Type | Description |
|---|---|---|
| SubmissionId | Guid | Unique identifier of a submission |
| SuccessRecords | object[] | It will show the detailed information about the success status of Form VA-5Q Records |
| SequenceId | string | A unique number given by an inbound application to identify particular records. |
| BusinessId | Guid | Unique identifier of a Business |
| PayerRef | string | Unique identifier of the payer |
| RecordId | Guid | An unique identifier generated by TaxBandits when a VA-5Q return is created |
| FormType | string | Denotes the type of withholding form (Form VA-5Q). |
| Status | string | Returns the record status of return. |
| StatusTs | string | Date and time of the return created. |
| Info | string | Returns the information about the return |
| Errors | object[] | Shows error information of state returns of Form VA-5Q |
| Id | string | Returns the validation error Id. |
| Name | string | Name of the validation error. |
| Message | string | Description of the validation error. |
| ErrorRecords | object[] | It will show the detailed information about the error status of Form VA-5Q Records. |
| SequenceId | string | A unique number given by an inbound application to identify particular records. The Sequence ID will be returned in the Response for your reference. |
| RecordId | Guid | Unique identifier of a record |
| Errors | object[] | Shows detailed error information |
| Id | string | Returns the validation error Id |
| Name | string | Name of the validation error |
| Message | string | Description of the validation error |
| Errors | object[] | Shows detailed error information. |
| Id | string | Returns the validation error Id. |
| Name | string | Name of the validation error. |
| Message | string | Description of the validation error. |
Request JSON
- Sample 1
Update return for the first three quarters of the tax year
{
"SubmissionId": "0199e75c-0735-77da-a40d-90459b8b9495",
"StateWHRecords": [
{
"Sequence": "001",
"RecordId": "0199e75c-084f-730c-9db2-238dbdc5e014",
"ReturnHeader": {
"Qtr": "Q4",
"TaxYr": "2025",
"Business": {
"BusinessId": "351fc0b4-2568-40af-a403-4c08468cdd95",
"BusinessNm": "SnowDaze LLC",
"PayerRef": null,
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"TradeNm": "",
"IsEIN": true,
"EINorSSN": "34-2093733",
"Email": "john@sample.com",
"ContactNm": null,
"Phone": null,
"PhoneExtn": null,
"Fax": null,
"BusinessType": null,
"SigningAuthority": null,
"KindOfEmployer": null,
"KindOfPayer": null,
"IsBusinessTerminated": false,
"IsForeign": false,
"USAddress": {
"Address1": "12 main st",
"Address2": null,
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
},
"ForeignAddress": null,
"ACADetails": null
}
},
"ReturnData": {
"FormVA5Q": {
"WHIdNum": "30-999999999F-001",
"L1VAWHAmt": 300,
"L2AdjAmt": 200,
"IsL2OverPayment": true,
"IsL2UnderPayment": false,
"L3TotAdjAmt": 200,
"L4PenaltyAmt": 100,
"L5InterestAmt": 100,
"L6TotAmtDue": 400
},
"StatePayment": {
"BankRoutingNum": "217555555",
"BankAccountNum": "0000000001",
"PaymentAmt": 100
}
}
}
]
}
Response JSON
- 200
Success Response - This is a sample response for successful API requests.
{
"StatusCode": "200",
"StatusName": "Ok",
"StatusMessage": "Successful API call",
"SubmissionId": "0199e75c-0735-77da-a40d-90459b8b9495",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "351fc0b4-2568-40af-a403-4c08468cdd95",
"PayerRef": null,
"RecordId": "0199e75c-084f-730c-9db2-238dbdc5e014",
"FormType": "VA5Q",
"Status": "CREATED",
"StatusTs": "2025-10-15 06:14:37 -04:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": null,
"Errors": null
}