RequestByEmail
This is a payer-initiated method, wherein our API endpoint will be used to send an email request to the payees for the completion of W-9 forms.
This endpoint sends a unique url via email to enable the payees to complete their W-9 Forms. In order to generate this unique url, the payee’s name and email address are required. Once they complete the Form W-9 using this url, you will receive a notification through Webhook regarding the W-9 completion.
How does it work?
- Like any other TaxBandits API Endpoint, the first step is to call the notification to get the access token. This access token must be provided in the request header as the ‘Bearer‘ token. Refer to the OAuth 2.0 Authentication for more information on JWT authentication and integrating with subsequent requests.
- The second step is to call the [POST] FormW9/RequestByEmail endpoint with the following values:
- Access Token in the header as Bearer Token (Generated using TaxBandits OAuth authentication API).
- Payee Reference (Optional) - A unique identifier for each payee who completes Form W-9. This identifier will be used in future references of the payee in the API.
- Payee Name and Address (Optional) - The payee information will be pre-filled on the form when passed in the request.
- Business Logo (Optional) - You can customize the business logo on the Form W-9.
- Requester (Business Id or TIN) (optional) - To identify and save the W-9 under a particular business. Refer to the Business endpoint to learn more about creating a business in TaxBandits. If you don’t provide a Business id or TIN in the request, the W-9 will be associated with the default business, i.e., the first business created in your account.
- TaxBandits will send the W-9 request emails to the payees. The email will have the link to complete Form W-9.
- The payees will complete and e-sign Form W-9 in a secured portal. The secured portal can be white-labeled with your URL, logo, and theme.
- Once the payee completes and signs the Form W-9, you will be notified via Webhook. The Webhook payload will have the W-9 information, such as the name, address, EIN/SSN, etc., along with the link to download the completed Form W-9.
Refer to Form W-9 webhook to learn more about webhook setup and sample payload.
- If IsTINMatching is set to ‘TRUE’, TaxBandits will validate the payee’s TIN against the IRS database.
POST FormW9/RequestByEmail
Request Body
Field | Type | Description |
---|---|---|
SubmissionManifest | object | SubmissionManifest provides brief information about submission and the services opted for. |
IsTINMatching | Boolean | If set as True, TIN Matching service will be enabled. Once the recipient signs the Form W-9, TaxBandits will validate the recipient’s Name, TIN, and TINType with the IRS. |
Requester | object | Collects the Requester identifier, i.e., TIN (or) Business ID/PayerRef generated by TaxBandits. If neither is supplied, the default Business will be assumed as the Requester. |
BusinessId | Guid | Optional A Unique Business Identifier generated by TaxBandits after you create a business in your account using the Business endpoint. If you do not provide the BusinessId in the request, then the URL will be generated against the default business, i.e., the first business created in your account. |
TIN | String | Optional Taxpayer Identification Number. Use this as an alternate for BusinessId. (Values: EIN, SSN) Size Range: 9-11 |
Recipients | object[] | Collects the recipient's unique identifier and other basic information that will be pre-filled on the Form. |
PayeeRef | String | Optional A unique identifier for each recipient completing the Form W-9 for future references. Size Range: 1-50 |
Name | string | Name of the recipient. Size Range: ..40 |
string | Email Address of the recipient. This is the email address to which the W-9 request email will be sent. Size Range: ..100 | |
Address | object | Collects US address details of the recipient. |
Address1 | string | OptionalRecipient US Address 1 (street address or post office box of that locality). This will be pre-filled on the Form. Size Range: ..35 |
Address2 | string | OptionalRecipient US Address 2 (suite or apartment number). This will be pre-filled on the Form. Size Range: ..35 |
City | string | OptionalRecipient US City. This will be pre-filled on the Form. Size Range: ..27 |
State | string | OptionalRecipient US State Code. This will be pre-filled on the Form. 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 | OptionalRecipient Zip Code. In the format 99999 or 99999-9999. This will be pre-filled on the Form. Size Range: 5..10 |
Customization | object | Collects Business Logo for customization |
BusinessLogoUrl | string | OptionalBusiness Logo that will be displayed on the Form completion page. Size Range: ..150 |
Request JSON
- Sample 1
- Sample 2
- Sample 3
- Sample 4
- Sample 5
Pass the BusinessId, recipient’s name,email address and customizations. W-9 email requests will be triggered to recipients. (Make sure the Form W-9 Status Change Webhook is configured.)
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"PayerRef": null,
"TIN": null
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Allen Smith",
"Email": "allen.smith@abc.com",
"Address": {
"Address1": "1751 Kinsey Rd",
"Address2": "Main St",
"City": "Dothan",
"State": "AL",
"ZipCd": "36303"
}
}
],
"Customization": {
"BusinessLogoUrl": "https://www.spanenterprises.com/Content/Images/span.png"
}
}
Pass the BusinessId, recipient’s name, and email address. W-9 email requests will be triggered to recipients. (Make sure the Form W-9 Status Change Webhook is configured.)
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"TIN": "22-2222222",
"TINType": "EIN",
"PayerRef": "FJK123W",
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Allen Smith",
"Email": "sample@bodeem.com",
"Address": {
"Address1": "1751 Rd",
"Address2": "Main St",
"City": "Dothan",
"State": "AL",
"ZipCd": "36303"
}
}
]
}
Pass the Business TIN instead of BusinessId along with recipient information. (TIN must be associated with a business in the account.)
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": null,
"TIN": "22-2222222",
"TINType": "EIN",
"PayerRef": "FJK123W"
},
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Allen Smith",
"Email": "sample@bodeem.com",
"Address": {
"Address1": "1751 Rd",
"Address2": "Main St",
"City": "Dothan",
"State": "AL",
"ZipCd": "36303"
}
}
]
}
Pass just the recipient information without the Business (Requestor) details and request TIN Matching on the W-9 submissions. The recipients will be tied to the default business.
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": null,
"Recipients": [
{
"PayeeRef": "8987844654654654",
"Name": "Allen Smith",
"Email": "sample@bodeem.com",
"Address": {
"Address1": "1751 Rd",
"Address2": "Main St",
"City": "Dothan",
"State": "AL",
"ZipCd": "36303"
}
}
]
}
Pass the W-9 request with an invalid email address format.
{
"SubmissionManifest": {
"IsTINMatching": true
},
"Requester": {
"BusinessId": null,
"TIN": "22-2222222",
"TINType": "EIN",
"PayerRef": "FJK123W"
},
"Recipients": [
{
"PayeeRef": "8987844654654658",
"Name": "Allen Smith",
"Email": "allen.smith@abccom",
"Address": {
"Address1": "1751 Rd",
"Address2": "Main St",
"City": "Dothan",
"State": "AL",
"ZipCd": "36303"
}
}
]
}
Response Body
Field | Type | Description |
---|---|---|
SubmissionId | Guid | A unique identifier of a submission. |
Requester | Object | Requester information. |
BusinessId | Guid | A unique identifier of the business. |
BusinessNm | String | Requester Name. If the requester is a Business, then the Business Name will be returned. If the requester is an Individual, then the Payer’s full name will be returned. |
TINType | String | TIN Type of the Requester. |
TIN | String | Taxpayer Identification Number of the requester. |
FormW9Records | Object | Details of Form W-9 requests given in the request. |
SuccessRecords | Object[] | Recipients with no error in the request |
PayeeRef | String | Unique identifier of the recipient. |
String | Email Address of the recipient to which W-9 request was sent. | |
W9Status | String | Status of the W-9 |
StatusTs | String | Timestamp of the W-9 status |
ErrorRecords | Object | Details of the recipients with errors |
PayeeRef | String | A unique identifier of a recipient. |
String | Email Address of the recipient given in the request | |
Errors | object[] | Collection of errors for the recipient |
Id | string | Error ID number. This ID is assigned by TaxBandits and it is unique for each error. |
Name | string | Name of the errored node. |
Message | string | Shows the error message. |
Errors | object[] | Collection of errors in the request. Example :
|
Id | string | Error ID number. This ID is assigned by TaxBandits and it is unique for each error. |
Name | string | Name of the errored node. |
Message | string | Shows the error message. |
Response JSON
- Response 1
- Response 2
- Response 3
- Response 4
- Response 5
The response will contain the W-9 request for the recipient included in the submission with the customizations updated on the W-9 page. When a recipient submits the FORM W-9, the Form W-9 Status Change Webhook payload will include the W-9 data.
{
"SubmissionId": "54755d41-4883-4ae6-9bf5-48d8482b50a1",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"PayerRef": "aATT12",
"BusinessNm": "Express Solutions",
"TINType": "EIN",
"TIN": "00-7711148",
"DBAId": null,
"DBARef": null
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "1",
"Email": "allen.smith@abc.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2023-10-26 01:32:01 -04:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
A single submission contains W-9 requests to multiple recipients. All W-9s in this submission are linked to the same BusinessId. When a recipient submits the FORM W-9, the Form W-9 Status Change Webhook payload will include the W-9 data.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "8987844654654654",
"Email": "sample@bodeem.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2021-03-09 05:21:56 -05:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
All W-9s in this submission are linked to the same Business TIN. Upon W-9 submission, the Form W-9 Status Change Webhook payload will include the W-9 data.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "8987844654654654",
"Email": "sample@bodeem.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2021-03-09 05:21:56 -05:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
All W-9s in this submission are linked to the default business. The requestor information of default business is returned along with order details. Upon W-9 submission, the Form W-9 Status Change Webhook payload will include W-9 and TIN Matching statuses.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "William Enterprises",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": [
{
"PayeeRef": "8987844654654654",
"Email": "sample@bodeem.com",
"W9Status": "ORDER_CREATED",
"StatusTs": "2021-03-09 05:21:56 -05:00"
}
],
"ErrorRecords": null
},
"Errors": null
}
The order is not created, and an invalid email format error is returned in the ErrorRecords tag.
{
"SubmissionId": "5a7ddb71-a6ac-4312-ab09-7ad9a2b3507d",
"Requester": {
"BusinessId": "7746f0cd-e8eb-4428-9240-12ea84160ee8",
"BusinessNm": "Snowdaze LLC",
"TINType": "EIN",
"TIN": "22-2222222",
"PayerRef": "FJK123W"
},
"FormW9Records": {
"SuccessRecords": null,
"ErrorRecords": [
{
"PayeeRef": "8987844654654658",
"Email": "sample@bodeem.com",
"Errors": [
{
"Id": "F08-100022",
"Name": "Email",
"Message": "Invalid Email address."
}
]
}
]
},
"Errors": null
}