> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.middesk.com/verify-business/tin/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.middesk.com/_mcp/server. # Verify TIN > Use Middesk to verify TINs. A Taxpayer Identification Number (TIN) is a unique identification number used by the Internal Revenue Service (IRS) in the administration of tax laws. While there are various types of TINs, all businesses have some form of TIN. The TIN types are: * Social Security Number (SSN) * Employer Identification Number (EIN) * Individual Taxpayer Identification Number (ITIN) * Taxpayer Identification Number for Pending U.S. Adoptions (ATIN) * Preparer Taxpayer Identification Number (PTIN) Middesk focuses on entities that have EINs, also known as a Federal Tax Identification Numbers (FEIN), which are assigned to business entities, estates, and trusts. All valid business entities have an EIN issued by the IRS. The Federal government requires a legal entity have an EIN in order to pay employees and to file business tax returns. To be considered a partnership, LLC, corporation, S corporation, non-profit, and so on, a business must obtain an EIN when incorporating. EINs do not expire. Once an EIN is issued to an entity, it won't be reissued. As such, each EIN is unique to a business and persists over time. > **How to trigger a TIN verification** > > TIN verification can be triggered when you create a business in Middesk. Read the [quickstart](/quickstart) for an example workflow. > > Or can you trigger TIN verification on an existing business (in your Middesk account) by placing a `business_verification_verify` order. Learn how to [create Orders](/create-orders). ## How Middesk verifies EINs Verifying the EIN of a business is a crucial part of business verification. When you create a Business object in Middesk with a TIN, Middesk verifies that the EIN is valid and that it matches the name passed to Middesk. If the EIN cannot be verified or doesn't match the name provided, Middesk performs a series of lookups to identify alternate names that may be associated with that EIN. Verifying a TIN and business name match is important for two reasons: * All state and legal filings associated with a business are typically traced through the business's legal name. Without the correct entity legal name, Middesk cannot conduct accurate screenings of that business for reports like registration records. This may subsequently delay onboarding. * If onboarding clients that process over \$20,000 and 200 payments in a calendar year, you must file a form 1099-K with the IRS. The 1099-K requires a merchant's tax ID, legal name, address, and total number of transactions for the calendar year. If the company files inaccurate, incomplete, or tardy returns, it may be fined hundreds of dollars per erroneous filing, with no maximum penalty. > **TIN formatting** > > Pass all TINs as a 9-digit number with no formatting. For example, you would pass Middesk's TIN of `37-1883180` as `371883180`. Review a summary of the TIN verification results in the [review tasks](/verify-business/tin/review-tasks) on the Business object. ## Verify EINs against people Based on IRS documents, some small businesses like single-member LLCs have EINs that match against an officer's name instead of the registered business name. Middesk has an optional feature to verify if the submitted EIN matches the person's name in the case that it failed to match with the business name. ## Error handling As Middesk relies upon government information and services, Middesk provides an additional layer of error handling to ensure that disruptions in government information are minimized and can be handled gracefully. On Middesk's side: * For a duplicate request error, the TIN is retried several hours after the initial request was made. * For an IRS availability error, an attempt to retry the TIN is made every 6 hours. However, the failed TIN may be retried sooner if Middesk receives a signal that the IRS is available. * If a request fails during the retry attempt, the TIN verification is rescheduled and retried until the request is successful. * Upon a successful retry, a `tin.retried` webhook emits. This example shows how the TIN retry workstream may go: 1. You create a business in Middesk. 2. Middesk sends a `business.created` webhook indicating that Middesk successfully created the business. Evaluation of the business begins. 3. Middesk parses and returns SOS results successfully. However, the call to the IRS API fails due to downtime. The other attributes completed successfully, so Middesk moves this business from `"status": "pending"` to `"status": "in_review"`. 4. This status change results in Middesk sending a `business.updated webhook`. This webhook shows the IRS error. 5. Middesk begins retrying the TIN request to the IRS every 6 hours until it successfully completes. 6. Middesk sends a `tin.retried` webhook with the updated results from the successful call to the IRS API. 7. (Optional) Upon receipt of the `tin.retried` webhook, you make a request to Middesk's [GET /businesses endpoint](/api-reference/business-verification/businesses/retrieve-a-business), passing in the `business_id` field received in the webhook event. Middesk returns the full Business object in the response, which includes the updated TIN information. For more details about TINs, see the [TIN reference](/reference/tin). ## Verify TIN matching status Middesk's [TIN Match service](/api-reference/business-verification/tin-match/check-tin-match-service-availability) API endpoint supports verifying up-to-date information about the IRS health status and availability. This endpoint communicates if the Middesk TIN matching services are available or if Middesk is experiencing downtime due to a potential IRS outage. The TIN Match service endpoint reflects the TIN Match service's status through an availability threshold over a sliding window to reduce endpoint flakiness. Middesk categorizes TIN Match as available if at least 50% of TIN verifications were successfully issued over the past 5 minutes. ### Share TIN Match availability with the API Use the TIN Match service endpoint if you want to surface the IRS reliability to your end clients/users, especially if TIN verification is a critical attribute in your compliance workstreams. Other best practices during an IRS outage may include diverting end users and applicants to a fallback onboarding experience or approval criteria, or soft-onboarding users with restricted access to specific products. ### Track TIN Match uptime The TIN Match service uptime is visible on the Middesk [Status](https://status.middesk.com/) page. It provides an overview of Middesk API, Dashboard, and TIN Match availability. Subscribe to email updates for any Middesk and TIN Match outages. Middesk proactively alerts Dashboard users whenever an identity report encounters an IRS outage error, and Middesk sends an email once the TIN match is successfully verified after the IRS is available again. ## Monitor TIN registrations for newly formed businesses TINs for newly formed businesses may take up to two weeks to appear in the IRS database, which can result in failed initial verifications. Middesk's TIN Discovery feature automatically reattempts TIN verification for newly formed businesses over a 14-day period, finding 87% of TINs for businesses less than 1 year old. Learn how to [monitor TIN registrations](/verify-business/tin/monitoring) to enable TIN Discovery for your businesses. ## How to verify a TIN #### Create a business with TIN Submit a business with the TIN to trigger verification. ```bash curl -X POST https://api.middesk.com/v1/businesses \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Acme Corporation", "tin": { "tin": "123456789" }, "addresses": [ { "address_line1": "123 Main Street", "city": "San Francisco", "state": "CA", "postal_code": "94105" } ], "orders": [ { "product": "business_verification_verify" } ] }' ``` #### Wait for verification to complete Middesk sends a `business.updated` webhook when verification completes. If the IRS is temporarily unavailable, Middesk retries automatically and sends a `tin.retried` webhook when successful. Set up [webhooks](/build/webhooks) to receive notifications. #### Review the results Check the [review tasks](/verify-business/tin/review-tasks) on the Business object for TIN verification results. > **Get a demo** > > Contact your account manager or [contact sales](https://www.middesk.com/contact-sales) to inquire about access. > Use Middesk to verify TINs. ## Docs - [Monitor TINs for newly formed businesses](https://docs.middesk.com/verify-business/tin/monitoring.md): Learn how to monitor TIN registrations for newly formed businesses using TIN Discovery. - [TIN verification review tasks](https://docs.middesk.com/verify-business/tin/review-tasks.md): Understand the review tasks for TIN verification.