Employer Identification Numbers (EIN) are a unique Federal ID assigned to each registered business entity. An EIN should be matched against a legal entity name as a baseline business verification process.
{
"object": "tin",
"name": "Middesk, Inc.",
"tin": "27-1883160",
"verified": false,
"verified_by": "business",
"mismatch": false,
"unknown": true,
"issued": true,
"error": null,
"business_id": "32e7fb2c-60ca-4ddc-add2-694475b73f2b",
"created_at": "2019-01-21T06:43:23.313Z",
"updated_at": "2019-01-21T06:44:07.184Z"
}
Attribute | Type | Description |
---|---|---|
name | string | The legal entity name that is associated with that TIN. The name field is null by default when the business and tin object are created, but filled once we have fulfilled the report. |
tin | string | TIN that was provided during Business creation |
verified | boolean | Details on whether the TIN that was provided belongs to the entity name that was provided. The verified field is null by default when the business and tin object are created, but filled once we have fulfilled the report. |
verified_by (optional) | string | If the TIN is verified using the business name, this field will be populated with “business”. If the TIN is verified using the person’s name, this field will be populated with “person”. This is an optional feature, please contact sales if you would like access to this field. |
issued | boolean | Details on whether the TIN is currently issued. If this cannot be determined, it will be null . |
mismatch | boolean | If the TIN is not verified against the submitted name, Middesk may return a recommended entity name which will be flagged as a mismatch. |
unknown | boolean | If the TIN is not verified against the submitted name and no potential name is found, the TIN will be flagged as unknown. |
error | string | If there is an error on the TIN Matching request such as the IRS being unavailable, this field will be populated with the error string (e.g. irs_unavailable) |
business_id | string | The id of the Business this TIN belongs to |
created_at | timestamp | The timestamp when this TIN was created |
updated_at | timestamp | The timestamp when this TIN was last updated |
TIN Review Tasks
To make decisioning easier off the above TIN data, key insights will be aggregated into review tasks that can be found on the Business payload (business.review.review_tasks
).
TIN Match
This review task indicates if the TIN and name match was able to be verified with the IRS. The following JSON indicates the possible states of this task. The TIN will only be verified against the person name if that feature is enabled for your account.
{
"key": "tin",
"category": "tin",
"label": "TIN Match",
"sub_label": "Found",
"sub_key": "found",
"status": "success",
"message": "The IRS has a record for the submitted TIN and Business Name combination"
}
{
"key": "tin",
"category": "tin",
"label": "TIN Match",
"sub_label": "Not Found",
"sub_key": "not_found",
"status": "failure",
"message": "The IRS does not have a record for the submitted TIN and Business Name combination"
}
{
"key": "tin",
"category": "tin",
"label": "TIN Match",
"sub_label": "Mismatch",
"sub_key": "mismatch",
"status": "failure",
"message": "We believe the submitted TIN is associated with a different Business Name"
}
{
"key": "tin",
"category": "tin",
"label": "TIN Match",
"sub_label": "Error",
"sub_key": "error",
"status": "failure",
"message": "IRS unavailable"
}
TIN Error
When TIN Match results in an error, an additional TIN Error review task is available to allow for more granular actions depending on the type of error.
{
"key": "tin_error",
"category": "tin",
"label": "TIN Error",
"sub_label": "IRS Unavailable",
"sub_key": "irs_unavailable",
"status": "failure",
"message": "IRS Unavailable"
}
{
"key": "tin_error",
"category": "tin",
"label": "TIN Error",
"sub_label": "Duplicate Request",
"sub_key": "duplicate_request",
"status": "failure",
"message": "Duplicate Request"
}
{
"key": "tin_error",
"category": "tin",
"label": "TIN Error",
"sub_label": "Invalid ITN",
"sub_key": "invalid_tin",
"status": "failure",
"message": "Invalid ITN"
}
{
"key": "tin_error",
"category": "tin",
"label": "TIN Error",
"sub_label": "Denylisted",
"sub_key": "denylisted",
"status": "failure",
"message": "Denylisted"
}
TIN Issued
If the TIN fails to be verified against the Business name provided, the IRS will indicate if the TIN has been issued or not. Newly issued TINs may take several days to several weeks to be processed into the IRS' database, so if this status is received from the IRS, it could be the case that the TIN is still being processed at the IRS. This review task will be present if the IRS has indicated that the TIN is not yet issued, otherwise, it will not be present in the review tasks list.
{
"key": "tin_issued",
"category": "tin",
"label": "TIN Match",
"sub_label": "Not Issued",
"sub_key": "not_issued",
"status": "failure",
"message": "TIN has not been issued by the IRS. There is often a delay after formation for the IRS database to process TINs for new businesses."
}
Verification of EINs/SSNs against Individuals
Some small businesses like single-member LLCs have EINs that match an officer's name instead of the registered business name. To utilize this feature, we will want to ensure that you are passing in both the EIN/TIN and the individual's name. Note that this is an optional feature that can be turned on by reaching out to your Account Manager or to [email protected].
Dashboard:
If the TIN is verified using a person's name, a warning will be displayed on the TIN match card as a “Person Match."
EIN Verification JSON Response:
The Employer Identification Numbers (EIN) response now includes verified_by as an optional field. If the TIN is verified using the business name, this field will be populated with business. If the TIN is verified using the person’s name, this field will be populated with the "person."
{
"object": "tin",
"name": "Middesk, Inc.",
"tin": "27-5683160",
"verified": true,
"verified_by": "business",
"mismatch": false,
"unknown": false,
"issued": null,
"error": null,
"business_id": "32e7fb2c-60ca-4ddc-add2-694475b73f2b",
"created_at": "2019-01-21T06:43:23.313Z",
"updated_at": "2019-01-21T06:44:07.184Z"
}
{
"object": "tin",
"name": "Middesk, Inc.",
"tin": "27-5683160",
"verified": false,
"verified_by": "business",
"mismatch": false,
"unknown": true,
"error": null,
"business_id": "32e7fb2c-60ca-4ddc-add2-694475b73f2b",
"created_at": "2019-01-21T06:43:23.313Z",
"updated_at": "2019-01-21T06:44:07.184Z"
}
{
"object": "tin",
"name": "Middesk, Inc.",
"tin": "27-5683160",
"verified": false,
"verified_by": "business",
"mismatch": false,
"unknown": false,
"error": 'invalid_tin',
"business_id": "32e7fb2c-60ca-4ddc-add2-694475b73f2b",
"created_at": "2019-01-21T06:43:23.313Z",
"updated_at": "2019-01-21T06:44:07.184Z"
}
Example Review Task Response JSON:
If the EIN/TIN is verified using the person’s name, the Review Task API (business.review.review_tasks
) will return a response with a warning sublabel and the following message: “The IRS has a record for the submitted TIN and Person Name combination.”
{
“key”: “unique identifier for the task”,
“category”: “tin”,
“label”: “TIN Match”,
“sub_label”: “Warning”,
“status”: “warning”,
“message”: “The IRS has a record for the submitted TIN and Person Name combination”
}