Create
Create
Use this endpoint to create Alabama Form A-1 (Employer's Quarterly Return of Income Tax Withheld) for an employer (payer) to report the total Alabama income tax withheld from employee wages for a specified calendar quarter and remit the corresponding withholding tax due to the Alabama Department of Revenue.
Form A-1 must be filed every quarter, even if no tax is withheld or no wages were paid.
POST StateFilings/ALA1WH/Create Request Body
| Field | Type | Description |
|---|---|---|
| StateWHRecords | Object[] | Object to identify the records. |
| SequenceId | String | A unique identifier for this record. Size Range: ..50 |
| ReturnHeader | Object | Contains business information. |
| TaxYear | String | The tax year for which the Form A-1 is to be filed. Allowed values2025, 2026 |
| Qtr | String | The quarter for which the Form A-1 is to be filed. Allowed values"Q1", "Q2", "Q3", "Q4" |
| Business | object | Object to identify the Business Details. |
| BusinessId | Guid | Optional Use the unique Business ID (Generated by TaxBandits) that you received in the response of the Business CREATE Endpoint. If you do not have a Business ID, ignore the field. By giving the Business ID, you do not have to provide all the business information again. |
| PayerRef | string | Optional Your unique identifier for the payer. Can replace BusinessId in future requests. Size Range: 50 |
| IsDefaultBusiness | Boolean | When set to TRUE, this business will be set as the default across requests that do not specify a business. |
| TINDetails | object | TIN information for the business. |
| Format | string | Specifies how the TIN is passed.Allowed values"PLAIN_TIN" — Pass TIN directly, "TOKENIZED_TIN" — Pass tokenized TIN |
| TINType | string | Specify the TIN type of the business.Allowed values"EIN", "SSN", "QI-EIN", "ITIN", "WP-EIN", "WT-EIN", "NQI-EIN", "IRSN" |
| TIN | string | The TIN value according to the Format selected. |
| IndividualNm | object | Optional Required when TINType is SSN. Provide individual name fields instead of BusinessNm. |
| FirstNm | string | The first name of the individual. Size Range: 20 |
| MiddleNm | string | Optional Middle name of the individual. Size Range: 20 |
| LastNm | string | The last name of the individual. Size Range: 20 |
| Suffix | string | Optional Suffix of the individual's name.Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| BusinessNm | string | Legal name of the business. Required when TINType is EIN. Size Range: 75 |
| NameCtrl | string | Name control of the business as registered with the IRS. Size Range: 3..4 |
| DBADetails | object[] | Optional DBA (Doing Business As) information. |
| DBANm | string | Name of the DBA. Size Range: 75 |
| DBARef | string | Unique identifier for the DBA. Size Range: 1-50 |
| DBAId | Guid | TaxBandits-generated DBA identifier. |
| Address | object[] | Address information of the DBA. |
| Address1 | string | Street address or PO Box. Size Range: 46 |
| Address2 | string | Optional Suite or apartment number. Size Range: 46 |
| City | string | DBA's city. Size Range: 50 |
| ProvinceOrState | string | DBA's province or state name. When the country code is US: Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "AS", "FM", "GU", "MH", "MP", "PW", "PR", "VI", "AA", "AE", "AP" Allowed values"AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT" |
| Zipcd | string | DBA's ZIP code. Size Range: 5-16 |
| Country | string | DBA's 2-character country code.Allowed values"US","AF", "AX", "AL", "AG", "AQ", "AN", "AO", "AV", "AY", "AC", "AR", "AM", "AA", "AT", "AS", "AU", "AJ", "BF", "BA", "FQ", "BG", "BB", "BO", "BE", "BH", "BN", "BD", "BT", "BL", "BK", "BC", "BV", "BR", "IO", "VI", "BX", "BU", "UV", "BM", "BY", "CB", "CM", "CA", "CV", "CJ", "CT", "CD", "CI", "CH", "KT", "IP", "CK", "CO", "CN", "CF", "CG", "CW", "CR", "CS", "IV", "HR", "CU", "UC", "CY", "EZ", "DA", "DX", "DJ", "DO", "DR", "TT", "EC", "EG", "ES", "EK", "ER", "EN", "ET", "FK", "FO", "FM", "FJ", "FI", "FR", "FP", "FS", "GB", "GA", "GG", "GM", "GH", "GI", "GR", "GL", "GJ", "GQ", "GT", "GK", "GV", "PU", "GY", "HA", "HM", "VT", "HO", "HK", "HQ", "HU", "IC", "IN", "ID", "IR", "IZ", "EI", "IS", "IT", "JM", "JN", "JA", "DQ", "JE", "JQ", "JO", "KZ", "KE", "KQ", "KR", "KN", "KS", "KV", "KU", "KG", "LA", "LG", "LE", "LT", "LI", "LY", "LS", "LH", "LU", "MC", "MK", "MA", "MI", "MY", "MV", "ML", "MT", "IM", "RM", "MR", "MP", "MX", "MQ", "MD", "MN", "MG", "MJ", "MH", "MO", "MZ", "WA", "NR", "BQ", "NP", "NL", "NC", "NZ", "NU", "NG", "NI", "NE", "NF", "CQ", "NO", "MU", "OC", "PK", "PS", "LQ", "PM", "PP", "PF", "PA", "PE", "RP", "PC", "PL", "PO", "RQ", "QA", "RO", "RS", "RW", "TB", "RN", "WS", "SM", "TP", "SA", "SG", "RI", "SE", "SL", "SN", "NN", "LO", "SI", "BP", "SO", "SF", "SX", "OD", "SP", "PG", "CE", "SH", "SC", "ST", "SB", "VC", "SU", "NS", "SV", "WZ", "SW", "SZ", "SY", "TW", "TI", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TX", "TK", "TV", "UG", "UP", "AE", "UK", "UY", "UZ", "NH", "VE", "VM", "VQ", "WQ", "WF", "WI", "YM", "ZA", "ZI" |
| string | Optional Email address of the Business. Size Range: ..100 | |
| Address | object | Primary address of the business. |
| Address1 | string | Street address or PO Box of the business. Size Range: 46 |
| Address2 | string | Optional Suite or apartment number of the business. Size Range: 46 |
| City | string | City of the business. Size Range: 50 |
| ProvinceOrState | string | Province or state name of the business. When the country code is US: Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "AS", "FM", "GU", "MH", "MP", "PW", "PR", "VI", "AA", "AE", "AP" Allowed values"AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT" |
| ZipCd | string | ZIP code of the business. Size Range: 5-16 |
| Country | string | 2-character country code of the business. Allowed values"US","AF", "AX", "AL", "AG", "AQ", "AN", "AO", "AV", "AY", "AC", "AR", "AM", "AA", "AT", "AS", "AU", "AJ", "BF", "BA", "FQ", "BG", "BB", "BO", "BE", "BH", "BN", "BD", "BT", "BL", "BK", "BC", "BV", "BR", "IO", "VI", "BX", "BU", "UV", "BM", "BY", "CB", "CM", "CA", "CV", "CJ", "CT", "CD", "CI", "CH", "KT", "IP", "CK", "CO", "CN", "CF", "CG", "CW", "CR", "CS", "IV", "HR", "CU", "UC", "CY", "EZ", "DA", "DX", "DJ", "DO", "DR", "TT", "EC", "EG", "ES", "EK", "ER", "EN", "ET", "FK", "FO", "FM", "FJ", "FI", "FR", "FP", "FS", "GB", "GA", "GG", "GM", "GH", "GI", "GR", "GL", "GJ", "GQ", "GT", "GK", "GV", "PU", "GY", "HA", "HM", "VT", "HO", "HK", "HQ", "HU", "IC", "IN", "ID", "IR", "IZ", "EI", "IS", "IT", "JM", "JN", "JA", "DQ", "JE", "JQ", "JO", "KZ", "KE", "KQ", "KR", "KN", "KS", "KV", "KU", "KG", "LA", "LG", "LE", "LT", "LI", "LY", "LS", "LH", "LU", "MC", "MK", "MA", "MI", "MY", "MV", "ML", "MT", "IM", "RM", "MR", "MP", "MX", "MQ", "MD", "MN", "MG", "MJ", "MH", "MO", "MZ", "WA", "NR", "BQ", "NP", "NL", "NC", "NZ", "NU", "NG", "NI", "NE", "NF", "CQ", "NO", "MU", "OC", "PK", "PS", "LQ", "PM", "PP", "PF", "PA", "PE", "RP", "PC", "PL", "PO", "RQ", "QA", "RO", "RS", "RW", "TB", "RN", "WS", "SM", "TP", "SA", "SG", "RI", "SE", "SL", "SN", "NN", "LO", "SI", "BP", "SO", "SF", "SX", "OD", "SP", "PG", "CE", "SH", "SC", "ST", "SB", "VC", "SU", "NS", "SV", "WZ", "SW", "SZ", "SY", "TW", "TI", "TZ", "TH", "TO", "TL", "TN", "TD", "TS", "TU", "TX", "TK", "TV", "UG", "UP", "AE", "UK", "UY", "UZ", "NH", "VE", "VM", "VQ", "WQ", "WF", "WI", "YM", "ZA", "ZI" |
| ContactDetails | object[] | Details of the person the IRS can contact regarding the given business. |
| FirstNm | string | First name of the contact person. Size Range: 20 |
| MiddleNm | string | Optional Middle name of the contact person. Size Range: 20 |
| LastNm | string | Last name of the contact person. Size Range: 20 |
| Suffix | string | Optional The suffix of the contact person.Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| Phone | string | Optional Phone number of the contact person. Size Range: 10 digits |
| PhoneExtn | string | Optional Phone extension number. Size Range: 5 |
| string | Optional Email address of the contact person. Size Range: ..100 | |
| Fax | string | Optional Fax number of the contact person. Size Range: 10 digits |
| SigningAuthority | Object | Details of the person authorized to sign the return. |
| FirstNm | String | First name of the signatory. Size Range: 20 |
| MiddleNm | String | Optional Middle name of the signatory. Size Range: 20 |
| LastNm | String | Last name of the signatory. Size Range: 20 |
| Suffix | String | Optional The suffix of the signatory. Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| Phone | String | Optional Phone number of the signatory. Size Range: 10 digits |
| PhoneExtn | String | Optional Phone extension number of the signatory. Size Range: 5 |
| BusinessMemberType | String | Optional Title or role of the signatory. Allowed values"CORPORATESECRETARY", "SECRETARYTREASURER", "PARTNER", "GENERALPARTNER", "LIMITEDPARTNER", "LLCMEMBER", "MANAGINGMEMBER", "MANAGER", "TAXMATTERPARTNER", "PRESIDENT", "VICEPRESIDENT", "CORPORATETREASURER", "TREASURER", "ASSISTANTTREASURER", "CHIEFACCOUNTINGOFFICER", "CHIEFEXECUTIVEOFFICER", "CHIEFFINANCIALOFFICER", "TAXOFFICER", "CHIEFOPERATINGOFFICER", "CORPORATEOFFICER", "EXECUTIVEDIRECTOR", "DIRECTOR", "CHAIRMAN", "EXECUTIVEADMINISTRATOR", "RECEIVER", "PASTOR", "ASSISTANTTORELIGIOUSLEADER", "REVEREND", "PRIEST", "MINISTER", "RABBI", "LEADEROFRELIGIOUSORGANIZATION", "SECRETARY", "DIRECTOROFTAXATION", "DIRECTOROFPERSONNEL", "ADMINISTRATOR", "EXECUTOR", "TRUSTEE", "FIDUCIARY", "OWNER", "SOLEPROPRIETOR", "MEMBER", "SOLEMEMBER", "REPORTINGAGENT" |
| ReturnData | Object[] | Identifies the Form A-1 data. |
| FormA1 | Object | Alabama withholding quarterly tax return. |
| WHIdNum | String | Alabama withholding account number. Allowed values"0000123456", "R007000000" |
| IsFinalReturn | Boolean | When true, specifies that the account is to be cancelled. |
| LastPaymentDt | String | Enter the last payment date. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY. |
| IsChangeOfAddr | Boolean | When true, specifies there is a change in address. |
| NumOfEmp | Number | The total number of employees for the quarter. Size Range: 0-99999 |
| TotTaxWH | Number | Total Alabama income tax withheld for the quarter. Size Range: 0-9999999999.99 |
| TotTaxPaid | Number | Tax remitted for first 2 months. Size Range: 0-9999999999.99 |
| IsOverpayment | Boolean | When true, indicates an overpayment credit from a prior period. |
| PYOverpaymentCrdt | Object | Identifies details of any overpayment from a previous tax year. |
| WHAmt | Number | Prior withheld amount. Size Range: 0-9999999999.99 |
| TaxPaid | Number | Prior tax paid. Size Range: 0-9999999999.99 |
| OverpaymentCrdt | Number | Prior overpayment credit amount. Size Range: 0-9999999999.99 |
| QtrOverpaymentCrdt | Object[] | Identifies details of any overpayment from an earlier quarter of the current tax year. |
| Qtr | String | Identifies the prior quarter of prior overpayment. Allowed values"Q1", "Q2", "Q3" |
| WHAmt | Number | Prior withheld amount. Size Range: 0-9999999999.99 |
| TaxPaid | Number | Prior tax paid. Size Range: 0-9999999999.99 |
| OverpaymentCrdt | Number | Prior overpayment credit amount. Size Range: 0-9999999999.99 |
| TotOverpaymentCrdt | Number | Total overpayment credit amount. Size Range: 0-9999999999.99 |
| Penalty | Number | Penalties for the quarter. Size Range: 0-99999999.99 |
| Interest | Number | Total interest amount for the quarter. Size Range: 0-99999999.99 |
| BalanceDue | Number | Total amount due for the quarter. Size Range: 0-99999999.99 |
| IsEmpOvertimeWagesExempt | Boolean | When true, identifies exempt overtime payment wages is reported. |
| EmpOvertimePaymentDetails | Object | Identifies exempt overtime payment details. |
| NumOfEmp | Number | Number of employees with exempt overtime wages. Size Range: 0-99999999 |
| TotOvertimeWagePaid | Object | Total amount of exempt overtime wages paid. Size Range: 0-9999999999.99 |
| PaymentType | String | Payment type for the remitted amount. Allowed values"EFT_Credit", "EFT_Debit" |
| 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 |
| AccountType | string | Type of the bank account. Allowed values"Checking", "Saving" |
| ReqPaymentDate | String | Date the payment is to be scheduled. Allowed valuesMM/DD/YYYY, MM-DD-YYYY |
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 A-1 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 A-1 return is created |
| FormType | string | Denotes the type of withholding form (Form A-1). |
| 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[] | Displays error information related to the state returns of Form A-1. |
| Id | string | Returns the validation error ID. |
| Name | string | Name of the validation error. |
| ErrorRecords | object[] | Provides detailed information about the error status of Form A-1 records. |
| SequenceId | string | A unique reference ID for the submission that can be used to identify a particular record. The Sequence ID will be returned in the response for your reference. |
| RecordId | Guid | Unique identifier for the record. |
| Errors | object[] | Displays 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
{
"StateWHRecords": [
{
"SequenceId": "01",
"ReturnHeader": {
"Qtr": "Q3",
"TaxYear": "2026",
"Business": {
"BusinessId": null,
"IsDefaultBusiness": true,
"TINDetails": {
"Format": "PLAIN_TIN",
"TINType": "EIN",
"TIN": "45-9800061"
},
"IndividualNm": {
"FirstNm": "James",
"MiddleNm": "A",
"LastNm": "Anderson",
"Suffix": "Jr"
},
"BusinessNm": "Snowdaze LLC",
"NameCtrl": "SNOW",
"DBADetails": {
"DBANm": "Iceberg Icecreams",
"DBARef": "DBA1001",
"DBAId": null,
"Address": {
"Address1": "123 Main St",
"Address2": "Suite 1001",
"City": "Rock Hill",
"ProvinceOrState": "SC",
"ZipCd": "29730",
"Country": "US"
}
},
"Address": {
"Address1": "123 Main St",
"Address2": "Suite 1001",
"City": "Rock Hill",
"ProvinceOrState": "SC",
"ZipCd": "29730",
"Country": "US"
},
"ContactDetails": {
"FirstNm": "James",
"MiddleNm": "A",
"LastNm": "Anderson",
"Suffix": "Jr",
"Phone": "8035551234",
"PhoneExtn": "101",
"Email": "contact@snowdaze.com",
"Fax": "8035555678"
},
"BusinessType": "ESTE",
"SigningAuthority": {
"FirstNm": "Ambrane",
"MiddleNm": "A",
"LastNm": "Cavil",
"Suffix": "Jr",
"Phone": "8035551000",
"PhoneExtn": "111",
"BusinessMemberType": "ADMINISTRATOR"
}
}
},
"ReturnData": {
"FormA1": {
"WHIdNum": "R007000000",
"IsFinalReturn": false,
"LastPaymentDt": "12/21/2025",
"IsChangeOfAddr": false,
"NumOfEmp": "2",
"TotTaxWH": "10000.00",
"TotTaxPaid": "0",
"TotOverpaymentCrdt": "3000",
"IsOverpayment": true,
"PYOverpaymentCrdt": {
"CrdtPeriod": "2024",
"WHAmt": 1000,
"TaxPaid": 2000,
"OverpaymentCrdt": 1000
},
"QtrOverpaymentCrdt": [
{
"Qtr": "Q1",
"CrdtPeriod": "05/2025",
"WHAmt": "1000.00",
"TaxPaid": "2000.00",
"OverpaymentCrdt": "1000.00"
},
{
"Qtr": "Q2",
"CrdtPeriod": "07/2025",
"WHAmt": "1000.00",
"TaxPaid": "2000.00",
"OverpaymentCrdt": "1000.00"
}
],
"Penalty": "1000.00",
"Interest": "0.00",
"BalanceDue": "8000.00",
"IsEmpOvertimeWagesExempt": true,
"EmpOvertimePaymentDetails": {
"NumOfEmp": 13,
"TotOvertimeWagePaid": "1000.00"
},
"PaymentType": "EFT_Debit"
},
"StatePayment": {
"PaymentAmt": "8000.00",
"RoutingTransitNumber": "127555555",
"BankAccountNumber": "0000000001",
"AccountType": "Checking",
"ReqPaymentDate": "12/31/2026"
}
}
}
]
}
Response JSON
- 200
Success Response - This is a sample response for successful API requests.
{
"SubmissionId": "01a0e6a3-4980-76e8-8c91-e0b7169928bb",
"SuccessRecords": [
{
"SequenceId": "01",
"BusinessId": "4e888b09-b0ce-4f96-b5f9-a818dcd2b623",
"PayerRef": null,
"RecordId": "01a0e6a3-4aed-7554-80e1-7251c09de9e2",
"FormType": "A1",
"Status": "CREATED",
"StatusTs": "2026-09-28 02:10:56 -04:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": null,
"Errors": null
}