Skip to main content
Version: 2.0.0

Bulk File Matching

Bulk File Matching

The Bulk File Matching endpoint allows you to submit a file for verification and enable one or more verification services, including TIN Matching, OFAC Verification, Non-Profit Verification, and DMF Verification.

POSTVerification/BulkFileRequest

TaxBandits supports submitting a file either by providing an existing FileId or by providing the file as a byte array in the request body.

You can also configure service-specific settings, such as the minimum matching score for OFAC verification and whether TIN details should be masked in the response file delivered through the webhook. Upon successful submission, the endpoint returns a unique SubmissionId along with the submitted file details, total record count, Submission status, submission timestamp, and any validation errors associated with the submission.

The submission can be tracked using the SubmissionId returned in the response. The verification results and response file can be retrieved through the configured webhook settings.

Note:
Before submitting the file, ensure that the following requirements are met:

  • Provide a valid file name for the submitted file.
  • Ensure that all records contain a valid TIN Type code (1 for Employer Identification Number (EIN), 2 for Social Security Number (SSN), and 3 for unknown TIN type) and a valid TIN value, which must be a 9-digit numeric value without hyphens.
  • The file must contain no more than 100,000 records.
  • The file size must be less than 10 MB.
  • Ensure that the actual number of records in the file matches the TotalRecords value provided in the request payload for accurate tracking and traceability.
  • The file submission will not be processed if duplicate records are identified under any of the following conditions:
    • The same Name and TIN are provided more than once in the file.
    • The same Name with a different TIN is provided in the file.
    • The same TIN with a different Name is provided in the file.

Sample File Format​

TINType;TIN;Name;ReferenceNumber
1;456789123;John Earth Movers;Vendor_001

Status Retrieval​

You can retrieve the status of the submitted file by configuring a webhook for the Bulk Verification event. This event is triggered once the processing of all records in the submitted file is completed, rejected, partially completed, or reaches any other applicable status.

The webhook response includes the verification status for each record, along with the response file containing the results for the verification services enabled for the submission.

To know more about configuring Bulk Verification, click here.

The following are the possible status codes and statuses returned for the submitted file:

Status Codes and Statuses

Status CodeStatusStatus Message
BULK_FILE_001ORDER_RECEIVEDBulk File Request order received
BULK_FILE_002SENT_TO_IRSBulk File Request has been sent to the IRS for verification
BULK_FILE_003PARTIALLY_COMPLETEDThe IRS has processed part of the records provided in the Bulk File order
BULK_FILE_004COMPLETEDBulk File Request has been verified successfully
BULK_FILE_005REJECTEDBulk File Request has been rejected due to duplicate Name and TIN available in the file

Request Body

FieldTypeDescription
SubmissionManifestobjectSubmissionManifest provides brief information about a particular file submission as a whole.
It contains information on the services to be included, such as TIN Matching, OFAC Verification, Non-Profit Verification, and DMF Verification, along with configuration options to determine whether TIN details should be masked in the response file.
   Servicesobject[]Object to identify the verification services to be enabled for the submitted file.
Allowed values

"TINMATCH", "OFAC", "NON_PROFIT", "DMF"

   OFACobjectObject used to configure the OFAC verification service for records in the submitted file.
      MinScorestringMinimum score required to match the records provided in the submission file during the record-matching verification process for OFAC verification.
Size Range: 50-100
   IsMaskTINInResponseBooleanIf true identifies that the TIN details should be masked in the response file generated through the webhook.
SubmissionDataobjectSubmissionData provides brief information about a file submission and record details.
FileNamestringName of the file to be submitted for verification services.
FileIdGUIDUnique identifier of the file to be submitted
Note: If FileId is provided, FileName and BulkFile (byte array) can be set to null.
BulkFileByte ArrayByte array containing the file to be submitted for verification.
TotalRecordsstringTotal number of records contained in the submitted file.

Response Body

FieldTypeDescription
SubmissionIdGUIDA unique identifier of a submission
FileNamestringReturns the file name
TotalRecordsstringReturns the total number of records in the submitted file
StatusstringReturns the status of the file submitted
StatusCdstringReturns the status code of the status
StatusMessagestringReturns any additional informaiton about the file submitted
SubmittedAtstringRetruns date when the return is submitted.
Errorsobject[]Shows the error information of state returns
IdstringReturns the validation error ID.
NamestringName of the validation error
MessagestringDescription of the validation error

Request JSON​

{
"SubmissionManifest": {
"Services": [
"TINMATCH",
"OFAC",
"NON_PROFIT",
"DMF",
],
"OFAC": {
"MinScore": 90
},
"IsMaskTINInResponse": true
},
"SubmissionData": {
"FileName": "TIN_CHECK.txt",
"FileId": "",
"BulkFile": "",
"TotalRecords": 15000
}
}

Response JSON​

{
"SubmissionId": "31ea464a-ff03-46db-92ce-14e355a132bb",
"FileName": "TIN_CHECK.txt",
"TotalRecords": 15000,
"Status": "ORDER_RECEIVED",
"StatusCd": "BULK_FILE_001",
"StatusMessage": "Bulk File Request order has been received",
"SubmittedAt": "2026-08-20T09:14:32Z",
"Errors": null
}

Bulk File Matching Webhook Response

{
"SubmissionId": "31ea464a-ff03-46db-92ce-14e355a132bb",
"FileName": "TIN_CHECK.txt",
"Status": "PARTIALLY_COMPLETED",
"StatusCd": "BULK_FILE_003",
"StatusMessage": "Part of the records provided in the Bulk File order has been processed by the IRS",
"TotalRecords": 15000,
"TotalFiles": 2,
"IsFinal": false,
"File": {
"FileSequence": 1,
"RecordsInFile": 14500,
"ResponseFilePath": ""
},
"Errors": null
}