Skip to main content
Version: 1.7.3

Create

Create

Use this endpoint to report the annual reconciliation of North Carolina income tax withheld and to submit W-2 and 1099 withholding statements for the tax year.

Note:

Quarterly Form NC-5Q must be filed for all four quarters of the tax year. Form NC-3 (annual reconciliation) is filed with the fourth quarter to reconcile total withholding for the year.

POST StateFilings/NC3ANNUALRECON/Create 

Request Body

FieldTypeDescription
StateWHRecordsObject []Object to create  NC-3
SequenceIdStringA unique number given by an inbound application to identify failed records.
Size Range: ..10
ReturnHeaderObjectIdentifies the supporting details of Form  NC-3.
QtrStringThe Quarter for which Form  NC-3 needs to be filed.
Allowed values

"Q1", "Q2", "Q3", "Q4"


Since Form NC-3 is an annual reconciliation form, it must be filed only for the fourth quarter of the tax year.
TaxYrStringThe tax year for which Form  NC-3 needs to be filed.
Allowed values

  2025

BusinessIdStringOptional Use the unique BusinessId (Generated by TaxBandits) you receivedin the response of the Business CREATE Endpoint. If you do not have aBusinesId, ignore the field. By giving the BusinessId, you do not have toprovide all the business information again.
BusinessObjectThe details of the business you’re filing for.
BusinessNmStringName of the business.
Size Range: ..75
PayerRefstringOptional 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
TradeNmStringOptional Name under which the business operates.
*Size Range: ..75
IsEINBooleanWhen true, identifies the business with an EIN.
EINorSSNStringWhen IsEIN is true, use Employer Identification Number (EIN). When IsEIN isfalse, use Social Security Number (SSN).
Size Range: 9-11
EmailStringEmail address of the business.
Size Range: ..100
IsForeignBooleanWhen true, identifies the business as having a foreign address.
USAddressObjectIf IsForeign is false, pass the US address of the business.
Address1StringEmployer/Payer’s US address (street address or post office box).
Size Range: ..46
Address2StringOptional Employer/Payer’s suite or apartment.
Size Range: ..46
CityStringEmployer/Payer’s city.
Size Range: ..50
StateStringEmployer/Payer’s state.
*Size Range: 2Allowed values"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI","ID", "IL", "IN", etc.
ZipCdStringEmployer/Payer’s zip code.
*Size Range: 5..10
ForeignAddressObjectIf IsForeign is true, pass the foreign address of the business.
Address1StringEmployer/Payer’s foreign address (street address or post office box).
Size Range: ..50
Address2StringOptional Employer/Payer’s suite or apartment.
Size Range: ..50
CityStringEmployer/Payer’s city.
Size Range: ..50
ProvinceOrStateNmStringEmployer/Payer’s province or state name.
Size Range: ..50
CountryStringEmployer/Payer’s country.
Size Range: 2Allowed values"AF", "AX", "AL", "AG", "AQ", "AN", "AO", "AV", "AY", "AC", "AR", "AM","AA", "AT", "AS", etc.
PostalCdStringEmployer/Payer’s postal code.
Size Range: ..16
ReturnDataObject[]Identifies the Form  NC-3 data.
FormNC3ObjectNorth Carolina annual withholding reconciliation tax returnNote: Since Form NC-3 is an annual reconciliation form, it must be filed only for the fourth quarter of the tax year.
WHIdNumStringNorth Carolina withholding account number.
Size Range: 9
BusinessClosedDtStringIf the business was closed or stopped paying wages during the tax year, enter the date the business was closed in the format: MM/DD/YYYY or MM-DD-YYYY (Example: 01/25/2025).
TaxWHDetailsObjectObject that contains information about total tax withheld reported to the North Carolina Department for the tax year
L1JanNumberTotal tax withheld reported to the North Carolina Department for the month of January.
Size Range: 0-99999999.99
L2FebNumberTotal tax withheld reported to the North Carolina Department for the month of February.
Size Range: 0-99999999.99
L3MarNumberTotal tax withheld reported to the North Carolina Department for the month of March.
Size Range: 0-99999999.99
L4AprNumberTotal tax withheld reported to the North Carolina Department for the month of April.
Size Range: 0-99999999.99
L5MayNumberTotal tax withheld reported to the North Carolina Department for the month of May.
Size Range: 0-99999999.99
L6JunNumberTotal tax withheld reported to the North Carolina Department for the month of June.
Size Range: 0-99999999.99
L7JulNumberTotal tax withheld reported to the North Carolina Department for the month of July.
Size Range: 0-99999999.99
L7AugNumberTotal tax withheld reported to the North Carolina Department for the month of August.
Size Range: 0-99999999.99
L8SepNumberTotal tax withheld reported to the North Carolina Department for the month of September.
Size Range: 0-99999999.99
L10OctNumberTotal tax withheld reported to the North Carolina Department for the month of October.
Size Range: 0-99999999.99
L11NovNumberTotal tax withheld reported to the North Carolina Department for the month of November.
Size Range: 0-99999999.99
L12DecNumberTotal tax withheld reported to the North Carolina Department for the month of December.
Size Range: 0-99999999.99
L13TotTaxWHNumberTotal tax withheld reported to the North Carolina Department for all the months of the tax year.
Size Range: 0-99999999.99
L14TaxWHRepW2NumberTax Withheld as Reported on W-2 Statements
Size Range: 0-99999999.99
L15TaxWHRep1099NumberTax Withheld as Reported on 1099 Statements
Size Range: 0-99999999.99
L16TotTaxWHNumberTotal Tax Withheld as Reported to the Department of North Carolina
Size Range: 0-99999999.99
L17TotTaxWHRepW21099NumberTotal Tax Withheld as Reported on W-2 and 1099 Statements
Size Range: 0-99999999.99
L18OverPaymentNumberOverpayment amount for the tax year. It is required only if Total Tax Withheld as Reported to the Department of North Carolina is greater than Total Tax Withheld as Reported on W-2 and 1099 Statements.
*Size Range: 0-99999999.99
L19AddnlTaxDueNumberAdditional Tax Due for the tax year. It is required only if Total Tax Withheld as Reported on W-2 and 1099 Statements is greater than Total Tax Withheld as Reported to the Department of North Carolina
*Size Range: 0-99999999.99
L20InterestAmtNumberInterest amount for the tax year.
Size Range: 0-99999999.99
L21Penaltiesobjectobject that contains Informational Return Penalties details.
L21aLateFilingNumberPenalty imposed, if any, for failure to file by the due date
Size Range: 0-99999999.99
L21bFilingFormatNumberPenalty imposed, if any, for failure to File in Format
Size Range: 0-99999999.99
L21cTotPenaltiesNumberTotal penalties imposed for the tax year
Size Range: 0-99999999.99
L22RefundAmtNumberAmount of Refund Requested for the tax year.
Size Range: 0-99999999.99
L23TotAmtDueNumberTotal Amount Due for the tax year
Size Range: 0-99999999.99
StatePaymentObjectObject that contains information about payment details for the department of North Carolina
AccountTypeStringType of the bank account.
Allowed values

"PERSONAL_CHECKING", "PERSONAL_SAVINGS", "BUSINESS_SAVINGS", "BUSINESS_CHECKING"

BankRoutingNumStringBank routing number
Size Range: 9
BankAccountNumStringBank Account Number
Size Range: ..17
PaymentAmtNumberAmount to be paid to the department of North Carolina
Size Range: 0-99999999.99

Response Body

FieldTypeDescription
SubmissionIdGuidUnique identifier of a submission
SuccessRecordsobject[]It will show the detailed information about the success status of Form  NC-3 Records
SequenceIdstringA unique number given by an inbound application to identify particular records.
BusinessIdGuidUnique identifier of a Business
PayerRefstringUnique identifier of the payer
RecordIdGuidAn unique identifier generated by TaxBandits when a  NC-3 return is created
FormTypestringDenotes the type of withholding form (Form  NC-3).
StatusstringReturns the record status of the return.
StatusTsstringDate and time of the return created.
InfostringReturns the information about the return
Errorsobject[]Shows error information of state returns of Form  NC-3
IdstringReturns the validation error Id.
NamestringName of the validation error.
MessagestringDescription of the validation error.
ErrorRecordsobject[]It will show the detailed information about the error status of Form  NC-3 Records.
SequenceIdstringA unique number given by an inbound application to identify particular records. The Sequence ID will be returned in the Response for your reference.
RecordIdGuidUnique identifier of a record
Errorsobject[]Shows detailed error information
IdstringReturns the validation error Id
NamestringName of the validation error
MessagestringDescription of the validation error
Errorsobject[]Shows detailed error information.
IdstringReturns the validation error Id.
NamestringName of the validation error.
MessagestringDescription of the validation error.

Request JSON

Create return for the first three quarters of the tax year

{
"StateWHRecords": [
{
"Sequence": "001",
"ReturnHeader": {
"Qtr": "Q4",
"TaxYr": "2025",
"PayerRef": "Pe6258",
"BusinessId": null,
"Business": {
"BusinessNm": "SnowDaze LLC",
"TradeNm": null,
"IsEIN": true,
"EINorSSN": "73-6231465",
"Email": "john@sample.com",
"IsForeign": false,
"USAddress": {
"Address1": "12 main st",
"Address2": null,
"City": "Rock Hill",
"State": "SC",
"ZipCd": "29730"
},
"ForeignAddress": null,
"BusinessType": "ESTE",
"SigningAuthority": {
"Name": "James Smith",
"Phone": "9934567890",
"BusinessMemberType": "ADMINISTRATOR"
}
}
},
"ReturnData": {
"FormNC5Q": null,
"FormNC3": {
"WHIdNum": "173566979",
"BusinessClosedDt": "04/10/2025",
"TaxWHDetails": {
"L1Jan": 100,
"L2Feb": 100,
"L3Mar": 100,
"L4Apr": 100,
"L5May": 100,
"L6Jun": 100,
"L7Jul": 100,
"L8Aug": 100,
"L9Sep": 100,
"L10Oct": 100,
"L11Nov": 100,
"L12Dec": 100
},
"L13TotTaxWH": 1200,
"L14TaxWHRepW2": 1000,
"L15TaxWHRep1099": 200,
"L16TotTaxWH": 1200,
"L17TotTaxWHRepW21099": 1200,
"L18OverPayment": 0,
"L19AddnlTaxDue": 0,
"L20InterestAmt": 0,
"L21Penalties": {
"L21aLateFiling": 20,
"L21bFilingFormat": 0,
"L21cTotPenalties": 20
},
"L22RefundAmt": 0,
"L23TotAmtDue": 20
},
"StatePayment": {
"AccountType": "PERSONAL_CHECKING",
"BankRoutingNum": "217555555",
"BankAccountNum": "00133",
"PaymentAmt": 100
}
}
}
]
}

Response JSON

Success Response - This is a sample response for successful API requests.

{
"StatusCode": "200",
"StatusName": "Ok",
"StatusMessage": "Successful API call",
"SubmissionId": "019c743e-33b8-749a-9ca1-703ce247591b",
"SuccessRecords": [
{
"SequenceId": "001",
"BusinessId": "1027e90d-234f-4fc9-b7d0-e1098abde60e",
"PayerRef": null,
"RecordId": "019c743e-34b3-76bc-aaae-4e856cd5f1a8",
"FormType": "NC3",
"Status": "CREATED",
"StatusTs": "2026-02-18 23:52:39 -05:00",
"Info": null,
"Errors": null
}
],
"ErrorRecords": null,
"Errors": null
}