openapi: 3.1.0 info: title: Avalara 1099 & W-9 1099 Forms TaxContent API description: The Avalara 1099 and W-9 API automates collection, validation, and e-filing of IRS forms including 1099 variants (1099-NEC, 1099-MISC, 1099-K, 1099-INT, 1099-DIV), 1095 forms, W-2, and 1042-S. It provides endpoints for creating, updating, managing, and filing various IRS information returns. version: '1.0' contact: name: Avalara Developer Relations url: https://developer.avalara.com/ email: developer.relations@avalara.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 termsOfService: https://legal.avalara.com/#siteterms servers: - url: https://api.avalara.com/1099/v1 description: 1099 API Production - url: https://api.sbx.avalara.com/1099/v1 description: 1099 API Sandbox security: - bearerAuth: [] tags: - name: TaxContent paths: /api/v2/pointofsaledata/build: post: tags: - TaxContent summary: Avalara BuildTaxContentFile description: "Builds a tax content file containing information useful for a retail point-of-sale solution.\r\n \r\nSince tax rates may change based on decisions made by a variety of tax authorities, we recommend\r\nthat users of this tax content API download new data every day. Many tax authorities may finalize\r\ndecisions on tax changes at unexpected times and may make changes in response to legal issues or\r\ngovernmental priorities. Any tax content downloaded for future time periods is subject to change\r\nif tax rates or tax laws change.\r\n \r\nA TaxContent file contains a matrix of the taxes that would be charged when you sell any of your\r\nItems at any of your Locations. To create items, use `CreateItems()`. To create locations, use\r\n`CreateLocations()`. The file is built by looking up the tax profile for your location and your\r\nitem and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content\r\nfile, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code,\r\nthen use `CreateItems()` to create an item that uses the custom tax code.\r\n \r\nThis data file can be customized for specific partner devices and usage conditions.\r\n \r\nThe result of this API is the file you requested in the format you requested using the `responseType` field.\r\n \r\nThis API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content\r\nfile for a single location at a time, please use `BuildTaxContentFileForLocation`.\r\n \r\nNOTE: This API does not work for Tennessee tax holiday scenarios.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n* This API depends on the following active services:*Required* (all): AvaTaxPro.\n" requestBody: content: application/json: schema: type: object example: companyCode: DEFAULT documentDate: '2023-08-13' responseType: Json taxCodes: - P0000000 itemCodes: - TXINCL locationCodes: - DEFAULT includeJurisCodes: true parameters: - name: Content-Type in: header schema: type: string example: application/json - name: X-Avalara-Client in: header schema: type: string description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/). example: AvaTax Postman Collection responses: '200': description: Successful response content: application/json: {} /api/v2/companies/{companyId}/locations/{id}/pointofsaledata: get: tags: - TaxContent summary: Avalara BuildTaxContentFileForLocation description: "Builds a tax content file containing information useful for a retail point-of-sale solution.\r\n \r\nSince tax rates may change based on decisions made by a variety of tax authorities, we recommend\r\nthat users of this tax content API download new data every day. Many tax authorities may finalize\r\ndecisions on tax changes at unexpected times and may make changes in response to legal issues or\r\ngovernmental priorities. Any tax content downloaded for future time periods is subject to change\r\nif tax rates or tax laws change.\r\n \r\nA TaxContent file contains a matrix of the taxes that would be charged when you sell any of your\r\nItems at any of your Locations. To create items, use `CreateItems()`. To create locations, use\r\n`CreateLocations()`. The file is built by looking up the tax profile for your location and your\r\nitem and calculating taxes for each in turn. To include a custom `TaxCode` in this tax content\r\nfile, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code,\r\nthen use `CreateItems()` to create an item that uses the custom tax code.\r\n \r\nThis data file can be customized for specific partner devices and usage conditions.\r\n \r\nThe result of this API is the file you requested in the format you requested using the `responseType` field.\r\n \r\nThis API builds the file on demand, and is limited to files with no more than 7500 scenarios. To build a tax content\r\nfile for a multiple locations in a single file, please use `BuildTaxContentFile`.\r\n \r\nNOTE: This API does not work for Tennessee tax holiday scenarios.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n* This API depends on the following active services:*Required* (all): AvaTaxPro.\n" parameters: - name: X-Avalara-Client in: header schema: type: string description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/). example: AvaTax Postman Collection - name: companyId in: path schema: type: string required: true - name: id in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} /api/v2/taxratesbyzipcode/download/{date}: get: tags: - TaxContent summary: Avalara DownloadTaxRatesByZipCode description: "Download a CSV file containing all five digit postal codes in the United States and their sales\r\nand use tax rates for tangible personal property.\r\n \r\nSince tax rates may change based on decisions made by a variety of tax authorities, we recommend\r\nthat users of this tax content API download new data every day. Many tax authorities may finalize\r\ndecisions on tax changes at unexpected times and may make changes in response to legal issues or\r\ngovernmental priorities. Any tax content downloaded for future time periods is subject to change\r\nif tax rates or tax laws change.\r\n \r\nThis rates file is intended to be used as a default for tax calculation when your software cannot\r\ncall the `CreateTransaction` API call. When using this file, your software will be unable to\r\nhandle complex tax rules such as:\r\n \r\n* Zip+4 - This tax file contains five digit zip codes only.\r\n* Different product types - This tax file contains tangible personal property tax rates only.\r\n* Mixed sourcing - This tax file cannot be used to resolve origin-based taxes.\r\n* Threshold-based taxes - This tax file does not contain information about thresholds.\r\n \r\nIf you use this file to provide default tax rates, please ensure that your software calls `CreateTransaction`\r\nto reconcile the actual transaction and determine the difference between the estimated general tax\r\nrate and the final transaction tax.\r\n \r\nThe file provided by this API is in CSV format with the following columns:\r\n \r\n* ZIP_CODE - The five digit zip code for this record.\r\n* STATE_ABBREV - A valid two character US state abbreviation for this record. Zip codes may span multiple states.\r\n* COUNTY_NAME - A valid county name for this record. Zip codes may span multiple counties.\r\n* CITY_NAME - A valid city name for this record. Zip codes may span multiple cities.\r\n* STATE_SALES_TAX - The state component of the sales tax rate.\r\n* STATE_USE_TAX - The state component of the use tax rate.\r\n* COUNTY_SALES_TAX - The county component of the sales tax rate.\r\n* COUNTY_USE_TAX - The county component of the use tax rate.\r\n* CITY_SALES_TAX - The city component of the sales tax rate.\r\n* CITY_USE_TAX - The city component of the use tax rate.\r\n* TOTAL_SALES_TAX - The total tax rate for sales tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules.\r\n* TOTAL_USE_TAX - The total tax rate for use tax for this postal code. This value may not equal the sum of the state/county/city due to special tax jurisdiction rules.\r\n* TAX_SHIPPING_ALONE - This column contains 'Y' if shipping is taxable.\r\n* TAX_SHIPPING_AND_HANDLING_TOGETHER - This column contains 'Y' if shipping and handling are taxable when sent together.\r\n \r\nFor more detailed tax content, please use the `BuildTaxContentFile` API which allows usage of exact items and exact locations.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n" parameters: - name: X-Avalara-Client in: header schema: type: string description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/). example: AvaTax Postman Collection - name: date in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} /api/v2/taxrates/byaddress: get: tags: - TaxContent summary: Avalara TaxRatesByAddress description: "Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP\r\nresponse code 429 - `Too Many Requests`.\r\n \r\nThis API assumes that you are selling general tangible personal property at a retail point-of-sale\r\nlocation in the United States only.\r\n \r\nPlease be advised that this endpoint is designed for approximate tax rate estimation only and \r\nmay not yield precise results. For a more powerful and accurate tax estimation, upgrade to the \r\n`CreateTransaction` API, which offers a variety of advanced features including, but not limited\r\nto:\r\n \r\n* Nexus declarations\r\n* Taxability based on product/service type\r\n* Sourcing rules affecting origin/destination states\r\n* Customers who are exempt from certain taxes\r\n* States that have dollar value thresholds for tax amounts\r\n* Refunds for products purchased on a different date\r\n* Detailed jurisdiction names and state assigned codes\r\n* And more!\r\n \r\nPlease see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)\r\nfor information on how to upgrade to the full AvaTax CreateTransaction API." parameters: - name: X-Avalara-Client in: header schema: type: string description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/). example: AvaTax Postman Collection responses: '200': description: Successful response content: application/json: {} /api/v2/taxrates/bypostalcode: get: tags: - TaxContent summary: Avalara TaxRatesByPostalCode description: "This API is only available for a US postal codes.\r\n \r\nUsage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP\r\nresponse code 429 - `Too Many Requests`.\r\n \r\nThis API assumes that you are selling general tangible personal property at a retail point-of-sale\r\nlocation in the United States only.\r\n \r\nPlease be advised that this endpoint is designed for approximate tax rate estimation only and \r\nmay not yield precise results. For a more powerful and accurate tax estimation, upgrade to the \r\n`CreateTransaction` API, which offers a variety of advanced features including, but not limited\r\nto:\r\n \r\n* Nexus declarations\r\n* Taxability based on product/service type\r\n* Sourcing rules affecting origin/destination states\r\n* Customers who are exempt from certain taxes\r\n* States that have dollar value thresholds for tax amounts\r\n* Refunds for products purchased on a different date\r\n* Detailed jurisdiction names and state assigned codes\r\n* And more!\r\n \r\nPlease see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)\r\nfor information on how to upgrade to the full AvaTax CreateTransaction API." parameters: - name: X-Avalara-Client in: header schema: type: string description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/). example: AvaTax Postman Collection responses: '200': description: Successful response content: application/json: {} components: securitySchemes: bearerAuth: type: http scheme: bearer description: OAuth 2.0 bearer token externalDocs: description: 1099 & W-9 API Documentation url: https://developer.avalara.com/api-reference/avalara1099/avalara1099/