ValidateForm
The ValidateForm method checks the request's 1099-NEC Forms to IRS business standards and field specifications. It will verify the IRS-mandated checks and assist in avoiding NEC form errors. It will validate the form without generating any TaxBandits returns.
POST Form1099NEC/ValidateForm
Request Body
Field | Type | Description |
---|---|---|
SubmissionManifest | object | SubmissionManifest provides brief information about a particular submission on the whole. It contains information like
|
TaxYear | string | Tax year of Form 1099-NEC to be filed. Allowed values: "2021" |
IsFederalFiling | Boolean | Federal Filing for the return will be enabled when the value is True. Form 1099-NEC will be sent directly to the IRS. |
IsStateFiling | Boolean | State Filing for the return will be enabled when the value is True. Form 1099-NEC will be directly filed with the respective recipient states. Note: State Filing will not be created for the states that do not require State filing. |
IsPostal | Boolean | Postal Order will be created when the value is set as True. Once the return is Transmitted, Form 1099-NEC Recipient copies will be postal mailed to the recipient's address via USPS. Note: Postal Orders for Foreign Address will not be created. |
IsOnlineAccess | Boolean | Online Access will be enabled when the value is set as True. Once the return is Transmitted, an email with the link to the secure TaxBandits portal will be sent to the Recipient. The recipient can provide consent and download Form 1099-NEC Recipient copies from the portal. |
IsScheduleFiling | Boolean | When true, schedule filing services will be provided for Form 1099-NEC returns under this submission. |
ScheduleFiling | object | Contains preferred date to submit the returns to the IRS. Required only when "IsScheduleFiling" is True . |
EfileDate | string | Date of Schedule Filing. Enter the date in the format: MM/DD/YYYY or MM-DD-YYYY Example: 10/20/2021 or 10-20-2021 |
ReturnHeader | object | Contains information about the Business details. |
Business | object | Object to identify the Business Details. |
BusinessId | Guid | OptionalUnique Identifier of the Business , it will be provided by TaxBandits if the Business is already created . |
BusinessNm | string | Name of the business Size Range: ..75 |
FirstNm | string | First Name of the Individual Size Range: ..20 |
MiddleNm | string | Middle Name of the Individual Size Range: ..20 |
LastNm | string | Last Name of the Individual Size Range: ..20 |
Suffix | string | Suffix of the IndividualAllowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
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 | Optional Email address of the Business Size Range: ..100 | |
ContactNm | string | Optional Name of the person who can be contacted by the IRS 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 | Optional Type of business. Optional for W-2/1099 and mandatory for 94X series Size Range: 4 Allowed values"ESTE", "PART", "CORP", "EORG", "SPRO" |
SigningAuthority | object | Optional Details of the person who is authorized to sign the return |
Name | string | Optional Name of the signing authority Size Range: ..35 |
Phone | string | Optional Phone number of the signing authority Size Range: 10 |
BusinessMemberType | string | Optional 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. Mandatory for W-2 and optional for 1099-NEC and 94X seriesAllowed values"FEDERALGOVT", "STATEORLOCAL501C", "NONGOVT501C", "STATEORLOCALNON501C", "NONEAPPLY" |
KindOfPayer | string | Optional Identifies the kind of payer. This field is mandatory in W-2 and optional in 1099-NEC and 94X seriesAllowed values"REGULAR941", "REGULAR944", "AGRICULTURAL943", "HOUSEHOLD", "MILITARY", "MEDICAREQUALGOVEM", "RAILROADFORMCT1" |
IsBusinessTerminated | Boolean | When true, identifies the business as terminated. |
IsForeign | Boolean | When true, identifies the business address with a foreign address. |
USAddress | object | If IsForeign is false, pass US address of the business |
Address1 | string | Employer/Payer's US address (street address 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 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 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 information about the recipient details and Form 1099-NEC details. |
SequenceId | string | An 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. Size Range: 50 |
Recipient | object | Object to identify the recipient details. |
RecipientId | Guid | OptionalAn unique ID generated by TaxBandits after the return is created and will be returned in the Response. You can use this id for your future reference to Update. |
TINType | string | Specify the TIN type of the recipient. Note: If the recipient doesn't have a TIN, enter the TIN type as 'NA' and input 'null' in the TIN field. Allowed values"SSN", "EIN", "ITIN", "ATIN", "NA" |
TIN | string | Enter the nine-digit taxpayer identification number of the Recipient (SSN, ITIN, ATIN, or EIN). Size Range: 9-11 |
FirstPayeeNm | string | Enter the name of the recipient (preferably last name first for an Individual). If more space is required for the name, use the Second Payee Name Field. Size Range: 40 |
SecondPayeeNm | string | Optional If there are multiple recipients (for example, partners, joint owners, or spouses), use this field for those names not associated with the TIN or if not enough space was provided in the First Payee Name, continue the name in this field. Size Range: 40 |
FirstNm | string | First Name of the Individual Size Range: ..20 |
MiddleNm | string | Middle Name of the Individual Size Range: ..20 |
LastNm | string | Last Name of the Individual Size Range: ..20 |
Suffix | string | Suffix of the IndividualAllowed values"Jr", "Sr", "I", "II", "III", "IV", "V", "VI", "VII" |
IsForeign | Boolean | When true, identifies the recipient address with a foreign address. |
USAddress | object | If IsForeign is false, pass US address of the recipient |
Address1 | string | Recipient's US address (street address or post office box of that locality) Size Range: ..46 |
Address2 | string | Optional Recipient's suite or apartment Size Range: ..46 |
City | string | Recipient's city Size Range: ..50 |
State | string | Recipient's state code. Refer 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 | Recipient's zip code Size Range: 5..10 |
ForeignAddress | object | If IsForeign is true, pass foreign address of the recipient |
Address1 | string | Recipient's foreign address (street address or post office box of that locality) Size Range: ..50 |
Address2 | string | Optional Recipient's suite or apartment Size Range: ..50 |
City | string | Recipient's city. Size Range: ..50 |
ProvinceOrStateNm | string | Recipient's Province or State Name. Size Range: ..50 |
Country | string | Recipient's country code. Refer Static values. 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 | Recipient's Postal Code Size Range: ..16 |
string | Optional Recipient's email address. Size Range: 0..100 Note : This email address cannot be the same for two different recipients under the same business. | |
Fax | string | Optional Recipient's Fax number. Size Range: 10 |
Phone | string | OptionalRecipient's Phone Number. Size Range: 10 |
NECFormData | object | Recipient's Form 1099-NEC information |
B1NEC | number | Gets the Nonemployee compensation (NEC) amount of $600 or more. Size Range: 0-9999999999.99 |
B2IsDirectSales | Boolean | When true, identifies sales of $5,000 or more of consumer products to a person on a buy-sell, deposit commission, or any other commission basis for resale anywhere other than in a permanent retail establishment. Applicable only for Tax year 2021. |
B4FedTaxWH | number | Gets the amount of Federal Tax Withheld. Size Range: 0-9999999999.99 Note : This value should be less than 40% of Box 1. |
IsFATCA | Boolean | When true, identifies a U.S. payer reporting on Form(s) 1099 (including reporting payments on this Form 1099-NEC) to satisfy their foreign financial asset reporting requirement with respect to a U.S. account. Not Applicable for Tax year 2021. |
AccountNum | string | Account number of Payer having multiple accounts for a recipient for whom more than one Form 1099-NEC is filed. Size Range: 4..20 |
Is2ndTINnot | Boolean | When true, identifies a Payer who is notified by the IRS twice within 3 calendar years for providing an incorrect TIN and do not want the IRS to send any more notices. |
States | object[] | Contains list of state returns information. |
StateCd | string | State Code. 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" |
StateIdNum | string | Identification Number of State. Size Range: ..20 |
StateWH | number | Income tax amount withheld for State . Size Range: 0-9999999999.99 |
StateIncome | number | Amount of payment for State. Size Range: 0-9999999999.99 |
StateReconData | object | Collects State Recon fields specific for each state. Click here, for the description of each state specific Recon fields. |
Request JSON
{
"SubmissionManifest": {
"TaxYear": "2021",
"IsFederalFiling": true,
"IsStateFiling": true,
"IsPostal": true,
"IsOnlineAccess": true,
"IsScheduleFiling": true,
"ScheduleFiling": {
"EfileDate": "12/25/2024"
}
},
"ReturnHeader": {
"Business": {
"BusinessId": null,
"BusinessNm": "Snowdaze LLC",
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"PayerRef": "Snow123",
"TradeNm": "Iceberg Icecreams",
"IsEIN": true,
"EINorSSN": "65-7369245",
"Email": "james@sample.com",
"ContactNm": null,
"Phone": "1234567890",
"PhoneExtn": "12345",
"Fax": "1234567890",
"BusinessType": "ESTE",
"SigningAuthority": null,
"KindOfEmployer": "FederalGovt",
"KindOfPayer": "REGULAR941",
"IsBusinessTerminated": false,
"IsForeign": false,
"USAddress": {
"Address1": "3576 AIRPORT WAY",
"Address2": "UNIT 9",
"City": "FAIRBANKS",
"State": "AK",
"ZipCd": "99709"
},
"ForeignAddress": null
}
},
"ReturnData": [
{
"SequenceId": "1",
"IsPostal": true,
"IsOnlineAccess": true,
"Recipient": {
"RecipientId": null,
"TINType": "EIN",
"TIN": "39-3817572",
"FirstPayeeNm": "Dairy Delights LLC",
"SecondPayeeNm": null,
"FirstNm": null,
"MiddleNm": null,
"LastNm": null,
"Suffix": null,
"IsForeign": true,
"USAddress": null,
"ForeignAddress": {
"Address1": "120 Bremner Blvd",
"Address2": "Suite 800",
"City": "Toronto",
"ProvinceOrStateNm": "Ontario",
"Country": "CA",
"PostalCd": "4168682600"
},
"Email": "shawn@sample.com",
"Fax": "6634567890",
"Phone": "9634567890"
},
"NECFormData": {
"B1NEC": 100.00,
"B2IsDirectSales": true,
"B4FedTaxWH": 14.55,
"IsFATCA": false,
"Is2ndTINnot": true,
"AccountNum": null,
"States": [
{
"StateCd": "AZ",
"StateWH": 257.94,
"StateIdNum": "99-9999999",
"StateIncome": 2900
}
]
}
}
]
}
Response Body
Field | Type | Description |
---|---|---|
StatusCode | number | Returns the HTTP status codes like 200,300 etc. |
StatusName | string | Name of the status code |
StatusMessage | string | Detailed status message |
ErrorRecords | object[] | It will show the detailed information about the error status of Form 1099-NEC Records. |
SequenceId | string | An 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 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 code |
Name | string | Name of the validation error |
Message | string | Description of the validation error |
Response JSON
Success Response - This is a sample response for successful API requests.
{
"StatusCode": 200,
"StatusName": "Ok",
"StatusMessage": "Successful API call",
"ErrorRecords": null,
"Errors": null
}