Create
Create
Use this endpoint to create Form IL 3/40 (Illinois Quarterly Tax and Wage Report) for an employer (payer), reporting quarterly wages, taxable wages, and unemployment insurance (UI) contributions due, along with required employee wage details for the corresponding quarter.
Form IL 3/40 must be filed every quarter, even if no wages were paid.
Updated wage base limits for Illinois Form UI-3/40:
| Tax year | Wage Base Limit per employee |
|---|---|
| 2025 | $13,916 |
| 2026 | $14,250 |
POST StateFilings/ILUI/Create Request Body
| Field | Type | Description |
|---|---|---|
| StateUIRecords | Object[] | Object to identify the records. |
| SequenceId | String | A unique identifier for this record. Size Range: ..50 |
| ReturnHeader | Object | Contains information about the Business details. |
| TaxYr | string | The tax year for which the Form IL 3/40 is to be filed. Allowed values"2025","2026" |
| Qtr | string | The quarter for which the Form IL 3/40 is to be filed. Allowed values"Q1", "Q2", "Q3", "Q4" |
| Business | Object | Object to identify the business details. |
| BusinessId | Guid | Optional Use the unique identifier provided in the response from the Business CREATE endpoint. |
| BusinessNm | string | Name of the business. Size Range: ..75 |
| 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 the Employer Identification Number (EIN) Note: IsEIN should always be set to true, as EIN is the only allowed TIN type for state payroll forms. Size Range: 9-11 |
| string | Optional Email address of the business. Size Range: ..100 | |
| ContactNm | string | Optional Name of the person who can be contacted by the State Agency. Size Range: ..27 |
| Phone | string | Optional Phone number of the business. Size Range: 10 |
| PhoneExtn | string | Optional Extension of the business phone number. Size Range: ..5 |
| Fax | string | Optional Fax number of the business. Size Range: 10 |
| BusinessType | string | Type of business. Size Range: 4 Allowed values"ESTE", "PART", "CORP", "EORG", "SPRO" |
| SigningAuthority | object | Details of the person who is authorized to sign the return. |
| Name | string | Name of the signing authority. Size Range: ..35 |
| Phone | string | Phone number of the signing authority. Size Range: 10 |
| BusinessMemberType | string | Business title of the signing authority Size Range: 5..29 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" |
| KindOfEmployer | string | Optional Identifies the kind of employer.Allowed values"FEDERALGOVT", "STATEORLOCAL501C", "NONGOVT501C", "STATEORLOCALNON501C", "NONEAPPLY" |
| KindOfPayer | string | Optional Identifies the kind of payer.Allowed values"REGULAR941", "REGULAR944", "AGRICULTURAL943", "HOUSEHOLD", "MILITARY", "MEDICAREQUALGOVEM", "RAILROADFORMCT1" |
| IsBusinessTerminated | Boolean | When true, indicates that the business is terminated. |
| IsForeign | Object | When true, indicates that the business has a foreign address. |
| USAddress | object | If IsForeign is false, pass the US address of the business. |
| Address1 | string | Employer/Payer's US address (street or post office box of that locality). 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 code. Refer to static values. Size Range: 2 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" |
| 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 of that locality). 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", "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" |
| PostalCd | string | Employer/Payer's postal code. Size Range: ..16 |
| ReturnData | Object | Contains the return information. |
| FormIL340 | Object | Identifies the Form IL 3/40 data. |
| BusinessClass | String | Type of business calssificationAllowed values"SOLE_PROPRIETOR", "S_CORPORATION", "C_CORPORATION", "PARTNERSHIP","TRUST_OR_ESTATE", "EXEMPT_ORGANIZATION", "STATE_AND_LOCAL_GOVERNMENT" |
| IsNoEmpOrBusienssClosed | Boolean | If true identifies that the business has ceased operations or had no employees during that quarter. |
| IsNoWageReported | Boolean | When true, indicates that no wage is reported in this quarter |
| UIIdNum | String | Employer's Illinois Unemployment Account Number Size Range: 8 digits Sample format: 99999999 |
| EmployerTaxType | String | Employment tax type Allowed values"TAXABLE_EMPLOYER", "REIMBURSABLE_EMPLOYER" |
| TotWagesAmt | Number | Total wages paid for the quarter. Size Range: 0-99999999999.99 |
| TotExcessWageAmt | Number | Total excess wages paid for the quarter. Size Range: 0-99999999999.99 |
| TotTaxableWages | Number | Total taxable wages paid for all employees in the quarter that is subject to Illinois Unemployment Insurance. Size Range: 0-99999999.99 |
| TaxRate | Number | Tax rate for the quarter. Size Range: 1-100 |
| ContribAmt | Number | Contribution amount for the quarter Size Range: 0-99999999.99 |
| Interest | Number | Optional Interest due for the quarter (2% per month after the due date). Size Range: 0-99999999.99 |
| PenaltyLateFiling | Number | OptionalLate filing penalty for the quarter. Size Range: 0-99999999.99 |
| UnderPayment | Number | OptionalLate filing penalty for the quarter. Size Range: 0-99999999.99 |
| OverPayment | Number | OptionalLate filing penalty for the quarter. Size Range: 0-99999999.99 |
| BalanceDue | Number | Total remittance due for the quarter. Size Range: 0-99999999.99 |
| NumOfEmployees | Object | Identifies the total number of employees for the quarter. |
| Month1TotEmployees | string | Total number of employees in month 1 of the quarter. Size Range: 0-9999999 |
| Month2TotEmployees | string | Total number of employees in month 2 of the quarter. Size Range: 0-9999999 |
| Month3TotEmployees | string | Total number of employees in month 3 of the quarter. Size Range: 0-9999999 |
| EmployeeDetails | Object | Object to identify the employee details. |
| EmpSequenceId | string | A unique number to identify this record. Size Range: 1-10 |
| EmployeeId | Guid | OptionalA unique ID generated by TaxBandits after the return is created Size Range: ..10 |
| EmployeeId | Guid | OptionalA unique ID generated by TaxBandits after the return is created and returned in the response. |
| EmpRef | string | A unique identifier of the employee. Size Range: 1-50 |
| SSN | string | Employee's Social Security Number (SSN). Size Range: 9-11 |
| FirstNm | string | Employee's first name. Size Range: 1-15 |
| MiddleNm | string | OptionalEmployee's middle name. Size Range: 1-15 |
| LastNm | string | Employee's last name. Size Range: 1-20 |
| Suffix | string | OptionalEmployee's suffix.Allowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII","Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
| GrossWagesAmt | Number | Total gross wages reported for the quarter. Size Range: 0-99999999999.99 |
| TaxableAmt | Number | Total taxable wages from the gross wages paid to the employee Size Range: ..99999999.99 Note: The taxable wage base limit varies by tax year. Refer to the updated base limits provided above for each tax year. |
| ExcessAmt | Number | Total excess wages for the quarter. Size Range: ..99999999.99 |
Response Body
| Field | Type | Description |
|---|---|---|
| SubmissionId | Guid | Unique identifier for a submission. |
| SuccessRecords | object[] | Provides detailed information about the success status of Form IL 3/40 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. |
| BusinessId | Guid | Unique identifier for the business (payer) generated by TaxBandits. |
| PayerRef | string | Unique identifier for the business (payer) provided by you.. |
| RecordId | Guid | A unique identifier generated by TaxBandits when a Form IL 3/40 return is created. |
| FormType | string | Type of form. |
| Status | string | Returns the record status. |
| StatusTs | string | Returns the date and time when the return was created. |
| Info | string | Provides additional information about the return. |
| Errors | object[] | Displays error information related to the state returns of Form IL 3/40. |
| 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 IL 3/40 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
Create IL 3/40 return for each quarter of the tax year
{
"StateUIRecords": [
{
"SequenceId": "001",
"ReturnHeader": {
"TaxYr": "2026",
"Qtr": "Q1",
"Business": {
"BusinessId": null,
"BusinessNm": "Snowdaze LLC",
"TradeNm": "Mayfill Tech",
"IsEIN": true,
"EINorSSN": "74-6572341",
"Email": "james@sample.com",
"ContactNm": "John",
"Phone": "7894561231",
"IsForeign": false,
"BusinessType": "SLGOV",
"SigningAuthority": {
"Name": "James Smith",
"Phone": "9934567890",
"BusinessMemberType": "DIRECTOR"
},
"USAddress": {
"Address1": "12 Main st",
"Address2": "CC avenue",
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
},
"ForeignAddress": {
"Address1": null,
"Address2": null,
"City": null,
"ProvinceOrStateNm": null,
"Country": null,
"PostalCd": null
}
}
},
"ReturnData": {
"FormIL340": {
"IsNoEmpOrBusienssClosed": false,
"IsNoWageReported": false,
"UIIdNum": 8934577,
"EmployerTaxType": "TAXABLE_EMPLOYER",
"TotWagesAmt": 50000,
"TotExcessWageAmt": 49600,
"TotTaxableWages": 400,
"TaxRate": 0.5,
"ContribAmt": 2,
"Interest": 45455,
"PenaltyLateFiling": 355,
"Underpayment": 355,
"Overpayment": 355888,
"BalanceDue": -309721,
"NumOfEmployees": {
"Month1TotEmployees": 10,
"Month2TotEmployees": 0,
"Month3TotEmployees": 0
},
"EmployeeDetails": [
{
"EmpSequenceId": "01",
"EmployeeId": null,
"EmpRef": null,
"SSN": "001456924",
"FirstNm": "John",
"MiddleNm": "A",
"LastNm": "Smith",
"Suffix": "Sr",
"GrossWagesAmt": 50000,
"TaxableAmt": 400,
"ExcessAmt": 49600,
"USAddress": {
"Address1": "12 Main St",
"Address2": "CC avenue",
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
}
}
]
}
}
}
]
}
Response JSON
- 200
Success Response - This is a sample response for successful API requests.
{
"StatusCode": "200",
"StatusName": "Ok",
"StatusMessage": "Successful API call",
"SubmissionId": "019cb36d-0258-7044-948f-a3dbbef22fa1",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "c8198997-6f20-439d-bac3-239226af2e7d",
"PayerRef": null,
"RecordId": "019cb36d-119e-713a-b0af-fee59838641e",
"FormType": "IL340",
"EmployeeData": [
{
"EmployeeId": "05f634a9-d5d8-4498-ae8e-55ec7d27bc3b",
"EmpRef": "Pe011204121"
}
],
"Status": "CREATED",
"StatusTs": "2026-03-03 06:19:55 -05:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": null,
"Errors": null
}