diff --git a/Avalara/SDK/api/A1099/V2/companies_w9_api.py b/Avalara/SDK/api/A1099/V2/companies_w9_api.py index fb89a5c..9366870 100644 --- a/Avalara/SDK/api/A1099/V2/companies_w9_api.py +++ b/Avalara/SDK/api/A1099/V2/companies_w9_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -60,7 +60,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.create_company_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/A1099/V2/forms1099_api.py b/Avalara/SDK/api/A1099/V2/forms1099_api.py index 7caf31e..57426d5 100644 --- a/Avalara/SDK/api/A1099/V2/forms1099_api.py +++ b/Avalara/SDK/api/A1099/V2/forms1099_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -61,7 +61,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.bulk_upsert1099_forms_endpoint = _Endpoint( @@ -610,7 +610,7 @@ def bulk_upsert1099_forms( ): """Create or update multiple 1099/1095/W2/1042S forms # noqa: E501 - This endpoint allows you to create or update multiple 1099/1095/W2/1042S forms. Maximum of 5000 forms can be processed in a single bulk request. **Date Scheduling Rules:** If federalEfileDate, stateEfileDate, or recipientEdeliveryDate are between current date and beginning of blackout period, scheduled to that date. If dates are in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. StateEfileDate must be on or after federalEfileDate. Set dates to null to leave unscheduled. # noqa: E501 + This endpoint allows you to create or update multiple 1099/1095/W2/1042S forms. Maximum of 5000 forms can be processed in a single bulk request. **Date Scheduling Rules:** If federalEfileDate, stateEfileDate, or recipientEdeliveryDate are between current date and beginning of blackout period, scheduled to that date. If dates are in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. StateEfileDate must be on or after federalEfileDate. Set dates to null to leave unscheduled. **Recipient Name Splitting:** When the account's \"Split individual recipient names\" opt-in setting is enabled (Account Settings page), this only applies to the deprecated identifier-format tinType values (SSN/ITIN/ATIN/EIN): - For the deprecated individual-type values (SSN/ITIN/ATIN) where only the legacy `recipientName` is provided, the API automatically splits `recipientName` into `firstName`, `middleName`, `lastName`, and `suffixName` before persisting. - For the deprecated `EIN` value, `recipientName` is not split and is routed directly to `businessName`. To enable or disable this behavior, the account owner can toggle \"Split individual recipient names on API submissions\" on the Account Settings page. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True diff --git a/Avalara/SDK/api/A1099/V2/forms_w9_api.py b/Avalara/SDK/api/A1099/V2/forms_w9_api.py index 2d76124..51a14da 100644 --- a/Avalara/SDK/api/A1099/V2/forms_w9_api.py +++ b/Avalara/SDK/api/A1099/V2/forms_w9_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -61,7 +61,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.create_and_send_w9_form_email_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/A1099/V2/issuers1099_api.py b/Avalara/SDK/api/A1099/V2/issuers1099_api.py index 0f37e09..00d4b2c 100644 --- a/Avalara/SDK/api/A1099/V2/issuers1099_api.py +++ b/Avalara/SDK/api/A1099/V2/issuers1099_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -61,7 +61,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.create_issuer_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/A1099/V2/jobs_api.py b/Avalara/SDK/api/A1099/V2/jobs_api.py index 750fb60..9e804f5 100644 --- a/Avalara/SDK/api/A1099/V2/jobs_api.py +++ b/Avalara/SDK/api/A1099/V2/jobs_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -58,7 +58,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.get_job_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/A1099/V2/tin_matches_api.py b/Avalara/SDK/api/A1099/V2/tin_matches_api.py index 5f3555b..02cf494 100644 --- a/Avalara/SDK/api/A1099/V2/tin_matches_api.py +++ b/Avalara/SDK/api/A1099/V2/tin_matches_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -40,9 +40,13 @@ none_type, validate_and_convert_types ) -from pydantic import Field, StrictStr +from pydantic import Field, StrictBool, StrictInt, StrictStr from typing import Optional from typing_extensions import Annotated +from Avalara.SDK.models.A1099.V2.bulk_tin_match_accepted_response import BulkTinMatchAcceptedResponse +from Avalara.SDK.models.A1099.V2.bulk_tin_match_request import BulkTinMatchRequest +from Avalara.SDK.models.A1099.V2.bulk_tin_match_response import BulkTinMatchResponse +from Avalara.SDK.models.A1099.V2.paginated_query_result_model_bulk_tin_match_result_item_response import PaginatedQueryResultModelBulkTinMatchResultItemResponse from Avalara.SDK.models.A1099.V2.real_time_tin_match_request import RealTimeTinMatchRequest from Avalara.SDK.models.A1099.V2.real_time_tin_match_response import RealTimeTinMatchResponse from Avalara.SDK.exceptions import ApiTypeError, ApiValueError, ApiException @@ -59,9 +63,179 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client + self.get_bulk_tin_match_endpoint = _Endpoint( + settings={ + 'response_type': (BulkTinMatchResponse,), + 'auth': [ + 'bearer' + ], + 'endpoint_path': '/tin-matches/$bulk/{id}', + 'operation_id': 'get_bulk_tin_match', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'avalara_version', + 'x_correlation_id', + 'x_avalara_client', + ], + 'required': [ + 'id', + 'avalara_version', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'avalara_version': + (str,), + 'x_correlation_id': + (str,), + 'x_avalara_client': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'avalara_version': 'avalara-version', + 'x_correlation_id': 'X-Correlation-Id', + 'x_avalara_client': 'X-Avalara-Client', + }, + 'location_map': { + 'id': 'path', + 'avalara_version': 'header', + 'x_correlation_id': 'header', + 'x_avalara_client': 'header', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'avalara-version': '2.0', + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client, + required_scopes='', + microservice='A1099' + ) + self.get_bulk_tin_match_results_endpoint = _Endpoint( + settings={ + 'response_type': (PaginatedQueryResultModelBulkTinMatchResultItemResponse,), + 'auth': [ + 'bearer' + ], + 'endpoint_path': '/tin-matches/$bulk/{id}/results', + 'operation_id': 'get_bulk_tin_match_results', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'avalara_version', + 'filter', + 'top', + 'skip', + 'order_by', + 'count', + 'count_only', + 'x_correlation_id', + 'x_avalara_client', + ], + 'required': [ + 'id', + 'avalara_version', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'avalara_version': + (str,), + 'filter': + (str,), + 'top': + (int,), + 'skip': + (int,), + 'order_by': + (str,), + 'count': + (bool,), + 'count_only': + (bool,), + 'x_correlation_id': + (str,), + 'x_avalara_client': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'avalara_version': 'avalara-version', + 'filter': '$filter', + 'top': '$top', + 'skip': '$skip', + 'order_by': '$orderBy', + 'count': 'count', + 'count_only': 'countOnly', + 'x_correlation_id': 'X-Correlation-Id', + 'x_avalara_client': 'X-Avalara-Client', + }, + 'location_map': { + 'id': 'path', + 'avalara_version': 'header', + 'filter': 'query', + 'top': 'query', + 'skip': 'query', + 'order_by': 'query', + 'count': 'query', + 'count_only': 'query', + 'x_correlation_id': 'header', + 'x_avalara_client': 'header', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'avalara-version': '2.0', + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client, + required_scopes='', + microservice='A1099' + ) self.perform_real_time_tin_match_endpoint = _Endpoint( settings={ 'response_type': (RealTimeTinMatchResponse,), @@ -134,6 +308,226 @@ def __set_configuration(self, api_client): required_scopes='', microservice='A1099' ) + self.submit_bulk_tin_match_endpoint = _Endpoint( + settings={ + 'response_type': (BulkTinMatchAcceptedResponse,), + 'auth': [ + 'bearer' + ], + 'endpoint_path': '/tin-matches/$bulk', + 'operation_id': 'submit_bulk_tin_match', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'avalara_version', + 'x_correlation_id', + 'x_avalara_client', + 'bulk_tin_match_request', + ], + 'required': [ + 'avalara_version', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'avalara_version': + (str,), + 'x_correlation_id': + (str,), + 'x_avalara_client': + (str,), + 'bulk_tin_match_request': + (BulkTinMatchRequest,), + }, + 'attribute_map': { + 'avalara_version': 'avalara-version', + 'x_correlation_id': 'X-Correlation-Id', + 'x_avalara_client': 'X-Avalara-Client', + }, + 'location_map': { + 'avalara_version': 'header', + 'x_correlation_id': 'header', + 'x_avalara_client': 'header', + 'bulk_tin_match_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'avalara-version': '2.0', + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json', + 'text/json', + 'application/*+json' + ] + }, + api_client=api_client, + required_scopes='', + microservice='A1099' + ) + + @avalara_retry_oauth(max_retry_attempts=2) + def get_bulk_tin_match( + self, + id, + avalara_version, + **kwargs + ): + """Get bulk TIN match details # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_bulk_tin_match(id, avalara_version, async_req=True) + >>> result = thread.get() + + Args: + id (str): The bulk ID + avalara_version (str): API version + + Keyword Args: + x_correlation_id (str): Unique correlation Id in a GUID format. [optional] + x_avalara_client (str): 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/) .. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + async_req (bool): execute request asynchronously + + Returns: + BulkTinMatchResponse + If the method is called asynchronously, returns the request + thread. + """ + self.__verify_api_client(self.api_client) + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['id'] = id + kwargs['avalara_version'] = avalara_version + return self.get_bulk_tin_match_endpoint.call_with_http_info(**kwargs) + + @avalara_retry_oauth(max_retry_attempts=2) + def get_bulk_tin_match_results( + self, + id, + avalara_version, + **kwargs + ): + """List bulk TIN match results # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_bulk_tin_match_results(id, avalara_version, async_req=True) + >>> result = thread.get() + + Args: + id (str): The bulk ID + avalara_version (str): API version + + Keyword Args: + filter (str): A filter statement to identify specific records to retrieve. For more information on filtering, see Filtering in REST.. [optional] + top (int): If zero or greater than 1000, return at most 1000 results. Otherwise, return this number of results. Used with skip to provide pagination for large datasets.. [optional] + skip (int): If nonzero, skip this number of results before returning data. Used with top to provide pagination for large datasets.. [optional] + order_by (str): A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC.. [optional] + count (bool): If true, return the global count of elements in the collection.. [optional] + count_only (bool): If true, return ONLY the global count of elements in the collection. It only applies when count=true.. [optional] + x_correlation_id (str): Unique correlation Id in a GUID format. [optional] + x_avalara_client (str): 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/) .. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + async_req (bool): execute request asynchronously + + Returns: + PaginatedQueryResultModelBulkTinMatchResultItemResponse + If the method is called asynchronously, returns the request + thread. + """ + self.__verify_api_client(self.api_client) + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['id'] = id + kwargs['avalara_version'] = avalara_version + return self.get_bulk_tin_match_results_endpoint.call_with_http_info(**kwargs) @avalara_retry_oauth(max_retry_attempts=2) def perform_real_time_tin_match( @@ -205,3 +599,72 @@ def perform_real_time_tin_match( kwargs['avalara_version'] = avalara_version return self.perform_real_time_tin_match_endpoint.call_with_http_info(**kwargs) + @avalara_retry_oauth(max_retry_attempts=2) + def submit_bulk_tin_match( + self, + avalara_version, + **kwargs + ): + """Submit bulk TIN match # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.submit_bulk_tin_match(avalara_version, async_req=True) + >>> result = thread.get() + + Args: + avalara_version (str): API version + + Keyword Args: + x_correlation_id (str): Unique correlation Id in a GUID format. [optional] + x_avalara_client (str): 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/) .. [optional] + bulk_tin_match_request (BulkTinMatchRequest): Required TIN collection to perform bulk TIN match. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + async_req (bool): execute request asynchronously + + Returns: + BulkTinMatchAcceptedResponse + If the method is called asynchronously, returns the request + thread. + """ + self.__verify_api_client(self.api_client) + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['avalara_version'] = avalara_version + return self.submit_bulk_tin_match_endpoint.call_with_http_info(**kwargs) + diff --git a/Avalara/SDK/api/EInvoicing/V1/code_lists_api.py b/Avalara/SDK/api/EInvoicing/V1/code_lists_api.py index 6c62763..7c74c21 100644 --- a/Avalara/SDK/api/EInvoicing/V1/code_lists_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/code_lists_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -60,7 +60,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.get_code_list_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/data_input_fields_api.py b/Avalara/SDK/api/EInvoicing/V1/data_input_fields_api.py index b1cc716..2899ca0 100644 --- a/Avalara/SDK/api/EInvoicing/V1/data_input_fields_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/data_input_fields_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -58,7 +58,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.get_data_input_fields_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/documents_api.py b/Avalara/SDK/api/EInvoicing/V1/documents_api.py index 8361a9d..4241799 100644 --- a/Avalara/SDK/api/EInvoicing/V1/documents_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/documents_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -64,7 +64,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.download_document_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/interop_api.py b/Avalara/SDK/api/EInvoicing/V1/interop_api.py index 5b723c8..09b10bf 100644 --- a/Avalara/SDK/api/EInvoicing/V1/interop_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/interop_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -58,7 +58,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.submit_interop_document_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/mandates_api.py b/Avalara/SDK/api/EInvoicing/V1/mandates_api.py index 2e7571c..f5de4db 100644 --- a/Avalara/SDK/api/EInvoicing/V1/mandates_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/mandates_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -59,7 +59,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.get_mandate_data_input_fields_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/reports_api.py b/Avalara/SDK/api/EInvoicing/V1/reports_api.py index f54e734..bffb38f 100644 --- a/Avalara/SDK/api/EInvoicing/V1/reports_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/reports_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -60,7 +60,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.download_report_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/subscriptions_api.py b/Avalara/SDK/api/EInvoicing/V1/subscriptions_api.py index 3242597..98d3eaf 100644 --- a/Avalara/SDK/api/EInvoicing/V1/subscriptions_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/subscriptions_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -61,7 +61,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.create_webhook_subscription_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/tax_identifiers_api.py b/Avalara/SDK/api/EInvoicing/V1/tax_identifiers_api.py index 33bc20e..ca9415b 100644 --- a/Avalara/SDK/api/EInvoicing/V1/tax_identifiers_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/tax_identifiers_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -60,7 +60,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.tax_identifier_schema_by_country_endpoint = _Endpoint( diff --git a/Avalara/SDK/api/EInvoicing/V1/trading_partners_api.py b/Avalara/SDK/api/EInvoicing/V1/trading_partners_api.py index 90a973e..a4c6697 100644 --- a/Avalara/SDK/api/EInvoicing/V1/trading_partners_api.py +++ b/Avalara/SDK/api/EInvoicing/V1/trading_partners_api.py @@ -22,7 +22,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -66,7 +66,7 @@ def __verify_api_client(self,api_client): def __set_configuration(self, api_client): self.__verify_api_client(api_client) - api_client.set_sdk_version("26.9.0") + api_client.set_sdk_version("26.9.1") self.api_client = api_client self.batch_search_participants_endpoint = _Endpoint( diff --git a/Avalara/SDK/models/A1099/V2/bulk_tin_match_accepted_response.py b/Avalara/SDK/models/A1099/V2/bulk_tin_match_accepted_response.py new file mode 100644 index 0000000..b93764e --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/bulk_tin_match_accepted_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class BulkTinMatchAcceptedResponse(BaseModel): + """ + BulkTinMatchAcceptedResponse + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The bulk identifier required to get the results.") + __properties: ClassVar[List[str]] = ["id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkTinMatchAcceptedResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkTinMatchAcceptedResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id") + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/bulk_tin_match_irs_response.py b/Avalara/SDK/models/A1099/V2/bulk_tin_match_irs_response.py new file mode 100644 index 0000000..8161e95 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/bulk_tin_match_irs_response.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class BulkTinMatchIrsResponse(BaseModel): + """ + BulkTinMatchIrsResponse + """ # noqa: E501 + code: Optional[StrictStr] = None + description: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["code", "description"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkTinMatchIrsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkTinMatchIrsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code"), + "description": obj.get("description") + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/bulk_tin_match_request.py b/Avalara/SDK/models/A1099/V2/bulk_tin_match_request.py new file mode 100644 index 0000000..c390cf5 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/bulk_tin_match_request.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from Avalara.SDK.models.A1099.V2.bulk_tin_match_request_item import BulkTinMatchRequestItem +from typing import Optional, Set +from typing_extensions import Self + +class BulkTinMatchRequest(BaseModel): + """ + BulkTinMatchRequest + """ # noqa: E501 + items: Optional[List[BulkTinMatchRequestItem]] = Field(default=None, description="Collection of TINs to be submitted to TIN match.") + __properties: ClassVar[List[str]] = ["items"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkTinMatchRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in items (list) + _items = [] + if self.items: + for _item in self.items: + if _item: + _items.append(_item.to_dict()) + _dict['items'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkTinMatchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "items": [BulkTinMatchRequestItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/bulk_tin_match_request_item.py b/Avalara/SDK/models/A1099/V2/bulk_tin_match_request_item.py new file mode 100644 index 0000000..30394e9 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/bulk_tin_match_request_item.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class BulkTinMatchRequestItem(BaseModel): + """ + BulkTinMatchRequestItem + """ # noqa: E501 + tin_type: Optional[StrictStr] = Field(default=None, description="The TIN type.", alias="tinType") + tin: Optional[StrictStr] = Field(default=None, description="The TIN to be submitted to TIN match.") + name: Optional[StrictStr] = Field(default=None, description="The entity name to be submitted to TIN match.") + reference_id: Optional[StrictStr] = Field(default=None, description="The reference identifier for the TIN to be submitted.", alias="referenceId") + __properties: ClassVar[List[str]] = ["tinType", "tin", "name", "referenceId"] + + @field_validator('tin_type') + def tin_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Business', 'Individual', 'Unknown']): + raise ValueError("must be one of enum values ('Business', 'Individual', 'Unknown')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkTinMatchRequestItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkTinMatchRequestItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tinType": obj.get("tinType"), + "tin": obj.get("tin"), + "name": obj.get("name"), + "referenceId": obj.get("referenceId") + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/bulk_tin_match_response.py b/Avalara/SDK/models/A1099/V2/bulk_tin_match_response.py new file mode 100644 index 0000000..4022d30 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/bulk_tin_match_response.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class BulkTinMatchResponse(BaseModel): + """ + BulkTinMatchResponse + """ # noqa: E501 + id: Optional[StrictStr] = None + status: Optional[StrictStr] = None + created_at: Optional[datetime] = Field(default=None, alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, alias="updatedAt") + results_url: Optional[StrictStr] = Field(default=None, alias="resultsUrl") + __properties: ClassVar[List[str]] = ["id", "status", "createdAt", "updatedAt", "resultsUrl"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkTinMatchResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkTinMatchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "status": obj.get("status"), + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "resultsUrl": obj.get("resultsUrl") + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/bulk_tin_match_result_item_response.py b/Avalara/SDK/models/A1099/V2/bulk_tin_match_result_item_response.py new file mode 100644 index 0000000..c503fe2 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/bulk_tin_match_result_item_response.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from Avalara.SDK.models.A1099.V2.bulk_tin_match_irs_response import BulkTinMatchIrsResponse +from typing import Optional, Set +from typing_extensions import Self + +class BulkTinMatchResultItemResponse(BaseModel): + """ + BulkTinMatchResultItemResponse + """ # noqa: E501 + status: Optional[StrictStr] = None + irs_response: Optional[BulkTinMatchIrsResponse] = Field(default=None, alias="irsResponse") + reference_id: Optional[StrictStr] = Field(default=None, alias="referenceId") + __properties: ClassVar[List[str]] = ["status", "irsResponse", "referenceId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkTinMatchResultItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of irs_response + if self.irs_response: + _dict['irsResponse'] = self.irs_response.to_dict() + # set to None if irs_response (nullable) is None + # and model_fields_set contains the field + if self.irs_response is None and "irs_response" in self.model_fields_set: + _dict['irsResponse'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkTinMatchResultItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "status": obj.get("status"), + "irsResponse": BulkTinMatchIrsResponse.from_dict(obj["irsResponse"]) if obj.get("irsResponse") is not None else None, + "referenceId": obj.get("referenceId") + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/company_request.py b/Avalara/SDK/models/A1099/V2/company_request.py index 7d5357e..8f75b38 100644 --- a/Avalara/SDK/models/A1099/V2/company_request.py +++ b/Avalara/SDK/models/A1099/V2/company_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/company_response.py b/Avalara/SDK/models/A1099/V2/company_response.py index a14ae8c..00d5d86 100644 --- a/Avalara/SDK/models/A1099/V2/company_response.py +++ b/Avalara/SDK/models/A1099/V2/company_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/covered_individual.py b/Avalara/SDK/models/A1099/V2/covered_individual.py index 47c4e0c..554d3c2 100644 --- a/Avalara/SDK/models/A1099/V2/covered_individual.py +++ b/Avalara/SDK/models/A1099/V2/covered_individual.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/create_and_send_w9_form_email_request.py b/Avalara/SDK/models/A1099/V2/create_and_send_w9_form_email_request.py index 44614c8..ef32f46 100644 --- a/Avalara/SDK/models/A1099/V2/create_and_send_w9_form_email_request.py +++ b/Avalara/SDK/models/A1099/V2/create_and_send_w9_form_email_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/create_w9_form201_response.py b/Avalara/SDK/models/A1099/V2/create_w9_form201_response.py index ed0cb1c..3e503f5 100644 --- a/Avalara/SDK/models/A1099/V2/create_w9_form201_response.py +++ b/Avalara/SDK/models/A1099/V2/create_w9_form201_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/create_w9_form_request.py b/Avalara/SDK/models/A1099/V2/create_w9_form_request.py index 2f2d45c..14f08b9 100644 --- a/Avalara/SDK/models/A1099/V2/create_w9_form_request.py +++ b/Avalara/SDK/models/A1099/V2/create_w9_form_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/entry_status_response.py b/Avalara/SDK/models/A1099/V2/entry_status_response.py index ab3f282..c9ee5b8 100644 --- a/Avalara/SDK/models/A1099/V2/entry_status_response.py +++ b/Avalara/SDK/models/A1099/V2/entry_status_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/error_response.py b/Avalara/SDK/models/A1099/V2/error_response.py index 899fc32..321ef9d 100644 --- a/Avalara/SDK/models/A1099/V2/error_response.py +++ b/Avalara/SDK/models/A1099/V2/error_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/error_response_item.py b/Avalara/SDK/models/A1099/V2/error_response_item.py index b54b4dc..047cedf 100644 --- a/Avalara/SDK/models/A1099/V2/error_response_item.py +++ b/Avalara/SDK/models/A1099/V2/error_response_item.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/form1042_s.py b/Avalara/SDK/models/A1099/V2/form1042_s.py index 406a1ab..1927080 100644 --- a/Avalara/SDK/models/A1099/V2/form1042_s.py +++ b/Avalara/SDK/models/A1099/V2/form1042_s.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -204,8 +204,8 @@ def chap4_status_code_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1095_b.py b/Avalara/SDK/models/A1099/V2/form1095_b.py index 1ad878f..112d62b 100644 --- a/Avalara/SDK/models/A1099/V2/form1095_b.py +++ b/Avalara/SDK/models/A1099/V2/form1095_b.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -105,8 +105,8 @@ def origin_of_health_coverage_code_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value model_config = ConfigDict( diff --git a/Avalara/SDK/models/A1099/V2/form1095_c.py b/Avalara/SDK/models/A1099/V2/form1095_c.py index 7a45a51..da7cafa 100644 --- a/Avalara/SDK/models/A1099/V2/form1095_c.py +++ b/Avalara/SDK/models/A1099/V2/form1095_c.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -108,8 +108,8 @@ def plan_start_month_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value model_config = ConfigDict( diff --git a/Avalara/SDK/models/A1099/V2/form1098.py b/Avalara/SDK/models/A1099/V2/form1098.py new file mode 100644 index 0000000..75a39d7 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/form1098.py @@ -0,0 +1,499 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from Avalara.SDK.models.A1099.V2.form1099_status_detail import Form1099StatusDetail +from Avalara.SDK.models.A1099.V2.state_and_local_withholding import StateAndLocalWithholding +from Avalara.SDK.models.A1099.V2.state_efile_status_detail import StateEfileStatusDetail +from Avalara.SDK.models.A1099.V2.validation_error import ValidationError +from typing import Optional, Set +from typing_extensions import Self + +class Form1098(BaseModel): + """ + Form 1098: Mortgage Interest Statement The recipient is the borrower and the issuer is the lender, with one form per mortgage. *Required:* Mortgage Interest Received unless Other is given (otherwise at least one amount must be above zero), and exactly one of Address or Description of Property and the same-address indicator. Limits: Address or Description of Property and Other, 39 characters each; Mortgage Origination Date, at most 45 years before the tax year; Mortgage Acquisition Date, within the tax year; Number of Properties, 2 to 9999 (empty for one). Form 1098 has no state or local boxes, so `stateAndLocalWithholding` is discarded and reads back as `null`. + """ # noqa: E501 + mortgage_interest_received: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Mortgage interest received from payer(s)/borrower(s)", alias="mortgageInterestReceived") + outstanding_mortgage_principal: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Outstanding mortgage principal", alias="outstandingMortgagePrincipal") + mortgage_origination_date: Optional[date] = Field(default=None, description="Mortgage origination date", alias="mortgageOriginationDate") + refund_of_overpaid_interest: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Refund of overpaid interest", alias="refundOfOverpaidInterest") + mortgage_insurance_premiums: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Mortgage insurance premiums", alias="mortgageInsurancePremiums") + points_paid_on_purchase_of_principal_residence: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Points paid on purchase of principal residence", alias="pointsPaidOnPurchaseOfPrincipalResidence") + property_address_same_as_borrower_indicator: Optional[StrictBool] = Field(default=None, description="If checked, the property securing the mortgage is at the borrower's address", alias="propertyAddressSameAsBorrowerIndicator") + property_address_or_description: Optional[StrictStr] = Field(default=None, description="Address or description of property securing mortgage (up to 39 characters)", alias="propertyAddressOrDescription") + number_of_properties_securing_mortgage: Optional[StrictInt] = Field(default=None, description="Number of properties securing the mortgage, if more than one", alias="numberOfPropertiesSecuringMortgage") + other_information: Optional[StrictStr] = Field(default=None, description="Other (up to 39 characters), such as real estate taxes or insurance paid from escrow", alias="otherInformation") + mortgage_acquisition_date: Optional[date] = Field(default=None, description="Mortgage acquisition date, if the mortgage was acquired during the tax year", alias="mortgageAcquisitionDate") + type: StrictStr = Field(description="Form type.") + id: Optional[StrictStr] = Field(default=None, description="Form ID. Unique identifier set when the record is created.") + issuer_id: Optional[StrictStr] = Field(default=None, description="Issuer ID - only required when creating forms", alias="issuerId") + issuer_reference_id: Optional[StrictStr] = Field(default=None, description="Issuer Reference ID - only required when creating forms via $bulk-upsert", alias="issuerReferenceId") + issuer_tin: Optional[StrictStr] = Field(default=None, description="Issuer TIN - readonly", alias="issuerTin") + tax_year: Optional[StrictInt] = Field(default=None, description="Tax Year - only required when creating forms via $bulk-upsert", alias="taxYear") + reference_id: Optional[StrictStr] = Field(default=None, description="Internal reference ID. Never shown to any agency or recipient.", alias="referenceId") + tin: Optional[StrictStr] = Field(default=None, description="Recipient's Federal Tax Identification Number (TIN).") + recipient_name: Optional[StrictStr] = Field(default=None, description="DEPRECATED: Use `businessName` for businesses; use `firstName`, `middleName`, `lastName`, and `suffixName` for individuals.", alias="recipientName") + address: Optional[StrictStr] = Field(description="Address.") + address2: Optional[StrictStr] = Field(default=None, description="Address line 2.") + city: Optional[StrictStr] = Field(description="City.") + state: Optional[StrictStr] = Field(default=None, description="Two-letter US state or Canadian province code (required for US/CA addresses).") + zip: Optional[StrictStr] = Field(default=None, description="ZIP/postal code.") + email: Optional[StrictStr] = Field(default=None, description="Recipient's Contact email address.") + non_us_province: Optional[StrictStr] = Field(default=None, description="Province or region for non-US/CA addresses.", alias="nonUsProvince") + country_code: Optional[StrictStr] = Field(description="Two-letter IRS country code (e.g., 'US', 'CA'), as defined at https://www.irs.gov/e-file-providers/country-codes.", alias="countryCode") + federal_efile_date: Optional[date] = Field(default=None, description="Date when federal e-filing should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="federalEfileDate") + postal_mail: Optional[StrictBool] = Field(default=None, description="Boolean indicating that postal mailing to the recipient should be scheduled for this form", alias="postalMail") + state_efile_date: Optional[date] = Field(default=None, description="Date when state e-filing should be scheduled. Must be on or after federalEfileDate. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="stateEfileDate") + recipient_edelivery_date: Optional[date] = Field(default=None, description="Date when recipient e-delivery should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="recipientEdeliveryDate") + tin_match: Optional[StrictBool] = Field(default=None, description="Boolean indicating that TIN Matching should be scheduled for this form", alias="tinMatch") + address_verification: Optional[StrictBool] = Field(default=None, description="Boolean indicating that address verification should be scheduled for this form", alias="addressVerification") + state_and_local_withholding: Optional[StateAndLocalWithholding] = Field(default=None, description="State and local withholding information", alias="stateAndLocalWithholding") + federal_efile_status: Optional[Form1099StatusDetail] = Field(default=None, description="Federal e-file status. Available values: - unscheduled: Form has not been scheduled for federal e-filing - scheduled: Form is scheduled for federal e-filing - airlock: Form is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - sent: Form has been sent to the IRS - accepted: Form was accepted by the IRS - corrected_scheduled: Correction is scheduled to be sent - corrected_airlock: Correction is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - corrected: A correction has been sent to the IRS - corrected_accepted: Correction was accepted by the IRS - rejected: Form was rejected by the IRS - corrected_rejected: Correction was rejected by the IRS - held: Form is held and will not be submitted to IRS (used for certain forms submitted only to states)", alias="federalEfileStatus") + state_efile_status: Optional[List[StateEfileStatusDetail]] = Field(default=None, description="State e-file status. Available values: - unscheduled: Form has not been scheduled for state e-filing - scheduled: Form is scheduled for state e-filing - airlocked: Form is in process of being uploaded to the state - sent: Form has been sent to the state - rejected: Form was rejected by the state - accepted: Form was accepted by the state - corrected_scheduled: Correction is scheduled to be sent - corrected_airlocked: Correction is in process of being uploaded to the state - corrected_sent: Correction has been sent to the state - corrected_rejected: Correction was rejected by the state - corrected_accepted: Correction was accepted by the state", alias="stateEfileStatus") + postal_mail_status: Optional[Form1099StatusDetail] = Field(default=None, description="Postal mail to recipient status. Available values: - unscheduled: Postal mail has not been scheduled - pending: Postal mail is pending to be sent - sent: Postal mail has been sent - delivered: Postal mail has been delivered", alias="postalMailStatus") + tin_match_status: Optional[Form1099StatusDetail] = Field(default=None, description="TIN Match status. Available values: - none: TIN matching has not been performed - pending: TIN matching request is pending - matched: Name/TIN combination matches IRS records - unknown: TIN is missing, invalid, or request contains errors - rejected: Name/TIN combination does not match IRS records or TIN not currently issued", alias="tinMatchStatus") + address_verification_status: Optional[Form1099StatusDetail] = Field(default=None, description="Address verification status. Available values: - unknown: Address verification has not been checked - pending: Address verification is in progress - failed: Address verification failed - incomplete: Address verification is incomplete - unchanged: User declined address changes - verified: Address has been verified and accepted", alias="addressVerificationStatus") + e_delivery_status: Optional[Form1099StatusDetail] = Field(default=None, description="EDelivery status. Available values: - unscheduled: E-delivery has not been scheduled - scheduled: E-delivery is scheduled to be sent - sent: E-delivery has been sent to recipient - bounced: E-delivery bounced back (invalid email) - refused: E-delivery was refused by recipient - bad_verify: E-delivery failed verification - accepted: E-delivery was accepted by recipient - bad_verify_limit: E-delivery failed verification limit reached - second_delivery: Second e-delivery attempt - undelivered: E-delivery is undelivered (temporary state allowing resend)", alias="eDeliveryStatus") + validation_errors: Optional[List[ValidationError]] = Field(default=None, description="Validation errors", alias="validationErrors") + created_at: Optional[datetime] = Field(default=None, description="Date time when the record was created.", alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, description="Date time when the record was last updated.", alias="updatedAt") + tin_type: Optional[StrictStr] = Field(default=None, description="Recipient classification. The platform is transitioning from tax identifier classifications to recipient entity classifications. New values represent recipient entity types and should be preferred. Deprecated values represent identifier formats and remain supported for backward compatibility only. Available values: - INDIVIDUAL: Recipient is an individual - BUSINESS: Recipient is a business - UNKNOWN: Recipient classification is unknown - EIN: (Deprecated - use BUSINESS) Employer Identification Number - SSN: (Deprecated - use INDIVIDUAL) Social Security Number - ITIN: (Deprecated - use INDIVIDUAL) Individual Taxpayer Identification Number - ATIN: (Deprecated - use INDIVIDUAL) Adoption Taxpayer Identification Number", alias="tinType") + business_name: Optional[StrictStr] = Field(default=None, description="Business name. Required when the recipient of the form is a business; should only be used for businesses.", alias="businessName") + business_name2: Optional[StrictStr] = Field(default=None, description="Business name line 2. Should only be used for businesses.", alias="businessName2") + first_name: Optional[StrictStr] = Field(default=None, description="First name. Required when the recipient of the form is an individual; should only be used for individuals.", alias="firstName") + middle_name: Optional[StrictStr] = Field(default=None, description="Middle name. Should only be used for individuals.", alias="middleName") + last_name: Optional[StrictStr] = Field(default=None, description="Last name. Required when the recipient of the form is an individual; should only be used for individuals.", alias="lastName") + suffix_name: Optional[StrictStr] = Field(default=None, description="Suffix name. Should only be used for individuals.", alias="suffixName") + recipient_second_name: Optional[StrictStr] = Field(default=None, description="DEPRECATED: Use `businessName2` instead.", alias="recipientSecondName") + account_number: Optional[StrictStr] = Field(default=None, description="Account number", alias="accountNumber") + office_code: Optional[StrictStr] = Field(default=None, description="Office code", alias="officeCode") + no_tin: Optional[StrictBool] = Field(default=None, description="No TIN indicator", alias="noTin") + second_tin_notice: Optional[StrictBool] = Field(default=None, description="Second TIN notice", alias="secondTinNotice") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "issuerId", "issuerReferenceId", "issuerTin", "taxYear", "referenceId", "tin", "recipientName", "address", "address2", "city", "state", "zip", "email", "nonUsProvince", "countryCode", "federalEfileDate", "postalMail", "stateEfileDate", "recipientEdeliveryDate", "tinMatch", "addressVerification", "stateAndLocalWithholding", "federalEfileStatus", "stateEfileStatus", "postalMailStatus", "tinMatchStatus", "addressVerificationStatus", "eDeliveryStatus", "validationErrors", "createdAt", "updatedAt", "tinType", "businessName", "businessName2", "firstName", "middleName", "lastName", "suffixName", "recipientSecondName", "accountNumber", "officeCode", "noTin", "secondTinNotice"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") + return value + + @field_validator('tin_type') + def tin_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['EIN', 'SSN', 'ITIN', 'ATIN', 'INDIVIDUAL', 'BUSINESS', 'UNKNOWN']): + raise ValueError("must be one of enum values ('EIN', 'SSN', 'ITIN', 'ATIN', 'INDIVIDUAL', 'BUSINESS', 'UNKNOWN')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Form1098 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "id", + "federal_efile_status", + "state_efile_status", + "postal_mail_status", + "tin_match_status", + "address_verification_status", + "e_delivery_status", + "validation_errors", + "created_at", + "updated_at", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of state_and_local_withholding + if self.state_and_local_withholding: + _dict['stateAndLocalWithholding'] = self.state_and_local_withholding.to_dict() + # override the default output from pydantic by calling `to_dict()` of federal_efile_status + if self.federal_efile_status: + _dict['federalEfileStatus'] = self.federal_efile_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in state_efile_status (list) + _items = [] + if self.state_efile_status: + for _item in self.state_efile_status: + if _item: + _items.append(_item.to_dict()) + _dict['stateEfileStatus'] = _items + # override the default output from pydantic by calling `to_dict()` of postal_mail_status + if self.postal_mail_status: + _dict['postalMailStatus'] = self.postal_mail_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of tin_match_status + if self.tin_match_status: + _dict['tinMatchStatus'] = self.tin_match_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of address_verification_status + if self.address_verification_status: + _dict['addressVerificationStatus'] = self.address_verification_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of e_delivery_status + if self.e_delivery_status: + _dict['eDeliveryStatus'] = self.e_delivery_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in validation_errors (list) + _items = [] + if self.validation_errors: + for _item in self.validation_errors: + if _item: + _items.append(_item.to_dict()) + _dict['validationErrors'] = _items + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if issuer_id (nullable) is None + # and model_fields_set contains the field + if self.issuer_id is None and "issuer_id" in self.model_fields_set: + _dict['issuerId'] = None + + # set to None if issuer_reference_id (nullable) is None + # and model_fields_set contains the field + if self.issuer_reference_id is None and "issuer_reference_id" in self.model_fields_set: + _dict['issuerReferenceId'] = None + + # set to None if issuer_tin (nullable) is None + # and model_fields_set contains the field + if self.issuer_tin is None and "issuer_tin" in self.model_fields_set: + _dict['issuerTin'] = None + + # set to None if tax_year (nullable) is None + # and model_fields_set contains the field + if self.tax_year is None and "tax_year" in self.model_fields_set: + _dict['taxYear'] = None + + # set to None if reference_id (nullable) is None + # and model_fields_set contains the field + if self.reference_id is None and "reference_id" in self.model_fields_set: + _dict['referenceId'] = None + + # set to None if tin (nullable) is None + # and model_fields_set contains the field + if self.tin is None and "tin" in self.model_fields_set: + _dict['tin'] = None + + # set to None if recipient_name (nullable) is None + # and model_fields_set contains the field + if self.recipient_name is None and "recipient_name" in self.model_fields_set: + _dict['recipientName'] = None + + # set to None if address (nullable) is None + # and model_fields_set contains the field + if self.address is None and "address" in self.model_fields_set: + _dict['address'] = None + + # set to None if address2 (nullable) is None + # and model_fields_set contains the field + if self.address2 is None and "address2" in self.model_fields_set: + _dict['address2'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if state (nullable) is None + # and model_fields_set contains the field + if self.state is None and "state" in self.model_fields_set: + _dict['state'] = None + + # set to None if zip (nullable) is None + # and model_fields_set contains the field + if self.zip is None and "zip" in self.model_fields_set: + _dict['zip'] = None + + # set to None if email (nullable) is None + # and model_fields_set contains the field + if self.email is None and "email" in self.model_fields_set: + _dict['email'] = None + + # set to None if non_us_province (nullable) is None + # and model_fields_set contains the field + if self.non_us_province is None and "non_us_province" in self.model_fields_set: + _dict['nonUsProvince'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + + # set to None if federal_efile_date (nullable) is None + # and model_fields_set contains the field + if self.federal_efile_date is None and "federal_efile_date" in self.model_fields_set: + _dict['federalEfileDate'] = None + + # set to None if postal_mail (nullable) is None + # and model_fields_set contains the field + if self.postal_mail is None and "postal_mail" in self.model_fields_set: + _dict['postalMail'] = None + + # set to None if state_efile_date (nullable) is None + # and model_fields_set contains the field + if self.state_efile_date is None and "state_efile_date" in self.model_fields_set: + _dict['stateEfileDate'] = None + + # set to None if recipient_edelivery_date (nullable) is None + # and model_fields_set contains the field + if self.recipient_edelivery_date is None and "recipient_edelivery_date" in self.model_fields_set: + _dict['recipientEdeliveryDate'] = None + + # set to None if tin_match (nullable) is None + # and model_fields_set contains the field + if self.tin_match is None and "tin_match" in self.model_fields_set: + _dict['tinMatch'] = None + + # set to None if address_verification (nullable) is None + # and model_fields_set contains the field + if self.address_verification is None and "address_verification" in self.model_fields_set: + _dict['addressVerification'] = None + + # set to None if state_and_local_withholding (nullable) is None + # and model_fields_set contains the field + if self.state_and_local_withholding is None and "state_and_local_withholding" in self.model_fields_set: + _dict['stateAndLocalWithholding'] = None + + # set to None if federal_efile_status (nullable) is None + # and model_fields_set contains the field + if self.federal_efile_status is None and "federal_efile_status" in self.model_fields_set: + _dict['federalEfileStatus'] = None + + # set to None if state_efile_status (nullable) is None + # and model_fields_set contains the field + if self.state_efile_status is None and "state_efile_status" in self.model_fields_set: + _dict['stateEfileStatus'] = None + + # set to None if postal_mail_status (nullable) is None + # and model_fields_set contains the field + if self.postal_mail_status is None and "postal_mail_status" in self.model_fields_set: + _dict['postalMailStatus'] = None + + # set to None if tin_match_status (nullable) is None + # and model_fields_set contains the field + if self.tin_match_status is None and "tin_match_status" in self.model_fields_set: + _dict['tinMatchStatus'] = None + + # set to None if address_verification_status (nullable) is None + # and model_fields_set contains the field + if self.address_verification_status is None and "address_verification_status" in self.model_fields_set: + _dict['addressVerificationStatus'] = None + + # set to None if e_delivery_status (nullable) is None + # and model_fields_set contains the field + if self.e_delivery_status is None and "e_delivery_status" in self.model_fields_set: + _dict['eDeliveryStatus'] = None + + # set to None if validation_errors (nullable) is None + # and model_fields_set contains the field + if self.validation_errors is None and "validation_errors" in self.model_fields_set: + _dict['validationErrors'] = None + + # set to None if tin_type (nullable) is None + # and model_fields_set contains the field + if self.tin_type is None and "tin_type" in self.model_fields_set: + _dict['tinType'] = None + + # set to None if business_name (nullable) is None + # and model_fields_set contains the field + if self.business_name is None and "business_name" in self.model_fields_set: + _dict['businessName'] = None + + # set to None if business_name2 (nullable) is None + # and model_fields_set contains the field + if self.business_name2 is None and "business_name2" in self.model_fields_set: + _dict['businessName2'] = None + + # set to None if first_name (nullable) is None + # and model_fields_set contains the field + if self.first_name is None and "first_name" in self.model_fields_set: + _dict['firstName'] = None + + # set to None if middle_name (nullable) is None + # and model_fields_set contains the field + if self.middle_name is None and "middle_name" in self.model_fields_set: + _dict['middleName'] = None + + # set to None if last_name (nullable) is None + # and model_fields_set contains the field + if self.last_name is None and "last_name" in self.model_fields_set: + _dict['lastName'] = None + + # set to None if suffix_name (nullable) is None + # and model_fields_set contains the field + if self.suffix_name is None and "suffix_name" in self.model_fields_set: + _dict['suffixName'] = None + + # set to None if recipient_second_name (nullable) is None + # and model_fields_set contains the field + if self.recipient_second_name is None and "recipient_second_name" in self.model_fields_set: + _dict['recipientSecondName'] = None + + # set to None if account_number (nullable) is None + # and model_fields_set contains the field + if self.account_number is None and "account_number" in self.model_fields_set: + _dict['accountNumber'] = None + + # set to None if office_code (nullable) is None + # and model_fields_set contains the field + if self.office_code is None and "office_code" in self.model_fields_set: + _dict['officeCode'] = None + + # set to None if no_tin (nullable) is None + # and model_fields_set contains the field + if self.no_tin is None and "no_tin" in self.model_fields_set: + _dict['noTin'] = None + + # set to None if second_tin_notice (nullable) is None + # and model_fields_set contains the field + if self.second_tin_notice is None and "second_tin_notice" in self.model_fields_set: + _dict['secondTinNotice'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Form1098 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "issuerId": obj.get("issuerId"), + "issuerReferenceId": obj.get("issuerReferenceId"), + "issuerTin": obj.get("issuerTin"), + "taxYear": obj.get("taxYear"), + "referenceId": obj.get("referenceId"), + "tin": obj.get("tin"), + "recipientName": obj.get("recipientName"), + "address": obj.get("address"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "state": obj.get("state"), + "zip": obj.get("zip"), + "email": obj.get("email"), + "nonUsProvince": obj.get("nonUsProvince"), + "countryCode": obj.get("countryCode"), + "federalEfileDate": obj.get("federalEfileDate"), + "postalMail": obj.get("postalMail"), + "stateEfileDate": obj.get("stateEfileDate"), + "recipientEdeliveryDate": obj.get("recipientEdeliveryDate"), + "tinMatch": obj.get("tinMatch"), + "addressVerification": obj.get("addressVerification"), + "stateAndLocalWithholding": StateAndLocalWithholding.from_dict(obj["stateAndLocalWithholding"]) if obj.get("stateAndLocalWithholding") is not None else None, + "federalEfileStatus": Form1099StatusDetail.from_dict(obj["federalEfileStatus"]) if obj.get("federalEfileStatus") is not None else None, + "stateEfileStatus": [StateEfileStatusDetail.from_dict(_item) for _item in obj["stateEfileStatus"]] if obj.get("stateEfileStatus") is not None else None, + "postalMailStatus": Form1099StatusDetail.from_dict(obj["postalMailStatus"]) if obj.get("postalMailStatus") is not None else None, + "tinMatchStatus": Form1099StatusDetail.from_dict(obj["tinMatchStatus"]) if obj.get("tinMatchStatus") is not None else None, + "addressVerificationStatus": Form1099StatusDetail.from_dict(obj["addressVerificationStatus"]) if obj.get("addressVerificationStatus") is not None else None, + "eDeliveryStatus": Form1099StatusDetail.from_dict(obj["eDeliveryStatus"]) if obj.get("eDeliveryStatus") is not None else None, + "validationErrors": [ValidationError.from_dict(_item) for _item in obj["validationErrors"]] if obj.get("validationErrors") is not None else None, + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "tinType": obj.get("tinType"), + "businessName": obj.get("businessName"), + "businessName2": obj.get("businessName2"), + "firstName": obj.get("firstName"), + "middleName": obj.get("middleName"), + "lastName": obj.get("lastName"), + "suffixName": obj.get("suffixName"), + "recipientSecondName": obj.get("recipientSecondName"), + "accountNumber": obj.get("accountNumber"), + "officeCode": obj.get("officeCode"), + "noTin": obj.get("noTin"), + "secondTinNotice": obj.get("secondTinNotice") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/form1099_base.py b/Avalara/SDK/models/A1099/V2/form1099_base.py index c4ba65e..f2a4e9b 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_base.py +++ b/Avalara/SDK/models/A1099/V2/form1099_base.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -87,8 +87,8 @@ class Form1099Base(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value model_config = ConfigDict( diff --git a/Avalara/SDK/models/A1099/V2/form1099_c.py b/Avalara/SDK/models/A1099/V2/form1099_c.py new file mode 100644 index 0000000..d6f40fc --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/form1099_c.py @@ -0,0 +1,505 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from Avalara.SDK.models.A1099.V2.form1099_status_detail import Form1099StatusDetail +from Avalara.SDK.models.A1099.V2.state_and_local_withholding import StateAndLocalWithholding +from Avalara.SDK.models.A1099.V2.state_efile_status_detail import StateEfileStatusDetail +from Avalara.SDK.models.A1099.V2.validation_error import ValidationError +from typing import Optional, Set +from typing_extensions import Self + +class Form1099C(BaseModel): + """ + Form 1099-C: Cancellation of Debt *Required:* Date of Identifiable Event, Amount of Debt Discharged and Debt Description. The IRS also requires the Identifiable Event Code. The Debt Description is limited to 39 characters. Form 1099-C has no state or local boxes, so `stateAndLocalWithholding` is discarded and reads back as `null`. + """ # noqa: E501 + date_of_identifiable_event: Optional[date] = Field(description="Date of identifiable event", alias="dateOfIdentifiableEvent") + amount_of_debt_discharged: Optional[Union[StrictFloat, StrictInt]] = Field(description="Amount of debt discharged", alias="amountOfDebtDischarged") + interest_included_in_debt_discharged: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Interest, if included in the amount of debt discharged", alias="interestIncludedInDebtDischarged") + debt_description: Optional[StrictStr] = Field(description="Debt description (up to 39 characters)", alias="debtDescription") + debtor_personally_liable_indicator: Optional[StrictBool] = Field(default=None, description="If checked, the debtor was personally liable for repayment of the debt", alias="debtorPersonallyLiableIndicator") + identifiable_event_code: Optional[StrictStr] = Field(description="Identifiable event code. * `A` - Bankruptcy * `B` - Other judicial debt relief * `C` - Statute of limitations or expiration of deficiency period * `D` - Foreclosure election * `E` - Debt relief from probate or similar proceeding * `F` - By agreement * `G` - Decision or policy to discontinue collection * `H` - Other actual discharge before identifiable event * `I` - Deprecated; retired by the IRS in 2016 and folded into `H`. Only valid for prior tax years.", alias="identifiableEventCode") + fair_market_value_of_property: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Fair market value of property", alias="fairMarketValueOfProperty") + type: StrictStr = Field(description="Form type.") + id: Optional[StrictStr] = Field(default=None, description="Form ID. Unique identifier set when the record is created.") + issuer_id: Optional[StrictStr] = Field(default=None, description="Issuer ID - only required when creating forms", alias="issuerId") + issuer_reference_id: Optional[StrictStr] = Field(default=None, description="Issuer Reference ID - only required when creating forms via $bulk-upsert", alias="issuerReferenceId") + issuer_tin: Optional[StrictStr] = Field(default=None, description="Issuer TIN - readonly", alias="issuerTin") + tax_year: Optional[StrictInt] = Field(default=None, description="Tax Year - only required when creating forms via $bulk-upsert", alias="taxYear") + reference_id: Optional[StrictStr] = Field(default=None, description="Internal reference ID. Never shown to any agency or recipient.", alias="referenceId") + tin: Optional[StrictStr] = Field(default=None, description="Recipient's Federal Tax Identification Number (TIN).") + recipient_name: Optional[StrictStr] = Field(default=None, description="DEPRECATED: Use `businessName` for businesses; use `firstName`, `middleName`, `lastName`, and `suffixName` for individuals.", alias="recipientName") + address: Optional[StrictStr] = Field(description="Address.") + address2: Optional[StrictStr] = Field(default=None, description="Address line 2.") + city: Optional[StrictStr] = Field(description="City.") + state: Optional[StrictStr] = Field(default=None, description="Two-letter US state or Canadian province code (required for US/CA addresses).") + zip: Optional[StrictStr] = Field(default=None, description="ZIP/postal code.") + email: Optional[StrictStr] = Field(default=None, description="Recipient's Contact email address.") + non_us_province: Optional[StrictStr] = Field(default=None, description="Province or region for non-US/CA addresses.", alias="nonUsProvince") + country_code: Optional[StrictStr] = Field(description="Two-letter IRS country code (e.g., 'US', 'CA'), as defined at https://www.irs.gov/e-file-providers/country-codes.", alias="countryCode") + federal_efile_date: Optional[date] = Field(default=None, description="Date when federal e-filing should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="federalEfileDate") + postal_mail: Optional[StrictBool] = Field(default=None, description="Boolean indicating that postal mailing to the recipient should be scheduled for this form", alias="postalMail") + state_efile_date: Optional[date] = Field(default=None, description="Date when state e-filing should be scheduled. Must be on or after federalEfileDate. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="stateEfileDate") + recipient_edelivery_date: Optional[date] = Field(default=None, description="Date when recipient e-delivery should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="recipientEdeliveryDate") + tin_match: Optional[StrictBool] = Field(default=None, description="Boolean indicating that TIN Matching should be scheduled for this form", alias="tinMatch") + address_verification: Optional[StrictBool] = Field(default=None, description="Boolean indicating that address verification should be scheduled for this form", alias="addressVerification") + state_and_local_withholding: Optional[StateAndLocalWithholding] = Field(default=None, description="State and local withholding information", alias="stateAndLocalWithholding") + federal_efile_status: Optional[Form1099StatusDetail] = Field(default=None, description="Federal e-file status. Available values: - unscheduled: Form has not been scheduled for federal e-filing - scheduled: Form is scheduled for federal e-filing - airlock: Form is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - sent: Form has been sent to the IRS - accepted: Form was accepted by the IRS - corrected_scheduled: Correction is scheduled to be sent - corrected_airlock: Correction is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - corrected: A correction has been sent to the IRS - corrected_accepted: Correction was accepted by the IRS - rejected: Form was rejected by the IRS - corrected_rejected: Correction was rejected by the IRS - held: Form is held and will not be submitted to IRS (used for certain forms submitted only to states)", alias="federalEfileStatus") + state_efile_status: Optional[List[StateEfileStatusDetail]] = Field(default=None, description="State e-file status. Available values: - unscheduled: Form has not been scheduled for state e-filing - scheduled: Form is scheduled for state e-filing - airlocked: Form is in process of being uploaded to the state - sent: Form has been sent to the state - rejected: Form was rejected by the state - accepted: Form was accepted by the state - corrected_scheduled: Correction is scheduled to be sent - corrected_airlocked: Correction is in process of being uploaded to the state - corrected_sent: Correction has been sent to the state - corrected_rejected: Correction was rejected by the state - corrected_accepted: Correction was accepted by the state", alias="stateEfileStatus") + postal_mail_status: Optional[Form1099StatusDetail] = Field(default=None, description="Postal mail to recipient status. Available values: - unscheduled: Postal mail has not been scheduled - pending: Postal mail is pending to be sent - sent: Postal mail has been sent - delivered: Postal mail has been delivered", alias="postalMailStatus") + tin_match_status: Optional[Form1099StatusDetail] = Field(default=None, description="TIN Match status. Available values: - none: TIN matching has not been performed - pending: TIN matching request is pending - matched: Name/TIN combination matches IRS records - unknown: TIN is missing, invalid, or request contains errors - rejected: Name/TIN combination does not match IRS records or TIN not currently issued", alias="tinMatchStatus") + address_verification_status: Optional[Form1099StatusDetail] = Field(default=None, description="Address verification status. Available values: - unknown: Address verification has not been checked - pending: Address verification is in progress - failed: Address verification failed - incomplete: Address verification is incomplete - unchanged: User declined address changes - verified: Address has been verified and accepted", alias="addressVerificationStatus") + e_delivery_status: Optional[Form1099StatusDetail] = Field(default=None, description="EDelivery status. Available values: - unscheduled: E-delivery has not been scheduled - scheduled: E-delivery is scheduled to be sent - sent: E-delivery has been sent to recipient - bounced: E-delivery bounced back (invalid email) - refused: E-delivery was refused by recipient - bad_verify: E-delivery failed verification - accepted: E-delivery was accepted by recipient - bad_verify_limit: E-delivery failed verification limit reached - second_delivery: Second e-delivery attempt - undelivered: E-delivery is undelivered (temporary state allowing resend)", alias="eDeliveryStatus") + validation_errors: Optional[List[ValidationError]] = Field(default=None, description="Validation errors", alias="validationErrors") + created_at: Optional[datetime] = Field(default=None, description="Date time when the record was created.", alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, description="Date time when the record was last updated.", alias="updatedAt") + tin_type: Optional[StrictStr] = Field(default=None, description="Recipient classification. The platform is transitioning from tax identifier classifications to recipient entity classifications. New values represent recipient entity types and should be preferred. Deprecated values represent identifier formats and remain supported for backward compatibility only. Available values: - INDIVIDUAL: Recipient is an individual - BUSINESS: Recipient is a business - UNKNOWN: Recipient classification is unknown - EIN: (Deprecated - use BUSINESS) Employer Identification Number - SSN: (Deprecated - use INDIVIDUAL) Social Security Number - ITIN: (Deprecated - use INDIVIDUAL) Individual Taxpayer Identification Number - ATIN: (Deprecated - use INDIVIDUAL) Adoption Taxpayer Identification Number", alias="tinType") + business_name: Optional[StrictStr] = Field(default=None, description="Business name. Required when the recipient of the form is a business; should only be used for businesses.", alias="businessName") + business_name2: Optional[StrictStr] = Field(default=None, description="Business name line 2. Should only be used for businesses.", alias="businessName2") + first_name: Optional[StrictStr] = Field(default=None, description="First name. Required when the recipient of the form is an individual; should only be used for individuals.", alias="firstName") + middle_name: Optional[StrictStr] = Field(default=None, description="Middle name. Should only be used for individuals.", alias="middleName") + last_name: Optional[StrictStr] = Field(default=None, description="Last name. Required when the recipient of the form is an individual; should only be used for individuals.", alias="lastName") + suffix_name: Optional[StrictStr] = Field(default=None, description="Suffix name. Should only be used for individuals.", alias="suffixName") + recipient_second_name: Optional[StrictStr] = Field(default=None, description="DEPRECATED: Use `businessName2` instead.", alias="recipientSecondName") + account_number: Optional[StrictStr] = Field(default=None, description="Account number", alias="accountNumber") + office_code: Optional[StrictStr] = Field(default=None, description="Office code", alias="officeCode") + no_tin: Optional[StrictBool] = Field(default=None, description="No TIN indicator", alias="noTin") + second_tin_notice: Optional[StrictBool] = Field(default=None, description="Second TIN notice", alias="secondTinNotice") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "issuerId", "issuerReferenceId", "issuerTin", "taxYear", "referenceId", "tin", "recipientName", "address", "address2", "city", "state", "zip", "email", "nonUsProvince", "countryCode", "federalEfileDate", "postalMail", "stateEfileDate", "recipientEdeliveryDate", "tinMatch", "addressVerification", "stateAndLocalWithholding", "federalEfileStatus", "stateEfileStatus", "postalMailStatus", "tinMatchStatus", "addressVerificationStatus", "eDeliveryStatus", "validationErrors", "createdAt", "updatedAt", "tinType", "businessName", "businessName2", "firstName", "middleName", "lastName", "suffixName", "recipientSecondName", "accountNumber", "officeCode", "noTin", "secondTinNotice"] + + @field_validator('identifiable_event_code') + def identifiable_event_code_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']): + raise ValueError("must be one of enum values ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I')") + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") + return value + + @field_validator('tin_type') + def tin_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['EIN', 'SSN', 'ITIN', 'ATIN', 'INDIVIDUAL', 'BUSINESS', 'UNKNOWN']): + raise ValueError("must be one of enum values ('EIN', 'SSN', 'ITIN', 'ATIN', 'INDIVIDUAL', 'BUSINESS', 'UNKNOWN')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Form1099C from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "id", + "federal_efile_status", + "state_efile_status", + "postal_mail_status", + "tin_match_status", + "address_verification_status", + "e_delivery_status", + "validation_errors", + "created_at", + "updated_at", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of state_and_local_withholding + if self.state_and_local_withholding: + _dict['stateAndLocalWithholding'] = self.state_and_local_withholding.to_dict() + # override the default output from pydantic by calling `to_dict()` of federal_efile_status + if self.federal_efile_status: + _dict['federalEfileStatus'] = self.federal_efile_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in state_efile_status (list) + _items = [] + if self.state_efile_status: + for _item in self.state_efile_status: + if _item: + _items.append(_item.to_dict()) + _dict['stateEfileStatus'] = _items + # override the default output from pydantic by calling `to_dict()` of postal_mail_status + if self.postal_mail_status: + _dict['postalMailStatus'] = self.postal_mail_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of tin_match_status + if self.tin_match_status: + _dict['tinMatchStatus'] = self.tin_match_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of address_verification_status + if self.address_verification_status: + _dict['addressVerificationStatus'] = self.address_verification_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of e_delivery_status + if self.e_delivery_status: + _dict['eDeliveryStatus'] = self.e_delivery_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in validation_errors (list) + _items = [] + if self.validation_errors: + for _item in self.validation_errors: + if _item: + _items.append(_item.to_dict()) + _dict['validationErrors'] = _items + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if issuer_id (nullable) is None + # and model_fields_set contains the field + if self.issuer_id is None and "issuer_id" in self.model_fields_set: + _dict['issuerId'] = None + + # set to None if issuer_reference_id (nullable) is None + # and model_fields_set contains the field + if self.issuer_reference_id is None and "issuer_reference_id" in self.model_fields_set: + _dict['issuerReferenceId'] = None + + # set to None if issuer_tin (nullable) is None + # and model_fields_set contains the field + if self.issuer_tin is None and "issuer_tin" in self.model_fields_set: + _dict['issuerTin'] = None + + # set to None if tax_year (nullable) is None + # and model_fields_set contains the field + if self.tax_year is None and "tax_year" in self.model_fields_set: + _dict['taxYear'] = None + + # set to None if reference_id (nullable) is None + # and model_fields_set contains the field + if self.reference_id is None and "reference_id" in self.model_fields_set: + _dict['referenceId'] = None + + # set to None if tin (nullable) is None + # and model_fields_set contains the field + if self.tin is None and "tin" in self.model_fields_set: + _dict['tin'] = None + + # set to None if recipient_name (nullable) is None + # and model_fields_set contains the field + if self.recipient_name is None and "recipient_name" in self.model_fields_set: + _dict['recipientName'] = None + + # set to None if address (nullable) is None + # and model_fields_set contains the field + if self.address is None and "address" in self.model_fields_set: + _dict['address'] = None + + # set to None if address2 (nullable) is None + # and model_fields_set contains the field + if self.address2 is None and "address2" in self.model_fields_set: + _dict['address2'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if state (nullable) is None + # and model_fields_set contains the field + if self.state is None and "state" in self.model_fields_set: + _dict['state'] = None + + # set to None if zip (nullable) is None + # and model_fields_set contains the field + if self.zip is None and "zip" in self.model_fields_set: + _dict['zip'] = None + + # set to None if email (nullable) is None + # and model_fields_set contains the field + if self.email is None and "email" in self.model_fields_set: + _dict['email'] = None + + # set to None if non_us_province (nullable) is None + # and model_fields_set contains the field + if self.non_us_province is None and "non_us_province" in self.model_fields_set: + _dict['nonUsProvince'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + + # set to None if federal_efile_date (nullable) is None + # and model_fields_set contains the field + if self.federal_efile_date is None and "federal_efile_date" in self.model_fields_set: + _dict['federalEfileDate'] = None + + # set to None if postal_mail (nullable) is None + # and model_fields_set contains the field + if self.postal_mail is None and "postal_mail" in self.model_fields_set: + _dict['postalMail'] = None + + # set to None if state_efile_date (nullable) is None + # and model_fields_set contains the field + if self.state_efile_date is None and "state_efile_date" in self.model_fields_set: + _dict['stateEfileDate'] = None + + # set to None if recipient_edelivery_date (nullable) is None + # and model_fields_set contains the field + if self.recipient_edelivery_date is None and "recipient_edelivery_date" in self.model_fields_set: + _dict['recipientEdeliveryDate'] = None + + # set to None if tin_match (nullable) is None + # and model_fields_set contains the field + if self.tin_match is None and "tin_match" in self.model_fields_set: + _dict['tinMatch'] = None + + # set to None if address_verification (nullable) is None + # and model_fields_set contains the field + if self.address_verification is None and "address_verification" in self.model_fields_set: + _dict['addressVerification'] = None + + # set to None if state_and_local_withholding (nullable) is None + # and model_fields_set contains the field + if self.state_and_local_withholding is None and "state_and_local_withholding" in self.model_fields_set: + _dict['stateAndLocalWithholding'] = None + + # set to None if federal_efile_status (nullable) is None + # and model_fields_set contains the field + if self.federal_efile_status is None and "federal_efile_status" in self.model_fields_set: + _dict['federalEfileStatus'] = None + + # set to None if state_efile_status (nullable) is None + # and model_fields_set contains the field + if self.state_efile_status is None and "state_efile_status" in self.model_fields_set: + _dict['stateEfileStatus'] = None + + # set to None if postal_mail_status (nullable) is None + # and model_fields_set contains the field + if self.postal_mail_status is None and "postal_mail_status" in self.model_fields_set: + _dict['postalMailStatus'] = None + + # set to None if tin_match_status (nullable) is None + # and model_fields_set contains the field + if self.tin_match_status is None and "tin_match_status" in self.model_fields_set: + _dict['tinMatchStatus'] = None + + # set to None if address_verification_status (nullable) is None + # and model_fields_set contains the field + if self.address_verification_status is None and "address_verification_status" in self.model_fields_set: + _dict['addressVerificationStatus'] = None + + # set to None if e_delivery_status (nullable) is None + # and model_fields_set contains the field + if self.e_delivery_status is None and "e_delivery_status" in self.model_fields_set: + _dict['eDeliveryStatus'] = None + + # set to None if validation_errors (nullable) is None + # and model_fields_set contains the field + if self.validation_errors is None and "validation_errors" in self.model_fields_set: + _dict['validationErrors'] = None + + # set to None if tin_type (nullable) is None + # and model_fields_set contains the field + if self.tin_type is None and "tin_type" in self.model_fields_set: + _dict['tinType'] = None + + # set to None if business_name (nullable) is None + # and model_fields_set contains the field + if self.business_name is None and "business_name" in self.model_fields_set: + _dict['businessName'] = None + + # set to None if business_name2 (nullable) is None + # and model_fields_set contains the field + if self.business_name2 is None and "business_name2" in self.model_fields_set: + _dict['businessName2'] = None + + # set to None if first_name (nullable) is None + # and model_fields_set contains the field + if self.first_name is None and "first_name" in self.model_fields_set: + _dict['firstName'] = None + + # set to None if middle_name (nullable) is None + # and model_fields_set contains the field + if self.middle_name is None and "middle_name" in self.model_fields_set: + _dict['middleName'] = None + + # set to None if last_name (nullable) is None + # and model_fields_set contains the field + if self.last_name is None and "last_name" in self.model_fields_set: + _dict['lastName'] = None + + # set to None if suffix_name (nullable) is None + # and model_fields_set contains the field + if self.suffix_name is None and "suffix_name" in self.model_fields_set: + _dict['suffixName'] = None + + # set to None if recipient_second_name (nullable) is None + # and model_fields_set contains the field + if self.recipient_second_name is None and "recipient_second_name" in self.model_fields_set: + _dict['recipientSecondName'] = None + + # set to None if account_number (nullable) is None + # and model_fields_set contains the field + if self.account_number is None and "account_number" in self.model_fields_set: + _dict['accountNumber'] = None + + # set to None if office_code (nullable) is None + # and model_fields_set contains the field + if self.office_code is None and "office_code" in self.model_fields_set: + _dict['officeCode'] = None + + # set to None if no_tin (nullable) is None + # and model_fields_set contains the field + if self.no_tin is None and "no_tin" in self.model_fields_set: + _dict['noTin'] = None + + # set to None if second_tin_notice (nullable) is None + # and model_fields_set contains the field + if self.second_tin_notice is None and "second_tin_notice" in self.model_fields_set: + _dict['secondTinNotice'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Form1099C from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "issuerId": obj.get("issuerId"), + "issuerReferenceId": obj.get("issuerReferenceId"), + "issuerTin": obj.get("issuerTin"), + "taxYear": obj.get("taxYear"), + "referenceId": obj.get("referenceId"), + "tin": obj.get("tin"), + "recipientName": obj.get("recipientName"), + "address": obj.get("address"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "state": obj.get("state"), + "zip": obj.get("zip"), + "email": obj.get("email"), + "nonUsProvince": obj.get("nonUsProvince"), + "countryCode": obj.get("countryCode"), + "federalEfileDate": obj.get("federalEfileDate"), + "postalMail": obj.get("postalMail"), + "stateEfileDate": obj.get("stateEfileDate"), + "recipientEdeliveryDate": obj.get("recipientEdeliveryDate"), + "tinMatch": obj.get("tinMatch"), + "addressVerification": obj.get("addressVerification"), + "stateAndLocalWithholding": StateAndLocalWithholding.from_dict(obj["stateAndLocalWithholding"]) if obj.get("stateAndLocalWithholding") is not None else None, + "federalEfileStatus": Form1099StatusDetail.from_dict(obj["federalEfileStatus"]) if obj.get("federalEfileStatus") is not None else None, + "stateEfileStatus": [StateEfileStatusDetail.from_dict(_item) for _item in obj["stateEfileStatus"]] if obj.get("stateEfileStatus") is not None else None, + "postalMailStatus": Form1099StatusDetail.from_dict(obj["postalMailStatus"]) if obj.get("postalMailStatus") is not None else None, + "tinMatchStatus": Form1099StatusDetail.from_dict(obj["tinMatchStatus"]) if obj.get("tinMatchStatus") is not None else None, + "addressVerificationStatus": Form1099StatusDetail.from_dict(obj["addressVerificationStatus"]) if obj.get("addressVerificationStatus") is not None else None, + "eDeliveryStatus": Form1099StatusDetail.from_dict(obj["eDeliveryStatus"]) if obj.get("eDeliveryStatus") is not None else None, + "validationErrors": [ValidationError.from_dict(_item) for _item in obj["validationErrors"]] if obj.get("validationErrors") is not None else None, + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "tinType": obj.get("tinType"), + "businessName": obj.get("businessName"), + "businessName2": obj.get("businessName2"), + "firstName": obj.get("firstName"), + "middleName": obj.get("middleName"), + "lastName": obj.get("lastName"), + "suffixName": obj.get("suffixName"), + "recipientSecondName": obj.get("recipientSecondName"), + "accountNumber": obj.get("accountNumber"), + "officeCode": obj.get("officeCode"), + "noTin": obj.get("noTin"), + "secondTinNotice": obj.get("secondTinNotice") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/form1099_div.py b/Avalara/SDK/models/A1099/V2/form1099_div.py index 8ae721a..0360485 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_div.py +++ b/Avalara/SDK/models/A1099/V2/form1099_div.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -117,8 +117,8 @@ class Form1099Div(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_int.py b/Avalara/SDK/models/A1099/V2/form1099_int.py index cb3d9ed..197f1b4 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_int.py +++ b/Avalara/SDK/models/A1099/V2/form1099_int.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -113,8 +113,8 @@ class Form1099Int(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_k.py b/Avalara/SDK/models/A1099/V2/form1099_k.py index 765275d..04babc3 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_k.py +++ b/Avalara/SDK/models/A1099/V2/form1099_k.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -138,8 +138,8 @@ def payment_type_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_list_request.py b/Avalara/SDK/models/A1099/V2/form1099_list_request.py index 8b3d1c6..47079b3 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_list_request.py +++ b/Avalara/SDK/models/A1099/V2/form1099_list_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -43,7 +43,7 @@ class Form1099ListRequest(BaseModel): """ Form1099ListRequest """ # noqa: E501 - type: Optional[StrictStr] = Field(default=None, description="Available form types: * `1042-S` * `1095-B` * `1095-C` * `1099-DIV` * `1099-INT` * `1099-K` * `1099-MISC` * `1099-NEC` * `1099-PATR` * `1099-R` * `W-2` ") + type: Optional[StrictStr] = Field(default=None, description="Available form types: * `1042-S` * `1095-B` * `1095-C` * `1098` * `1099-C` * `1099-DIV` * `1099-INT` * `1099-K` * `1099-MISC` * `1099-NEC` * `1099-PATR` * `1099-R` * `1099-S` * `W-2` ") forms: Optional[List[Get1099Form200Response]] = None __properties: ClassVar[List[str]] = ["type", "forms"] @@ -53,8 +53,8 @@ def type_validate_enum(cls, value): if value is None: return value - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value model_config = ConfigDict( diff --git a/Avalara/SDK/models/A1099/V2/form1099_misc.py b/Avalara/SDK/models/A1099/V2/form1099_misc.py index bdd4200..ce44f37 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_misc.py +++ b/Avalara/SDK/models/A1099/V2/form1099_misc.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -113,8 +113,8 @@ class Form1099Misc(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_nec.py b/Avalara/SDK/models/A1099/V2/form1099_nec.py index f6f464b..92b75fd 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_nec.py +++ b/Avalara/SDK/models/A1099/V2/form1099_nec.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -102,8 +102,8 @@ class Form1099Nec(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_patr.py b/Avalara/SDK/models/A1099/V2/form1099_patr.py index 7c7c22b..3085c9c 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_patr.py +++ b/Avalara/SDK/models/A1099/V2/form1099_patr.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -111,8 +111,8 @@ class Form1099Patr(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_r.py b/Avalara/SDK/models/A1099/V2/form1099_r.py index 01f5330..33af9ca 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_r.py +++ b/Avalara/SDK/models/A1099/V2/form1099_r.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -138,8 +138,8 @@ def second_distribution_code_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/form1099_s.py b/Avalara/SDK/models/A1099/V2/form1099_s.py new file mode 100644 index 0000000..74faa6d --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/form1099_s.py @@ -0,0 +1,494 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from Avalara.SDK.models.A1099.V2.form1099_status_detail import Form1099StatusDetail +from Avalara.SDK.models.A1099.V2.state_and_local_withholding import StateAndLocalWithholding +from Avalara.SDK.models.A1099.V2.state_efile_status_detail import StateEfileStatusDetail +from Avalara.SDK.models.A1099.V2.validation_error import ValidationError +from typing import Optional, Set +from typing_extensions import Self + +class Form1099S(BaseModel): + """ + Form 1099-S: Proceeds From Real Estate Transactions The recipient is the transferor (seller) and the issuer is the filer (settlement agent). *Required:* Date of Closing, Address or Legal Description, and, unless the transferor received property or services, Gross Proceeds, with Gross Proceeds plus Buyer's Part of Real Estate Tax above zero. The Date of Closing must fall in the tax year or the ten years before it. The Address or Legal Description is limited to 39 characters. Form 1099-S has no state or local boxes, so `stateAndLocalWithholding` is discarded and reads back as `null`. + """ # noqa: E501 + date_of_closing: Optional[date] = Field(description="Date of closing", alias="dateOfClosing") + gross_proceeds: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Gross proceeds (the total gross proceeds, from tax year 2026 labeled Box 2a)", alias="grossProceeds") + property_address_or_legal_description: Optional[StrictStr] = Field(description="Address or legal description of the property, including city, state and ZIP code (up to 39 characters)", alias="propertyAddressOrLegalDescription") + transferor_received_property_or_services_indicator: Optional[StrictBool] = Field(default=None, description="If checked, the transferor received or will receive property or services as part of the consideration", alias="transferorReceivedPropertyOrServicesIndicator") + transferor_is_foreign_person_indicator: Optional[StrictBool] = Field(default=None, description="If checked, the transferor is a foreign person (nonresident alien, foreign partnership, foreign estate or foreign trust)", alias="transferorIsForeignPersonIndicator") + buyers_part_of_real_estate_tax: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Buyer's part of real estate tax", alias="buyersPartOfRealEstateTax") + type: StrictStr = Field(description="Form type.") + id: Optional[StrictStr] = Field(default=None, description="Form ID. Unique identifier set when the record is created.") + issuer_id: Optional[StrictStr] = Field(default=None, description="Issuer ID - only required when creating forms", alias="issuerId") + issuer_reference_id: Optional[StrictStr] = Field(default=None, description="Issuer Reference ID - only required when creating forms via $bulk-upsert", alias="issuerReferenceId") + issuer_tin: Optional[StrictStr] = Field(default=None, description="Issuer TIN - readonly", alias="issuerTin") + tax_year: Optional[StrictInt] = Field(default=None, description="Tax Year - only required when creating forms via $bulk-upsert", alias="taxYear") + reference_id: Optional[StrictStr] = Field(default=None, description="Internal reference ID. Never shown to any agency or recipient.", alias="referenceId") + tin: Optional[StrictStr] = Field(default=None, description="Recipient's Federal Tax Identification Number (TIN).") + recipient_name: Optional[StrictStr] = Field(default=None, description="DEPRECATED: Use `businessName` for businesses; use `firstName`, `middleName`, `lastName`, and `suffixName` for individuals.", alias="recipientName") + address: Optional[StrictStr] = Field(description="Address.") + address2: Optional[StrictStr] = Field(default=None, description="Address line 2.") + city: Optional[StrictStr] = Field(description="City.") + state: Optional[StrictStr] = Field(default=None, description="Two-letter US state or Canadian province code (required for US/CA addresses).") + zip: Optional[StrictStr] = Field(default=None, description="ZIP/postal code.") + email: Optional[StrictStr] = Field(default=None, description="Recipient's Contact email address.") + non_us_province: Optional[StrictStr] = Field(default=None, description="Province or region for non-US/CA addresses.", alias="nonUsProvince") + country_code: Optional[StrictStr] = Field(description="Two-letter IRS country code (e.g., 'US', 'CA'), as defined at https://www.irs.gov/e-file-providers/country-codes.", alias="countryCode") + federal_efile_date: Optional[date] = Field(default=None, description="Date when federal e-filing should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="federalEfileDate") + postal_mail: Optional[StrictBool] = Field(default=None, description="Boolean indicating that postal mailing to the recipient should be scheduled for this form", alias="postalMail") + state_efile_date: Optional[date] = Field(default=None, description="Date when state e-filing should be scheduled. Must be on or after federalEfileDate. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="stateEfileDate") + recipient_edelivery_date: Optional[date] = Field(default=None, description="Date when recipient e-delivery should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled.", alias="recipientEdeliveryDate") + tin_match: Optional[StrictBool] = Field(default=None, description="Boolean indicating that TIN Matching should be scheduled for this form", alias="tinMatch") + address_verification: Optional[StrictBool] = Field(default=None, description="Boolean indicating that address verification should be scheduled for this form", alias="addressVerification") + state_and_local_withholding: Optional[StateAndLocalWithholding] = Field(default=None, description="State and local withholding information", alias="stateAndLocalWithholding") + federal_efile_status: Optional[Form1099StatusDetail] = Field(default=None, description="Federal e-file status. Available values: - unscheduled: Form has not been scheduled for federal e-filing - scheduled: Form is scheduled for federal e-filing - airlock: Form is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - sent: Form has been sent to the IRS - accepted: Form was accepted by the IRS - corrected_scheduled: Correction is scheduled to be sent - corrected_airlock: Correction is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - corrected: A correction has been sent to the IRS - corrected_accepted: Correction was accepted by the IRS - rejected: Form was rejected by the IRS - corrected_rejected: Correction was rejected by the IRS - held: Form is held and will not be submitted to IRS (used for certain forms submitted only to states)", alias="federalEfileStatus") + state_efile_status: Optional[List[StateEfileStatusDetail]] = Field(default=None, description="State e-file status. Available values: - unscheduled: Form has not been scheduled for state e-filing - scheduled: Form is scheduled for state e-filing - airlocked: Form is in process of being uploaded to the state - sent: Form has been sent to the state - rejected: Form was rejected by the state - accepted: Form was accepted by the state - corrected_scheduled: Correction is scheduled to be sent - corrected_airlocked: Correction is in process of being uploaded to the state - corrected_sent: Correction has been sent to the state - corrected_rejected: Correction was rejected by the state - corrected_accepted: Correction was accepted by the state", alias="stateEfileStatus") + postal_mail_status: Optional[Form1099StatusDetail] = Field(default=None, description="Postal mail to recipient status. Available values: - unscheduled: Postal mail has not been scheduled - pending: Postal mail is pending to be sent - sent: Postal mail has been sent - delivered: Postal mail has been delivered", alias="postalMailStatus") + tin_match_status: Optional[Form1099StatusDetail] = Field(default=None, description="TIN Match status. Available values: - none: TIN matching has not been performed - pending: TIN matching request is pending - matched: Name/TIN combination matches IRS records - unknown: TIN is missing, invalid, or request contains errors - rejected: Name/TIN combination does not match IRS records or TIN not currently issued", alias="tinMatchStatus") + address_verification_status: Optional[Form1099StatusDetail] = Field(default=None, description="Address verification status. Available values: - unknown: Address verification has not been checked - pending: Address verification is in progress - failed: Address verification failed - incomplete: Address verification is incomplete - unchanged: User declined address changes - verified: Address has been verified and accepted", alias="addressVerificationStatus") + e_delivery_status: Optional[Form1099StatusDetail] = Field(default=None, description="EDelivery status. Available values: - unscheduled: E-delivery has not been scheduled - scheduled: E-delivery is scheduled to be sent - sent: E-delivery has been sent to recipient - bounced: E-delivery bounced back (invalid email) - refused: E-delivery was refused by recipient - bad_verify: E-delivery failed verification - accepted: E-delivery was accepted by recipient - bad_verify_limit: E-delivery failed verification limit reached - second_delivery: Second e-delivery attempt - undelivered: E-delivery is undelivered (temporary state allowing resend)", alias="eDeliveryStatus") + validation_errors: Optional[List[ValidationError]] = Field(default=None, description="Validation errors", alias="validationErrors") + created_at: Optional[datetime] = Field(default=None, description="Date time when the record was created.", alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, description="Date time when the record was last updated.", alias="updatedAt") + tin_type: Optional[StrictStr] = Field(default=None, description="Recipient classification. The platform is transitioning from tax identifier classifications to recipient entity classifications. New values represent recipient entity types and should be preferred. Deprecated values represent identifier formats and remain supported for backward compatibility only. Available values: - INDIVIDUAL: Recipient is an individual - BUSINESS: Recipient is a business - UNKNOWN: Recipient classification is unknown - EIN: (Deprecated - use BUSINESS) Employer Identification Number - SSN: (Deprecated - use INDIVIDUAL) Social Security Number - ITIN: (Deprecated - use INDIVIDUAL) Individual Taxpayer Identification Number - ATIN: (Deprecated - use INDIVIDUAL) Adoption Taxpayer Identification Number", alias="tinType") + business_name: Optional[StrictStr] = Field(default=None, description="Business name. Required when the recipient of the form is a business; should only be used for businesses.", alias="businessName") + business_name2: Optional[StrictStr] = Field(default=None, description="Business name line 2. Should only be used for businesses.", alias="businessName2") + first_name: Optional[StrictStr] = Field(default=None, description="First name. Required when the recipient of the form is an individual; should only be used for individuals.", alias="firstName") + middle_name: Optional[StrictStr] = Field(default=None, description="Middle name. Should only be used for individuals.", alias="middleName") + last_name: Optional[StrictStr] = Field(default=None, description="Last name. Required when the recipient of the form is an individual; should only be used for individuals.", alias="lastName") + suffix_name: Optional[StrictStr] = Field(default=None, description="Suffix name. Should only be used for individuals.", alias="suffixName") + recipient_second_name: Optional[StrictStr] = Field(default=None, description="DEPRECATED: Use `businessName2` instead.", alias="recipientSecondName") + account_number: Optional[StrictStr] = Field(default=None, description="Account number", alias="accountNumber") + office_code: Optional[StrictStr] = Field(default=None, description="Office code", alias="officeCode") + no_tin: Optional[StrictBool] = Field(default=None, description="No TIN indicator", alias="noTin") + second_tin_notice: Optional[StrictBool] = Field(default=None, description="Second TIN notice", alias="secondTinNotice") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "issuerId", "issuerReferenceId", "issuerTin", "taxYear", "referenceId", "tin", "recipientName", "address", "address2", "city", "state", "zip", "email", "nonUsProvince", "countryCode", "federalEfileDate", "postalMail", "stateEfileDate", "recipientEdeliveryDate", "tinMatch", "addressVerification", "stateAndLocalWithholding", "federalEfileStatus", "stateEfileStatus", "postalMailStatus", "tinMatchStatus", "addressVerificationStatus", "eDeliveryStatus", "validationErrors", "createdAt", "updatedAt", "tinType", "businessName", "businessName2", "firstName", "middleName", "lastName", "suffixName", "recipientSecondName", "accountNumber", "officeCode", "noTin", "secondTinNotice"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") + return value + + @field_validator('tin_type') + def tin_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['EIN', 'SSN', 'ITIN', 'ATIN', 'INDIVIDUAL', 'BUSINESS', 'UNKNOWN']): + raise ValueError("must be one of enum values ('EIN', 'SSN', 'ITIN', 'ATIN', 'INDIVIDUAL', 'BUSINESS', 'UNKNOWN')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Form1099S from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "id", + "federal_efile_status", + "state_efile_status", + "postal_mail_status", + "tin_match_status", + "address_verification_status", + "e_delivery_status", + "validation_errors", + "created_at", + "updated_at", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of state_and_local_withholding + if self.state_and_local_withholding: + _dict['stateAndLocalWithholding'] = self.state_and_local_withholding.to_dict() + # override the default output from pydantic by calling `to_dict()` of federal_efile_status + if self.federal_efile_status: + _dict['federalEfileStatus'] = self.federal_efile_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in state_efile_status (list) + _items = [] + if self.state_efile_status: + for _item in self.state_efile_status: + if _item: + _items.append(_item.to_dict()) + _dict['stateEfileStatus'] = _items + # override the default output from pydantic by calling `to_dict()` of postal_mail_status + if self.postal_mail_status: + _dict['postalMailStatus'] = self.postal_mail_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of tin_match_status + if self.tin_match_status: + _dict['tinMatchStatus'] = self.tin_match_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of address_verification_status + if self.address_verification_status: + _dict['addressVerificationStatus'] = self.address_verification_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of e_delivery_status + if self.e_delivery_status: + _dict['eDeliveryStatus'] = self.e_delivery_status.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in validation_errors (list) + _items = [] + if self.validation_errors: + for _item in self.validation_errors: + if _item: + _items.append(_item.to_dict()) + _dict['validationErrors'] = _items + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if issuer_id (nullable) is None + # and model_fields_set contains the field + if self.issuer_id is None and "issuer_id" in self.model_fields_set: + _dict['issuerId'] = None + + # set to None if issuer_reference_id (nullable) is None + # and model_fields_set contains the field + if self.issuer_reference_id is None and "issuer_reference_id" in self.model_fields_set: + _dict['issuerReferenceId'] = None + + # set to None if issuer_tin (nullable) is None + # and model_fields_set contains the field + if self.issuer_tin is None and "issuer_tin" in self.model_fields_set: + _dict['issuerTin'] = None + + # set to None if tax_year (nullable) is None + # and model_fields_set contains the field + if self.tax_year is None and "tax_year" in self.model_fields_set: + _dict['taxYear'] = None + + # set to None if reference_id (nullable) is None + # and model_fields_set contains the field + if self.reference_id is None and "reference_id" in self.model_fields_set: + _dict['referenceId'] = None + + # set to None if tin (nullable) is None + # and model_fields_set contains the field + if self.tin is None and "tin" in self.model_fields_set: + _dict['tin'] = None + + # set to None if recipient_name (nullable) is None + # and model_fields_set contains the field + if self.recipient_name is None and "recipient_name" in self.model_fields_set: + _dict['recipientName'] = None + + # set to None if address (nullable) is None + # and model_fields_set contains the field + if self.address is None and "address" in self.model_fields_set: + _dict['address'] = None + + # set to None if address2 (nullable) is None + # and model_fields_set contains the field + if self.address2 is None and "address2" in self.model_fields_set: + _dict['address2'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if state (nullable) is None + # and model_fields_set contains the field + if self.state is None and "state" in self.model_fields_set: + _dict['state'] = None + + # set to None if zip (nullable) is None + # and model_fields_set contains the field + if self.zip is None and "zip" in self.model_fields_set: + _dict['zip'] = None + + # set to None if email (nullable) is None + # and model_fields_set contains the field + if self.email is None and "email" in self.model_fields_set: + _dict['email'] = None + + # set to None if non_us_province (nullable) is None + # and model_fields_set contains the field + if self.non_us_province is None and "non_us_province" in self.model_fields_set: + _dict['nonUsProvince'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + + # set to None if federal_efile_date (nullable) is None + # and model_fields_set contains the field + if self.federal_efile_date is None and "federal_efile_date" in self.model_fields_set: + _dict['federalEfileDate'] = None + + # set to None if postal_mail (nullable) is None + # and model_fields_set contains the field + if self.postal_mail is None and "postal_mail" in self.model_fields_set: + _dict['postalMail'] = None + + # set to None if state_efile_date (nullable) is None + # and model_fields_set contains the field + if self.state_efile_date is None and "state_efile_date" in self.model_fields_set: + _dict['stateEfileDate'] = None + + # set to None if recipient_edelivery_date (nullable) is None + # and model_fields_set contains the field + if self.recipient_edelivery_date is None and "recipient_edelivery_date" in self.model_fields_set: + _dict['recipientEdeliveryDate'] = None + + # set to None if tin_match (nullable) is None + # and model_fields_set contains the field + if self.tin_match is None and "tin_match" in self.model_fields_set: + _dict['tinMatch'] = None + + # set to None if address_verification (nullable) is None + # and model_fields_set contains the field + if self.address_verification is None and "address_verification" in self.model_fields_set: + _dict['addressVerification'] = None + + # set to None if state_and_local_withholding (nullable) is None + # and model_fields_set contains the field + if self.state_and_local_withholding is None and "state_and_local_withholding" in self.model_fields_set: + _dict['stateAndLocalWithholding'] = None + + # set to None if federal_efile_status (nullable) is None + # and model_fields_set contains the field + if self.federal_efile_status is None and "federal_efile_status" in self.model_fields_set: + _dict['federalEfileStatus'] = None + + # set to None if state_efile_status (nullable) is None + # and model_fields_set contains the field + if self.state_efile_status is None and "state_efile_status" in self.model_fields_set: + _dict['stateEfileStatus'] = None + + # set to None if postal_mail_status (nullable) is None + # and model_fields_set contains the field + if self.postal_mail_status is None and "postal_mail_status" in self.model_fields_set: + _dict['postalMailStatus'] = None + + # set to None if tin_match_status (nullable) is None + # and model_fields_set contains the field + if self.tin_match_status is None and "tin_match_status" in self.model_fields_set: + _dict['tinMatchStatus'] = None + + # set to None if address_verification_status (nullable) is None + # and model_fields_set contains the field + if self.address_verification_status is None and "address_verification_status" in self.model_fields_set: + _dict['addressVerificationStatus'] = None + + # set to None if e_delivery_status (nullable) is None + # and model_fields_set contains the field + if self.e_delivery_status is None and "e_delivery_status" in self.model_fields_set: + _dict['eDeliveryStatus'] = None + + # set to None if validation_errors (nullable) is None + # and model_fields_set contains the field + if self.validation_errors is None and "validation_errors" in self.model_fields_set: + _dict['validationErrors'] = None + + # set to None if tin_type (nullable) is None + # and model_fields_set contains the field + if self.tin_type is None and "tin_type" in self.model_fields_set: + _dict['tinType'] = None + + # set to None if business_name (nullable) is None + # and model_fields_set contains the field + if self.business_name is None and "business_name" in self.model_fields_set: + _dict['businessName'] = None + + # set to None if business_name2 (nullable) is None + # and model_fields_set contains the field + if self.business_name2 is None and "business_name2" in self.model_fields_set: + _dict['businessName2'] = None + + # set to None if first_name (nullable) is None + # and model_fields_set contains the field + if self.first_name is None and "first_name" in self.model_fields_set: + _dict['firstName'] = None + + # set to None if middle_name (nullable) is None + # and model_fields_set contains the field + if self.middle_name is None and "middle_name" in self.model_fields_set: + _dict['middleName'] = None + + # set to None if last_name (nullable) is None + # and model_fields_set contains the field + if self.last_name is None and "last_name" in self.model_fields_set: + _dict['lastName'] = None + + # set to None if suffix_name (nullable) is None + # and model_fields_set contains the field + if self.suffix_name is None and "suffix_name" in self.model_fields_set: + _dict['suffixName'] = None + + # set to None if recipient_second_name (nullable) is None + # and model_fields_set contains the field + if self.recipient_second_name is None and "recipient_second_name" in self.model_fields_set: + _dict['recipientSecondName'] = None + + # set to None if account_number (nullable) is None + # and model_fields_set contains the field + if self.account_number is None and "account_number" in self.model_fields_set: + _dict['accountNumber'] = None + + # set to None if office_code (nullable) is None + # and model_fields_set contains the field + if self.office_code is None and "office_code" in self.model_fields_set: + _dict['officeCode'] = None + + # set to None if no_tin (nullable) is None + # and model_fields_set contains the field + if self.no_tin is None and "no_tin" in self.model_fields_set: + _dict['noTin'] = None + + # set to None if second_tin_notice (nullable) is None + # and model_fields_set contains the field + if self.second_tin_notice is None and "second_tin_notice" in self.model_fields_set: + _dict['secondTinNotice'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Form1099S from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "issuerId": obj.get("issuerId"), + "issuerReferenceId": obj.get("issuerReferenceId"), + "issuerTin": obj.get("issuerTin"), + "taxYear": obj.get("taxYear"), + "referenceId": obj.get("referenceId"), + "tin": obj.get("tin"), + "recipientName": obj.get("recipientName"), + "address": obj.get("address"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "state": obj.get("state"), + "zip": obj.get("zip"), + "email": obj.get("email"), + "nonUsProvince": obj.get("nonUsProvince"), + "countryCode": obj.get("countryCode"), + "federalEfileDate": obj.get("federalEfileDate"), + "postalMail": obj.get("postalMail"), + "stateEfileDate": obj.get("stateEfileDate"), + "recipientEdeliveryDate": obj.get("recipientEdeliveryDate"), + "tinMatch": obj.get("tinMatch"), + "addressVerification": obj.get("addressVerification"), + "stateAndLocalWithholding": StateAndLocalWithholding.from_dict(obj["stateAndLocalWithholding"]) if obj.get("stateAndLocalWithholding") is not None else None, + "federalEfileStatus": Form1099StatusDetail.from_dict(obj["federalEfileStatus"]) if obj.get("federalEfileStatus") is not None else None, + "stateEfileStatus": [StateEfileStatusDetail.from_dict(_item) for _item in obj["stateEfileStatus"]] if obj.get("stateEfileStatus") is not None else None, + "postalMailStatus": Form1099StatusDetail.from_dict(obj["postalMailStatus"]) if obj.get("postalMailStatus") is not None else None, + "tinMatchStatus": Form1099StatusDetail.from_dict(obj["tinMatchStatus"]) if obj.get("tinMatchStatus") is not None else None, + "addressVerificationStatus": Form1099StatusDetail.from_dict(obj["addressVerificationStatus"]) if obj.get("addressVerificationStatus") is not None else None, + "eDeliveryStatus": Form1099StatusDetail.from_dict(obj["eDeliveryStatus"]) if obj.get("eDeliveryStatus") is not None else None, + "validationErrors": [ValidationError.from_dict(_item) for _item in obj["validationErrors"]] if obj.get("validationErrors") is not None else None, + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "tinType": obj.get("tinType"), + "businessName": obj.get("businessName"), + "businessName2": obj.get("businessName2"), + "firstName": obj.get("firstName"), + "middleName": obj.get("middleName"), + "lastName": obj.get("lastName"), + "suffixName": obj.get("suffixName"), + "recipientSecondName": obj.get("recipientSecondName"), + "accountNumber": obj.get("accountNumber"), + "officeCode": obj.get("officeCode"), + "noTin": obj.get("noTin"), + "secondTinNotice": obj.get("secondTinNotice") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/form1099_status_detail.py b/Avalara/SDK/models/A1099/V2/form1099_status_detail.py index 2f5cbf5..516092a 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_status_detail.py +++ b/Avalara/SDK/models/A1099/V2/form1099_status_detail.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/form1099_w2.py b/Avalara/SDK/models/A1099/V2/form1099_w2.py index a366fe8..a5099e0 100644 --- a/Avalara/SDK/models/A1099/V2/form1099_w2.py +++ b/Avalara/SDK/models/A1099/V2/form1099_w2.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -129,8 +129,8 @@ class Form1099W2(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/get1099_form200_response.py b/Avalara/SDK/models/A1099/V2/get1099_form200_response.py index c9f2231..f34dc22 100644 --- a/Avalara/SDK/models/A1099/V2/get1099_form200_response.py +++ b/Avalara/SDK/models/A1099/V2/get1099_form200_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -36,6 +36,8 @@ from Avalara.SDK.models.A1099.V2.form1042_s import Form1042S from Avalara.SDK.models.A1099.V2.form1095_b import Form1095B from Avalara.SDK.models.A1099.V2.form1095_c import Form1095C +from Avalara.SDK.models.A1099.V2.form1098 import Form1098 +from Avalara.SDK.models.A1099.V2.form1099_c import Form1099C from Avalara.SDK.models.A1099.V2.form1099_div import Form1099Div from Avalara.SDK.models.A1099.V2.form1099_int import Form1099Int from Avalara.SDK.models.A1099.V2.form1099_k import Form1099K @@ -43,12 +45,13 @@ from Avalara.SDK.models.A1099.V2.form1099_nec import Form1099Nec from Avalara.SDK.models.A1099.V2.form1099_patr import Form1099Patr from Avalara.SDK.models.A1099.V2.form1099_r import Form1099R +from Avalara.SDK.models.A1099.V2.form1099_s import Form1099S from Avalara.SDK.models.A1099.V2.form1099_w2 import Form1099W2 from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GET1099FORM200RESPONSE_ONE_OF_SCHEMAS = ["Form1042S", "Form1095B", "Form1095C", "Form1099Div", "Form1099Int", "Form1099K", "Form1099Misc", "Form1099Nec", "Form1099Patr", "Form1099R", "Form1099W2"] +GET1099FORM200RESPONSE_ONE_OF_SCHEMAS = ["Form1042S", "Form1095B", "Form1095C", "Form1098", "Form1099C", "Form1099Div", "Form1099Int", "Form1099K", "Form1099Misc", "Form1099Nec", "Form1099Patr", "Form1099R", "Form1099S", "Form1099W2"] class Get1099Form200Response(BaseModel): """ @@ -60,24 +63,30 @@ class Get1099Form200Response(BaseModel): oneof_schema_2_validator: Optional[Form1095B] = None # data type: Form1095C oneof_schema_3_validator: Optional[Form1095C] = None + # data type: Form1098 + oneof_schema_4_validator: Optional[Form1098] = None + # data type: Form1099C + oneof_schema_5_validator: Optional[Form1099C] = None # data type: Form1099Div - oneof_schema_4_validator: Optional[Form1099Div] = None + oneof_schema_6_validator: Optional[Form1099Div] = None # data type: Form1099Int - oneof_schema_5_validator: Optional[Form1099Int] = None + oneof_schema_7_validator: Optional[Form1099Int] = None # data type: Form1099K - oneof_schema_6_validator: Optional[Form1099K] = None + oneof_schema_8_validator: Optional[Form1099K] = None # data type: Form1099Misc - oneof_schema_7_validator: Optional[Form1099Misc] = None + oneof_schema_9_validator: Optional[Form1099Misc] = None # data type: Form1099Nec - oneof_schema_8_validator: Optional[Form1099Nec] = None + oneof_schema_10_validator: Optional[Form1099Nec] = None # data type: Form1099Patr - oneof_schema_9_validator: Optional[Form1099Patr] = None + oneof_schema_11_validator: Optional[Form1099Patr] = None # data type: Form1099R - oneof_schema_10_validator: Optional[Form1099R] = None + oneof_schema_12_validator: Optional[Form1099R] = None + # data type: Form1099S + oneof_schema_13_validator: Optional[Form1099S] = None # data type: Form1099W2 - oneof_schema_11_validator: Optional[Form1099W2] = None - actual_instance: Optional[Union[Form1042S, Form1095B, Form1095C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099W2]] = None - one_of_schemas: Set[str] = { "Form1042S", "Form1095B", "Form1095C", "Form1099Div", "Form1099Int", "Form1099K", "Form1099Misc", "Form1099Nec", "Form1099Patr", "Form1099R", "Form1099W2" } + oneof_schema_14_validator: Optional[Form1099W2] = None + actual_instance: Optional[Union[Form1042S, Form1095B, Form1095C, Form1098, Form1099C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099S, Form1099W2]] = None + one_of_schemas: Set[str] = { "Form1042S", "Form1095B", "Form1095C", "Form1098", "Form1099C", "Form1099Div", "Form1099Int", "Form1099K", "Form1099Misc", "Form1099Nec", "Form1099Patr", "Form1099R", "Form1099S", "Form1099W2" } model_config = ConfigDict( validate_assignment=True, @@ -118,6 +127,16 @@ def actual_instance_must_validate_oneof(cls, v): error_messages.append(f"Error! Input type `{type(v)}` is not `Form1095C`") else: match += 1 + # validate data type: Form1098 + if not isinstance(v, Form1098): + error_messages.append(f"Error! Input type `{type(v)}` is not `Form1098`") + else: + match += 1 + # validate data type: Form1099C + if not isinstance(v, Form1099C): + error_messages.append(f"Error! Input type `{type(v)}` is not `Form1099C`") + else: + match += 1 # validate data type: Form1099Div if not isinstance(v, Form1099Div): error_messages.append(f"Error! Input type `{type(v)}` is not `Form1099Div`") @@ -153,6 +172,11 @@ def actual_instance_must_validate_oneof(cls, v): error_messages.append(f"Error! Input type `{type(v)}` is not `Form1099R`") else: match += 1 + # validate data type: Form1099S + if not isinstance(v, Form1099S): + error_messages.append(f"Error! Input type `{type(v)}` is not `Form1099S`") + else: + match += 1 # validate data type: Form1099W2 if not isinstance(v, Form1099W2): error_messages.append(f"Error! Input type `{type(v)}` is not `Form1099W2`") @@ -160,10 +184,10 @@ def actual_instance_must_validate_oneof(cls, v): match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099W2. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1098, Form1099C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099S, Form1099W2. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099W2. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1098, Form1099C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099S, Form1099W2. Details: " + ", ".join(error_messages)) else: return v @@ -196,6 +220,18 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + # deserialize data into Form1098 + try: + instance.actual_instance = Form1098.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Form1099C + try: + instance.actual_instance = Form1099C.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) # deserialize data into Form1099Div try: instance.actual_instance = Form1099Div.from_json(json_str) @@ -238,6 +274,12 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + # deserialize data into Form1099S + try: + instance.actual_instance = Form1099S.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) # deserialize data into Form1099W2 try: instance.actual_instance = Form1099W2.from_json(json_str) @@ -247,10 +289,10 @@ def from_json(cls, json_str: str) -> Self: if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099W2. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1098, Form1099C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099S, Form1099W2. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099W2. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into Get1099Form200Response with oneOf schemas: Form1042S, Form1095B, Form1095C, Form1098, Form1099C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099S, Form1099W2. Details: " + ", ".join(error_messages)) else: return instance @@ -264,7 +306,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], Form1042S, Form1095B, Form1095C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099W2]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], Form1042S, Form1095B, Form1095C, Form1098, Form1099C, Form1099Div, Form1099Int, Form1099K, Form1099Misc, Form1099Nec, Form1099Patr, Form1099R, Form1099S, Form1099W2]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/Avalara/SDK/models/A1099/V2/intermediary_or_flow_through.py b/Avalara/SDK/models/A1099/V2/intermediary_or_flow_through.py index 7dae6e5..bb35db0 100644 --- a/Avalara/SDK/models/A1099/V2/intermediary_or_flow_through.py +++ b/Avalara/SDK/models/A1099/V2/intermediary_or_flow_through.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/iris_form_base.py b/Avalara/SDK/models/A1099/V2/iris_form_base.py index b768876..d0c375c 100644 --- a/Avalara/SDK/models/A1099/V2/iris_form_base.py +++ b/Avalara/SDK/models/A1099/V2/iris_form_base.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -97,8 +97,8 @@ class IrisFormBase(BaseModel): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2']): - raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', 'W-2')") + if value not in set(['1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2']): + raise ValueError("must be one of enum values ('1042-S', '1095-B', '1095-C', '1098', '1099-C', '1099-DIV', '1099-INT', '1099-K', '1099-MISC', '1099-NEC', '1099-PATR', '1099-R', '1099-S', 'W-2')") return value @field_validator('tin_type') diff --git a/Avalara/SDK/models/A1099/V2/irs_response.py b/Avalara/SDK/models/A1099/V2/irs_response.py index ba8825e..d9fe5be 100644 --- a/Avalara/SDK/models/A1099/V2/irs_response.py +++ b/Avalara/SDK/models/A1099/V2/irs_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/issuer_request.py b/Avalara/SDK/models/A1099/V2/issuer_request.py index a0393da..da17f6a 100644 --- a/Avalara/SDK/models/A1099/V2/issuer_request.py +++ b/Avalara/SDK/models/A1099/V2/issuer_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/issuer_response.py b/Avalara/SDK/models/A1099/V2/issuer_response.py index 571d4d5..728b029 100644 --- a/Avalara/SDK/models/A1099/V2/issuer_response.py +++ b/Avalara/SDK/models/A1099/V2/issuer_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/issuer_write_response.py b/Avalara/SDK/models/A1099/V2/issuer_write_response.py index 9fed7c6..ddb223e 100644 --- a/Avalara/SDK/models/A1099/V2/issuer_write_response.py +++ b/Avalara/SDK/models/A1099/V2/issuer_write_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/job_response.py b/Avalara/SDK/models/A1099/V2/job_response.py index 66799c8..1159345 100644 --- a/Avalara/SDK/models/A1099/V2/job_response.py +++ b/Avalara/SDK/models/A1099/V2/job_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/offer_and_coverage.py b/Avalara/SDK/models/A1099/V2/offer_and_coverage.py index 14b63b6..d6958ce 100644 --- a/Avalara/SDK/models/A1099/V2/offer_and_coverage.py +++ b/Avalara/SDK/models/A1099/V2/offer_and_coverage.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_bulk_tin_match_result_item_response.py b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_bulk_tin_match_result_item_response.py new file mode 100644 index 0000000..97eff45 --- /dev/null +++ b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_bulk_tin_match_result_item_response.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" +AvaTax Software Development Kit for Python. + + Copyright 2022 Avalara, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Avalara 1099 & W-9 API Definition + > **Note:** You must have an active Avalara 1099 & W-9 subscription to authenticate and use these APIs. If you don't have a subscription, please contact our [Sales team](https://www.avalara.com/us/en/products/1099/request-a-demo.html). ## Authentication The Avalara 1099 & W-9 API uses **Bearer Token Authentication**. To authenticate, acquire a bearer token using a **Client ID** and **Client Secret** that you generate in the Avalara 1099 & W-9 web application. The sample cURL commands below use **production** URLs. For **sandbox**, replace them with the sandbox URLs listed in the Sandbox Environment table. ### Option 1 — Client ID and Client Secret (recommended) **Step 1: Create API credentials in the Avalara 1099 & W-9 web app** For a full walkthrough, see the [Avalara 1099 & W-9 integration guide](https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/siu2796410674799/). > **Note:** To enable credential creation you must first enter a valid company address in **Account Settings > Account** and enable two-factor authentication in **Account Settings > Security**. 1. In Avalara 1099 & W-9, open **Account Settings** (gear icon, top-right of any page) and select **API**. 2. Click **Create new credentials** (a valid company address and 2FA are required). 3. Copy your **Client Id** and **Client Secret** securely — they will not be shown again after you leave the screen. **Step 2: Request a bearer token** ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{client_id}}' \\ --data-urlencode 'client_secret={{client_secret}}' ``` ### Option 2 — Account ID and License Key If your organization already uses other Avalara products (AvaTax, CertCapture) and has access to the logged-in area of Avalara.com, you can generate the bearer token using your **Account ID** and **License Key**. > **Note:** If you already have a license key for other Avalara products you can reuse it. Generating a new key will reset any previously created key. 1. Log in to Avalara.com. 2. Go to **Settings → License and API Keys**. 3. Click **Generate New Key**. 4. Note your **Account ID** from the Account menu. ```bash curl -X POST 'https://identity.avalara.com/connect/token' \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --data-urlencode 'grant_type=client_credentials' \\ --data-urlencode 'client_id={{accountId}}' \\ --data-urlencode 'client_secret={{licenseKey}}' ``` ### Using and renewing the bearer token Include the token in the `Authorization` header on every request: ```http Authorization: Bearer {access_token} ``` Tokens expire after the number of seconds in the `expires_in` field of the token response. Your integration must renew the token before it expires. **Example token response** ```json { \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI...\", \"expires_in\": 3600, \"token_type\": \"Bearer\", \"scope\": \"avatax_api iam-ds\" } ``` ### Sandbox Environment Use the same steps as production, replacing the base URLs: | Purpose | Production | Sandbox | | --- | --- | --- | | Account & License Key management (web) | `https://www.avalara.com` | `https://sandbox.admin.avalara.com` | | Account & License Key management (API) | `https://rest.avatax.com` | `https://sandbox-rest.avatax.com` | | Token generation | `https://identity.avalara.com` | `https://ai-sbx.avlr.sh` | ## Environments #### Production - **Avalara 1099 API URL:** [`https://api.avalara.com/avalara1099`](https://api.avalara.com/avalara1099) - **Identity Token URL:** [`https://identity.avalara.com/connect/token`](https://identity.avalara.com/connect/token) #### Sandbox - **Avalara 1099 API URL:** [`https://api.sbx.avalara.com/avalara1099`](https://api.sbx.avalara.com/avalara1099) - **Identity Token URL:** [`https://ai-sbx.avlr.sh/connect/token`](https://ai-sbx.avlr.sh/connect/token) --- ## API & SDK Documentation [Avalara 1099 API Reference](https://developer.avalara.com/api-reference/avalara1099/avalara1099/) [Avalara SDKs](https://developer.avalara.com/sdk/) [Swagger](https://api.avalara.com/avalara1099/swagger/index.html?api-version=2.0) + +@author Sachin Baijal +@author Jonathan Wenger +@copyright 2022 Avalara, Inc. +@license https://www.apache.org/licenses/LICENSE-2.0 +@version 26.9.1 +@link https://github.com/avadev/AvaTax-REST-V3-Python-SDK +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from Avalara.SDK.models.A1099.V2.bulk_tin_match_result_item_response import BulkTinMatchResultItemResponse +from typing import Optional, Set +from typing_extensions import Self + +class PaginatedQueryResultModelBulkTinMatchResultItemResponse(BaseModel): + """ + Generic paginated model to wrap query response data + """ # noqa: E501 + recordset_count: Optional[StrictInt] = Field(default=None, alias="@recordsetCount") + value: Optional[List[BulkTinMatchResultItemResponse]] = None + next_link: Optional[StrictStr] = Field(default=None, alias="@nextLink") + __properties: ClassVar[List[str]] = ["@recordsetCount", "value", "@nextLink"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PaginatedQueryResultModelBulkTinMatchResultItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in value (list) + _items = [] + if self.value: + for _item in self.value: + if _item: + _items.append(_item.to_dict()) + _dict['value'] = _items + # set to None if recordset_count (nullable) is None + # and model_fields_set contains the field + if self.recordset_count is None and "recordset_count" in self.model_fields_set: + _dict['@recordsetCount'] = None + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + # set to None if next_link (nullable) is None + # and model_fields_set contains the field + if self.next_link is None and "next_link" in self.model_fields_set: + _dict['@nextLink'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PaginatedQueryResultModelBulkTinMatchResultItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "@recordsetCount": obj.get("@recordsetCount"), + "value": [BulkTinMatchResultItemResponse.from_dict(_item) for _item in obj["value"]] if obj.get("value") is not None else None, + "@nextLink": obj.get("@nextLink") + }) + return _obj + + diff --git a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_company_response.py b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_company_response.py index 46a1952..c7d1215 100644 --- a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_company_response.py +++ b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_company_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_form1099_base.py b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_form1099_base.py index ffb8ad9..41aab50 100644 --- a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_form1099_base.py +++ b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_form1099_base.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_issuer_response.py b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_issuer_response.py index ed88d3e..f69c3ec 100644 --- a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_issuer_response.py +++ b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_issuer_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_w9_form_base_response.py b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_w9_form_base_response.py index 33fc590..318fd7a 100644 --- a/Avalara/SDK/models/A1099/V2/paginated_query_result_model_w9_form_base_response.py +++ b/Avalara/SDK/models/A1099/V2/paginated_query_result_model_w9_form_base_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/primary_withholding_agent.py b/Avalara/SDK/models/A1099/V2/primary_withholding_agent.py index b548a4a..37fb09b 100644 --- a/Avalara/SDK/models/A1099/V2/primary_withholding_agent.py +++ b/Avalara/SDK/models/A1099/V2/primary_withholding_agent.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/real_time_tin_match_irs_response.py b/Avalara/SDK/models/A1099/V2/real_time_tin_match_irs_response.py index 96b8556..9359b0d 100644 --- a/Avalara/SDK/models/A1099/V2/real_time_tin_match_irs_response.py +++ b/Avalara/SDK/models/A1099/V2/real_time_tin_match_irs_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/real_time_tin_match_request.py b/Avalara/SDK/models/A1099/V2/real_time_tin_match_request.py index f9eb876..a46d7c9 100644 --- a/Avalara/SDK/models/A1099/V2/real_time_tin_match_request.py +++ b/Avalara/SDK/models/A1099/V2/real_time_tin_match_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/real_time_tin_match_response.py b/Avalara/SDK/models/A1099/V2/real_time_tin_match_response.py index 1175cd4..a7a1db7 100644 --- a/Avalara/SDK/models/A1099/V2/real_time_tin_match_response.py +++ b/Avalara/SDK/models/A1099/V2/real_time_tin_match_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/state_and_local_withholding.py b/Avalara/SDK/models/A1099/V2/state_and_local_withholding.py index 3b5ad20..173b32f 100644 --- a/Avalara/SDK/models/A1099/V2/state_and_local_withholding.py +++ b/Avalara/SDK/models/A1099/V2/state_and_local_withholding.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/state_efile_status_detail.py b/Avalara/SDK/models/A1099/V2/state_efile_status_detail.py index 73771b0..a0f22ab 100644 --- a/Avalara/SDK/models/A1099/V2/state_efile_status_detail.py +++ b/Avalara/SDK/models/A1099/V2/state_efile_status_detail.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/substantial_us_owner_request.py b/Avalara/SDK/models/A1099/V2/substantial_us_owner_request.py index 64f3708..a481075 100644 --- a/Avalara/SDK/models/A1099/V2/substantial_us_owner_request.py +++ b/Avalara/SDK/models/A1099/V2/substantial_us_owner_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/substantial_us_owner_response.py b/Avalara/SDK/models/A1099/V2/substantial_us_owner_response.py index be7629d..3581564 100644 --- a/Avalara/SDK/models/A1099/V2/substantial_us_owner_response.py +++ b/Avalara/SDK/models/A1099/V2/substantial_us_owner_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/tin_match_status_response.py b/Avalara/SDK/models/A1099/V2/tin_match_status_response.py index 6c28378..ef1e2f0 100644 --- a/Avalara/SDK/models/A1099/V2/tin_match_status_response.py +++ b/Avalara/SDK/models/A1099/V2/tin_match_status_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/validation_error.py b/Avalara/SDK/models/A1099/V2/validation_error.py index 4f26b86..f8cdd71 100644 --- a/Avalara/SDK/models/A1099/V2/validation_error.py +++ b/Avalara/SDK/models/A1099/V2/validation_error.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w4_form_minimal_request.py b/Avalara/SDK/models/A1099/V2/w4_form_minimal_request.py index a157b99..44e8809 100644 --- a/Avalara/SDK/models/A1099/V2/w4_form_minimal_request.py +++ b/Avalara/SDK/models/A1099/V2/w4_form_minimal_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w4_form_request.py b/Avalara/SDK/models/A1099/V2/w4_form_request.py index 777b4b3..5b6a676 100644 --- a/Avalara/SDK/models/A1099/V2/w4_form_request.py +++ b/Avalara/SDK/models/A1099/V2/w4_form_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w4_form_response.py b/Avalara/SDK/models/A1099/V2/w4_form_response.py index 51209bf..787d346 100644 --- a/Avalara/SDK/models/A1099/V2/w4_form_response.py +++ b/Avalara/SDK/models/A1099/V2/w4_form_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_ben_e_form_minimal_request.py b/Avalara/SDK/models/A1099/V2/w8_ben_e_form_minimal_request.py index b528d79..9b57482 100644 --- a/Avalara/SDK/models/A1099/V2/w8_ben_e_form_minimal_request.py +++ b/Avalara/SDK/models/A1099/V2/w8_ben_e_form_minimal_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_ben_e_form_request.py b/Avalara/SDK/models/A1099/V2/w8_ben_e_form_request.py index 428bcf8..3cd4b39 100644 --- a/Avalara/SDK/models/A1099/V2/w8_ben_e_form_request.py +++ b/Avalara/SDK/models/A1099/V2/w8_ben_e_form_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_ben_e_form_response.py b/Avalara/SDK/models/A1099/V2/w8_ben_e_form_response.py index e3c6b45..7c1d616 100644 --- a/Avalara/SDK/models/A1099/V2/w8_ben_e_form_response.py +++ b/Avalara/SDK/models/A1099/V2/w8_ben_e_form_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_ben_form_minimal_request.py b/Avalara/SDK/models/A1099/V2/w8_ben_form_minimal_request.py index 21181f4..49f81a0 100644 --- a/Avalara/SDK/models/A1099/V2/w8_ben_form_minimal_request.py +++ b/Avalara/SDK/models/A1099/V2/w8_ben_form_minimal_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_ben_form_request.py b/Avalara/SDK/models/A1099/V2/w8_ben_form_request.py index c682c64..4005244 100644 --- a/Avalara/SDK/models/A1099/V2/w8_ben_form_request.py +++ b/Avalara/SDK/models/A1099/V2/w8_ben_form_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_ben_form_response.py b/Avalara/SDK/models/A1099/V2/w8_ben_form_response.py index e39e8ba..260fe4b 100644 --- a/Avalara/SDK/models/A1099/V2/w8_ben_form_response.py +++ b/Avalara/SDK/models/A1099/V2/w8_ben_form_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_imy_form_minimal_request.py b/Avalara/SDK/models/A1099/V2/w8_imy_form_minimal_request.py index aac9074..9441cdb 100644 --- a/Avalara/SDK/models/A1099/V2/w8_imy_form_minimal_request.py +++ b/Avalara/SDK/models/A1099/V2/w8_imy_form_minimal_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_imy_form_request.py b/Avalara/SDK/models/A1099/V2/w8_imy_form_request.py index 56f430a..cb711d2 100644 --- a/Avalara/SDK/models/A1099/V2/w8_imy_form_request.py +++ b/Avalara/SDK/models/A1099/V2/w8_imy_form_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w8_imy_form_response.py b/Avalara/SDK/models/A1099/V2/w8_imy_form_response.py index 195aa68..3cbfe5e 100644 --- a/Avalara/SDK/models/A1099/V2/w8_imy_form_response.py +++ b/Avalara/SDK/models/A1099/V2/w8_imy_form_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w9_form_base_minimal_request.py b/Avalara/SDK/models/A1099/V2/w9_form_base_minimal_request.py index 0bfa02a..ac1c1c6 100644 --- a/Avalara/SDK/models/A1099/V2/w9_form_base_minimal_request.py +++ b/Avalara/SDK/models/A1099/V2/w9_form_base_minimal_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w9_form_base_request.py b/Avalara/SDK/models/A1099/V2/w9_form_base_request.py index 2073de4..03dc78e 100644 --- a/Avalara/SDK/models/A1099/V2/w9_form_base_request.py +++ b/Avalara/SDK/models/A1099/V2/w9_form_base_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w9_form_base_response.py b/Avalara/SDK/models/A1099/V2/w9_form_base_response.py index f4d63b5..1247b35 100644 --- a/Avalara/SDK/models/A1099/V2/w9_form_base_response.py +++ b/Avalara/SDK/models/A1099/V2/w9_form_base_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w9_form_minimal_request.py b/Avalara/SDK/models/A1099/V2/w9_form_minimal_request.py index 18d25d8..2e4fdf4 100644 --- a/Avalara/SDK/models/A1099/V2/w9_form_minimal_request.py +++ b/Avalara/SDK/models/A1099/V2/w9_form_minimal_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w9_form_request.py b/Avalara/SDK/models/A1099/V2/w9_form_request.py index 4b80eff..78a78f8 100644 --- a/Avalara/SDK/models/A1099/V2/w9_form_request.py +++ b/Avalara/SDK/models/A1099/V2/w9_form_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/A1099/V2/w9_form_response.py b/Avalara/SDK/models/A1099/V2/w9_form_response.py index 20f5966..c5da739 100644 --- a/Avalara/SDK/models/A1099/V2/w9_form_response.py +++ b/Avalara/SDK/models/A1099/V2/w9_form_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/address.py b/Avalara/SDK/models/EInvoicing/V1/address.py index 7570657..f8dc62a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/address.py +++ b/Avalara/SDK/models/EInvoicing/V1/address.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/bad_download_request.py b/Avalara/SDK/models/EInvoicing/V1/bad_download_request.py index ef5edea..f074a98 100644 --- a/Avalara/SDK/models/EInvoicing/V1/bad_download_request.py +++ b/Avalara/SDK/models/EInvoicing/V1/bad_download_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/bad_request.py b/Avalara/SDK/models/EInvoicing/V1/bad_request.py index c589e02..9d194c5 100644 --- a/Avalara/SDK/models/EInvoicing/V1/bad_request.py +++ b/Avalara/SDK/models/EInvoicing/V1/bad_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/batch_error_detail.py b/Avalara/SDK/models/EInvoicing/V1/batch_error_detail.py index 4040e27..4581e34 100644 --- a/Avalara/SDK/models/EInvoicing/V1/batch_error_detail.py +++ b/Avalara/SDK/models/EInvoicing/V1/batch_error_detail.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/batch_search.py b/Avalara/SDK/models/EInvoicing/V1/batch_search.py index 985b4d8..ea04427 100644 --- a/Avalara/SDK/models/EInvoicing/V1/batch_search.py +++ b/Avalara/SDK/models/EInvoicing/V1/batch_search.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/batch_search_list_response.py b/Avalara/SDK/models/EInvoicing/V1/batch_search_list_response.py index 9f2f7b0..b8b1bc3 100644 --- a/Avalara/SDK/models/EInvoicing/V1/batch_search_list_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/batch_search_list_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/batch_search_participants202_response.py b/Avalara/SDK/models/EInvoicing/V1/batch_search_participants202_response.py index 1cb6d09..a155468 100644 --- a/Avalara/SDK/models/EInvoicing/V1/batch_search_participants202_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/batch_search_participants202_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/code_list_list_response.py b/Avalara/SDK/models/EInvoicing/V1/code_list_list_response.py index 3c8dd38..d32d6e7 100644 --- a/Avalara/SDK/models/EInvoicing/V1/code_list_list_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/code_list_list_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/code_list_response.py b/Avalara/SDK/models/EInvoicing/V1/code_list_response.py index 02da1c1..ed040b7 100644 --- a/Avalara/SDK/models/EInvoicing/V1/code_list_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/code_list_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/code_list_summary.py b/Avalara/SDK/models/EInvoicing/V1/code_list_summary.py index 7c802ea..5b22460 100644 --- a/Avalara/SDK/models/EInvoicing/V1/code_list_summary.py +++ b/Avalara/SDK/models/EInvoicing/V1/code_list_summary.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/code_list_value.py b/Avalara/SDK/models/EInvoicing/V1/code_list_value.py index 38a6140..caf8305 100644 --- a/Avalara/SDK/models/EInvoicing/V1/code_list_value.py +++ b/Avalara/SDK/models/EInvoicing/V1/code_list_value.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/code_list_version.py b/Avalara/SDK/models/EInvoicing/V1/code_list_version.py index f2b4ab5..ff20257 100644 --- a/Avalara/SDK/models/EInvoicing/V1/code_list_version.py +++ b/Avalara/SDK/models/EInvoicing/V1/code_list_version.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/conditional_for_field.py b/Avalara/SDK/models/EInvoicing/V1/conditional_for_field.py index ed39ecc..3ebcc8c 100644 --- a/Avalara/SDK/models/EInvoicing/V1/conditional_for_field.py +++ b/Avalara/SDK/models/EInvoicing/V1/conditional_for_field.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/consents.py b/Avalara/SDK/models/EInvoicing/V1/consents.py index 104b507..8ed4da0 100644 --- a/Avalara/SDK/models/EInvoicing/V1/consents.py +++ b/Avalara/SDK/models/EInvoicing/V1/consents.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/create_trading_partner201_response.py b/Avalara/SDK/models/EInvoicing/V1/create_trading_partner201_response.py index c3ac65b..c60150d 100644 --- a/Avalara/SDK/models/EInvoicing/V1/create_trading_partner201_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/create_trading_partner201_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response.py b/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response.py index b262270..4a83043 100644 --- a/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response_value_inner.py b/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response_value_inner.py index 9d81856..04aae94 100644 --- a/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response_value_inner.py +++ b/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch200_response_value_inner.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch_request.py b/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch_request.py index c371d7b..ce8c4d7 100644 --- a/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch_request.py +++ b/Avalara/SDK/models/EInvoicing/V1/create_trading_partners_batch_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/data_input_field.py b/Avalara/SDK/models/EInvoicing/V1/data_input_field.py index fdd72d7..ecbd3f4 100644 --- a/Avalara/SDK/models/EInvoicing/V1/data_input_field.py +++ b/Avalara/SDK/models/EInvoicing/V1/data_input_field.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/data_input_field_not_used_for.py b/Avalara/SDK/models/EInvoicing/V1/data_input_field_not_used_for.py index 9480ce7..023085b 100644 --- a/Avalara/SDK/models/EInvoicing/V1/data_input_field_not_used_for.py +++ b/Avalara/SDK/models/EInvoicing/V1/data_input_field_not_used_for.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/data_input_field_optional_for.py b/Avalara/SDK/models/EInvoicing/V1/data_input_field_optional_for.py index f791c92..1df4a32 100644 --- a/Avalara/SDK/models/EInvoicing/V1/data_input_field_optional_for.py +++ b/Avalara/SDK/models/EInvoicing/V1/data_input_field_optional_for.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/data_input_field_required_for.py b/Avalara/SDK/models/EInvoicing/V1/data_input_field_required_for.py index 031f27e..126e2d8 100644 --- a/Avalara/SDK/models/EInvoicing/V1/data_input_field_required_for.py +++ b/Avalara/SDK/models/EInvoicing/V1/data_input_field_required_for.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/data_input_fields_response.py b/Avalara/SDK/models/EInvoicing/V1/data_input_fields_response.py index c5b6744..c464457 100644 --- a/Avalara/SDK/models/EInvoicing/V1/data_input_fields_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/data_input_fields_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/document_fetch.py b/Avalara/SDK/models/EInvoicing/V1/document_fetch.py index 39cca52..0efa704 100644 --- a/Avalara/SDK/models/EInvoicing/V1/document_fetch.py +++ b/Avalara/SDK/models/EInvoicing/V1/document_fetch.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/document_list_response.py b/Avalara/SDK/models/EInvoicing/V1/document_list_response.py index 30a17ab..cd53974 100644 --- a/Avalara/SDK/models/EInvoicing/V1/document_list_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/document_list_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/document_status_response.py b/Avalara/SDK/models/EInvoicing/V1/document_status_response.py index 3e0e5d7..cc28b64 100644 --- a/Avalara/SDK/models/EInvoicing/V1/document_status_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/document_status_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/document_submission_error.py b/Avalara/SDK/models/EInvoicing/V1/document_submission_error.py index 0f058f9..2fcd5e5 100644 --- a/Avalara/SDK/models/EInvoicing/V1/document_submission_error.py +++ b/Avalara/SDK/models/EInvoicing/V1/document_submission_error.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/document_submit_response.py b/Avalara/SDK/models/EInvoicing/V1/document_submit_response.py index d869f48..6b7621a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/document_submit_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/document_submit_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/document_summary.py b/Avalara/SDK/models/EInvoicing/V1/document_summary.py index e8f0512..b8371ff 100644 --- a/Avalara/SDK/models/EInvoicing/V1/document_summary.py +++ b/Avalara/SDK/models/EInvoicing/V1/document_summary.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/error_response.py b/Avalara/SDK/models/EInvoicing/V1/error_response.py index 27ff58b..456d7b7 100644 --- a/Avalara/SDK/models/EInvoicing/V1/error_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/error_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/event_id.py b/Avalara/SDK/models/EInvoicing/V1/event_id.py index 7380386..995136c 100644 --- a/Avalara/SDK/models/EInvoicing/V1/event_id.py +++ b/Avalara/SDK/models/EInvoicing/V1/event_id.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/event_message.py b/Avalara/SDK/models/EInvoicing/V1/event_message.py index 42844c3..265b342 100644 --- a/Avalara/SDK/models/EInvoicing/V1/event_message.py +++ b/Avalara/SDK/models/EInvoicing/V1/event_message.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/event_payload.py b/Avalara/SDK/models/EInvoicing/V1/event_payload.py index 7ecb482..9ef548a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/event_payload.py +++ b/Avalara/SDK/models/EInvoicing/V1/event_payload.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/event_subscription.py b/Avalara/SDK/models/EInvoicing/V1/event_subscription.py index 6b870be..729d153 100644 --- a/Avalara/SDK/models/EInvoicing/V1/event_subscription.py +++ b/Avalara/SDK/models/EInvoicing/V1/event_subscription.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/extension.py b/Avalara/SDK/models/EInvoicing/V1/extension.py index e2a18d0..2e5c144 100644 --- a/Avalara/SDK/models/EInvoicing/V1/extension.py +++ b/Avalara/SDK/models/EInvoicing/V1/extension.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request.py b/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request.py index e968f2e..9439864 100644 --- a/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request.py +++ b/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_data_inner.py b/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_data_inner.py index c93febb..dc39663 100644 --- a/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_data_inner.py +++ b/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_data_inner.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_metadata.py b/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_metadata.py index 4a74b5a..96613f8 100644 --- a/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_metadata.py +++ b/Avalara/SDK/models/EInvoicing/V1/fetch_documents_request_metadata.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/forbidden_error.py b/Avalara/SDK/models/EInvoicing/V1/forbidden_error.py index fd2fbdb..2980d8a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/forbidden_error.py +++ b/Avalara/SDK/models/EInvoicing/V1/forbidden_error.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/hmac_signature.py b/Avalara/SDK/models/EInvoicing/V1/hmac_signature.py index 27ddd21..39bd510 100644 --- a/Avalara/SDK/models/EInvoicing/V1/hmac_signature.py +++ b/Avalara/SDK/models/EInvoicing/V1/hmac_signature.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/hmac_signature_value.py b/Avalara/SDK/models/EInvoicing/V1/hmac_signature_value.py index 2642a04..a4b2069 100644 --- a/Avalara/SDK/models/EInvoicing/V1/hmac_signature_value.py +++ b/Avalara/SDK/models/EInvoicing/V1/hmac_signature_value.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/id.py b/Avalara/SDK/models/EInvoicing/V1/id.py index d65a1e5..1a9ab02 100644 --- a/Avalara/SDK/models/EInvoicing/V1/id.py +++ b/Avalara/SDK/models/EInvoicing/V1/id.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/identifier.py b/Avalara/SDK/models/EInvoicing/V1/identifier.py index 4e52d03..b47011e 100644 --- a/Avalara/SDK/models/EInvoicing/V1/identifier.py +++ b/Avalara/SDK/models/EInvoicing/V1/identifier.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/input_data_formats.py b/Avalara/SDK/models/EInvoicing/V1/input_data_formats.py index fb1446b..9d85e69 100644 --- a/Avalara/SDK/models/EInvoicing/V1/input_data_formats.py +++ b/Avalara/SDK/models/EInvoicing/V1/input_data_formats.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/internal_server_error.py b/Avalara/SDK/models/EInvoicing/V1/internal_server_error.py index 08d3f8c..088e337 100644 --- a/Avalara/SDK/models/EInvoicing/V1/internal_server_error.py +++ b/Avalara/SDK/models/EInvoicing/V1/internal_server_error.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/mandate.py b/Avalara/SDK/models/EInvoicing/V1/mandate.py index 5ac6da9..b8c7c7b 100644 --- a/Avalara/SDK/models/EInvoicing/V1/mandate.py +++ b/Avalara/SDK/models/EInvoicing/V1/mandate.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field.py b/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field.py index 71cbbc7..373a00a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field.py +++ b/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field_namespace.py b/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field_namespace.py index bfecb1d..478a2bb 100644 --- a/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field_namespace.py +++ b/Avalara/SDK/models/EInvoicing/V1/mandate_data_input_field_namespace.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/mandates_response.py b/Avalara/SDK/models/EInvoicing/V1/mandates_response.py index 74a9fc4..b140b45 100644 --- a/Avalara/SDK/models/EInvoicing/V1/mandates_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/mandates_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/not_found_error.py b/Avalara/SDK/models/EInvoicing/V1/not_found_error.py index a68e11d..d253869 100644 --- a/Avalara/SDK/models/EInvoicing/V1/not_found_error.py +++ b/Avalara/SDK/models/EInvoicing/V1/not_found_error.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/not_used_for_field.py b/Avalara/SDK/models/EInvoicing/V1/not_used_for_field.py index 99e7571..5ee2d0d 100644 --- a/Avalara/SDK/models/EInvoicing/V1/not_used_for_field.py +++ b/Avalara/SDK/models/EInvoicing/V1/not_used_for_field.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/output_data_formats.py b/Avalara/SDK/models/EInvoicing/V1/output_data_formats.py index 1ad1b7d..44e5939 100644 --- a/Avalara/SDK/models/EInvoicing/V1/output_data_formats.py +++ b/Avalara/SDK/models/EInvoicing/V1/output_data_formats.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/pagination.py b/Avalara/SDK/models/EInvoicing/V1/pagination.py index 0f9e8d1..09355bf 100644 --- a/Avalara/SDK/models/EInvoicing/V1/pagination.py +++ b/Avalara/SDK/models/EInvoicing/V1/pagination.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/report_download_response.py b/Avalara/SDK/models/EInvoicing/V1/report_download_response.py index 61611be..04a1d0d 100644 --- a/Avalara/SDK/models/EInvoicing/V1/report_download_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/report_download_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/report_item.py b/Avalara/SDK/models/EInvoicing/V1/report_item.py index 9342360..8309b55 100644 --- a/Avalara/SDK/models/EInvoicing/V1/report_item.py +++ b/Avalara/SDK/models/EInvoicing/V1/report_item.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/report_list_response.py b/Avalara/SDK/models/EInvoicing/V1/report_list_response.py index cda1b72..d55e09e 100644 --- a/Avalara/SDK/models/EInvoicing/V1/report_list_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/report_list_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/required_when_field.py b/Avalara/SDK/models/EInvoicing/V1/required_when_field.py index ba7e797..24348ad 100644 --- a/Avalara/SDK/models/EInvoicing/V1/required_when_field.py +++ b/Avalara/SDK/models/EInvoicing/V1/required_when_field.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/search_participants200_response.py b/Avalara/SDK/models/EInvoicing/V1/search_participants200_response.py index a00c5be..4c42ebe 100644 --- a/Avalara/SDK/models/EInvoicing/V1/search_participants200_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/search_participants200_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/signature.py b/Avalara/SDK/models/EInvoicing/V1/signature.py index c2448b9..1b70442 100644 --- a/Avalara/SDK/models/EInvoicing/V1/signature.py +++ b/Avalara/SDK/models/EInvoicing/V1/signature.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/signature_signature.py b/Avalara/SDK/models/EInvoicing/V1/signature_signature.py index f91d46d..4071b5b 100644 --- a/Avalara/SDK/models/EInvoicing/V1/signature_signature.py +++ b/Avalara/SDK/models/EInvoicing/V1/signature_signature.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/signature_value.py b/Avalara/SDK/models/EInvoicing/V1/signature_value.py index bef1acf..d815151 100644 --- a/Avalara/SDK/models/EInvoicing/V1/signature_value.py +++ b/Avalara/SDK/models/EInvoicing/V1/signature_value.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/signature_value_signature.py b/Avalara/SDK/models/EInvoicing/V1/signature_value_signature.py index 700ef9a..6f11802 100644 --- a/Avalara/SDK/models/EInvoicing/V1/signature_value_signature.py +++ b/Avalara/SDK/models/EInvoicing/V1/signature_value_signature.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/status_event.py b/Avalara/SDK/models/EInvoicing/V1/status_event.py index 30d7d58..229f811 100644 --- a/Avalara/SDK/models/EInvoicing/V1/status_event.py +++ b/Avalara/SDK/models/EInvoicing/V1/status_event.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/submit_document_metadata.py b/Avalara/SDK/models/EInvoicing/V1/submit_document_metadata.py index 264e716..f1a497d 100644 --- a/Avalara/SDK/models/EInvoicing/V1/submit_document_metadata.py +++ b/Avalara/SDK/models/EInvoicing/V1/submit_document_metadata.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/submit_interop_document202_response.py b/Avalara/SDK/models/EInvoicing/V1/submit_interop_document202_response.py index 0563fb7..cd38452 100644 --- a/Avalara/SDK/models/EInvoicing/V1/submit_interop_document202_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/submit_interop_document202_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/subscription_common.py b/Avalara/SDK/models/EInvoicing/V1/subscription_common.py index aaccac9..fc0744a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/subscription_common.py +++ b/Avalara/SDK/models/EInvoicing/V1/subscription_common.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/subscription_detail.py b/Avalara/SDK/models/EInvoicing/V1/subscription_detail.py index b1b8b20..784fca3 100644 --- a/Avalara/SDK/models/EInvoicing/V1/subscription_detail.py +++ b/Avalara/SDK/models/EInvoicing/V1/subscription_detail.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/subscription_list_response.py b/Avalara/SDK/models/EInvoicing/V1/subscription_list_response.py index 8540d65..aca91ae 100644 --- a/Avalara/SDK/models/EInvoicing/V1/subscription_list_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/subscription_list_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/subscription_registration.py b/Avalara/SDK/models/EInvoicing/V1/subscription_registration.py index 5a805e5..b8d8456 100644 --- a/Avalara/SDK/models/EInvoicing/V1/subscription_registration.py +++ b/Avalara/SDK/models/EInvoicing/V1/subscription_registration.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/success_response.py b/Avalara/SDK/models/EInvoicing/V1/success_response.py index 3fc1fe1..2909295 100644 --- a/Avalara/SDK/models/EInvoicing/V1/success_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/success_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/supported_document_statuses.py b/Avalara/SDK/models/EInvoicing/V1/supported_document_statuses.py index 268d611..021164c 100644 --- a/Avalara/SDK/models/EInvoicing/V1/supported_document_statuses.py +++ b/Avalara/SDK/models/EInvoicing/V1/supported_document_statuses.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/supported_document_types.py b/Avalara/SDK/models/EInvoicing/V1/supported_document_types.py index 59525fc..26dd90b 100644 --- a/Avalara/SDK/models/EInvoicing/V1/supported_document_types.py +++ b/Avalara/SDK/models/EInvoicing/V1/supported_document_types.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_request.py b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_request.py index 4ae4b54..199c11f 100644 --- a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_request.py +++ b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_request.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response.py b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response.py index bed8b54..805808a 100644 --- a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response_value.py b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response_value.py index d54d04c..f0ee8f1 100644 --- a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response_value.py +++ b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_response_value.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_schema_by_country200_response.py b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_schema_by_country200_response.py index 6df88d3..12ce20d 100644 --- a/Avalara/SDK/models/EInvoicing/V1/tax_identifier_schema_by_country200_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/tax_identifier_schema_by_country200_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/trading_partner.py b/Avalara/SDK/models/EInvoicing/V1/trading_partner.py index adcb154..77eccf2 100644 --- a/Avalara/SDK/models/EInvoicing/V1/trading_partner.py +++ b/Avalara/SDK/models/EInvoicing/V1/trading_partner.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/update_trading_partner200_response.py b/Avalara/SDK/models/EInvoicing/V1/update_trading_partner200_response.py index 9754ebf..b08de24 100644 --- a/Avalara/SDK/models/EInvoicing/V1/update_trading_partner200_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/update_trading_partner200_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/validation_error.py b/Avalara/SDK/models/EInvoicing/V1/validation_error.py index 6b3e0f7..88262e8 100644 --- a/Avalara/SDK/models/EInvoicing/V1/validation_error.py +++ b/Avalara/SDK/models/EInvoicing/V1/validation_error.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/webhook_invocation.py b/Avalara/SDK/models/EInvoicing/V1/webhook_invocation.py index 329d7e6..4454e3e 100644 --- a/Avalara/SDK/models/EInvoicing/V1/webhook_invocation.py +++ b/Avalara/SDK/models/EInvoicing/V1/webhook_invocation.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/webhooks_error_info.py b/Avalara/SDK/models/EInvoicing/V1/webhooks_error_info.py index ef917ae..65c9eb2 100644 --- a/Avalara/SDK/models/EInvoicing/V1/webhooks_error_info.py +++ b/Avalara/SDK/models/EInvoicing/V1/webhooks_error_info.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/webhooks_error_response.py b/Avalara/SDK/models/EInvoicing/V1/webhooks_error_response.py index 47b3ccd..a04393e 100644 --- a/Avalara/SDK/models/EInvoicing/V1/webhooks_error_response.py +++ b/Avalara/SDK/models/EInvoicing/V1/webhooks_error_response.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/Avalara/SDK/models/EInvoicing/V1/workflow_ids.py b/Avalara/SDK/models/EInvoicing/V1/workflow_ids.py index d251c1a..5e226d2 100644 --- a/Avalara/SDK/models/EInvoicing/V1/workflow_ids.py +++ b/Avalara/SDK/models/EInvoicing/V1/workflow_ids.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ diff --git a/README.md b/README.md index 4dc2f2f..a78b2d6 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,10 @@ Class | Method | HTTP request | Description *Issuers1099Api* | [**get_issuers**](docs/A1099/V2/Issuers1099Api.md#get_issuers) | **GET** /1099/issuers | List issuers *Issuers1099Api* | [**update_issuer**](docs/A1099/V2/Issuers1099Api.md#update_issuer) | **PUT** /1099/issuers/{id} | Update an issuer *JobsApi* | [**get_job**](docs/A1099/V2/JobsApi.md#get_job) | **GET** /jobs/{id} | Retrieves information about the job +*TINMatchesApi* | [**get_bulk_tin_match**](docs/A1099/V2/TINMatchesApi.md#get_bulk_tin_match) | **GET** /tin-matches/$bulk/{id} | Get bulk TIN match details +*TINMatchesApi* | [**get_bulk_tin_match_results**](docs/A1099/V2/TINMatchesApi.md#get_bulk_tin_match_results) | **GET** /tin-matches/$bulk/{id}/results | List bulk TIN match results *TINMatchesApi* | [**perform_real_time_tin_match**](docs/A1099/V2/TINMatchesApi.md#perform_real_time_tin_match) | **POST** /tin-matches/$real-time | Perform real time TIN Match +*TINMatchesApi* | [**submit_bulk_tin_match**](docs/A1099/V2/TINMatchesApi.md#submit_bulk_tin_match) | **POST** /tin-matches/$bulk | Submit bulk TIN match ## Documentation for Models @@ -304,6 +307,12 @@ Class | Method | HTTP request | Description ### A1099 V2 Model Documentation + - [Avalara.SDK.models.A1099.V2.BulkTinMatchAcceptedResponse](docs/A1099/V2/BulkTinMatchAcceptedResponse.md) + - [Avalara.SDK.models.A1099.V2.BulkTinMatchIrsResponse](docs/A1099/V2/BulkTinMatchIrsResponse.md) + - [Avalara.SDK.models.A1099.V2.BulkTinMatchRequest](docs/A1099/V2/BulkTinMatchRequest.md) + - [Avalara.SDK.models.A1099.V2.BulkTinMatchRequestItem](docs/A1099/V2/BulkTinMatchRequestItem.md) + - [Avalara.SDK.models.A1099.V2.BulkTinMatchResponse](docs/A1099/V2/BulkTinMatchResponse.md) + - [Avalara.SDK.models.A1099.V2.BulkTinMatchResultItemResponse](docs/A1099/V2/BulkTinMatchResultItemResponse.md) - [Avalara.SDK.models.A1099.V2.CompanyRequest](docs/A1099/V2/CompanyRequest.md) - [Avalara.SDK.models.A1099.V2.CompanyResponse](docs/A1099/V2/CompanyResponse.md) - [Avalara.SDK.models.A1099.V2.CoveredIndividual](docs/A1099/V2/CoveredIndividual.md) @@ -316,7 +325,9 @@ Class | Method | HTTP request | Description - [Avalara.SDK.models.A1099.V2.Form1042S](docs/A1099/V2/Form1042S.md) - [Avalara.SDK.models.A1099.V2.Form1095B](docs/A1099/V2/Form1095B.md) - [Avalara.SDK.models.A1099.V2.Form1095C](docs/A1099/V2/Form1095C.md) + - [Avalara.SDK.models.A1099.V2.Form1098](docs/A1099/V2/Form1098.md) - [Avalara.SDK.models.A1099.V2.Form1099Base](docs/A1099/V2/Form1099Base.md) + - [Avalara.SDK.models.A1099.V2.Form1099C](docs/A1099/V2/Form1099C.md) - [Avalara.SDK.models.A1099.V2.Form1099Div](docs/A1099/V2/Form1099Div.md) - [Avalara.SDK.models.A1099.V2.Form1099Int](docs/A1099/V2/Form1099Int.md) - [Avalara.SDK.models.A1099.V2.Form1099K](docs/A1099/V2/Form1099K.md) @@ -325,6 +336,7 @@ Class | Method | HTTP request | Description - [Avalara.SDK.models.A1099.V2.Form1099Nec](docs/A1099/V2/Form1099Nec.md) - [Avalara.SDK.models.A1099.V2.Form1099Patr](docs/A1099/V2/Form1099Patr.md) - [Avalara.SDK.models.A1099.V2.Form1099R](docs/A1099/V2/Form1099R.md) + - [Avalara.SDK.models.A1099.V2.Form1099S](docs/A1099/V2/Form1099S.md) - [Avalara.SDK.models.A1099.V2.Form1099StatusDetail](docs/A1099/V2/Form1099StatusDetail.md) - [Avalara.SDK.models.A1099.V2.Form1099W2](docs/A1099/V2/Form1099W2.md) - [Avalara.SDK.models.A1099.V2.Get1099Form200Response](docs/A1099/V2/Get1099Form200Response.md) @@ -336,6 +348,7 @@ Class | Method | HTTP request | Description - [Avalara.SDK.models.A1099.V2.IssuerWriteResponse](docs/A1099/V2/IssuerWriteResponse.md) - [Avalara.SDK.models.A1099.V2.JobResponse](docs/A1099/V2/JobResponse.md) - [Avalara.SDK.models.A1099.V2.OfferAndCoverage](docs/A1099/V2/OfferAndCoverage.md) + - [Avalara.SDK.models.A1099.V2.PaginatedQueryResultModelBulkTinMatchResultItemResponse](docs/A1099/V2/PaginatedQueryResultModelBulkTinMatchResultItemResponse.md) - [Avalara.SDK.models.A1099.V2.PaginatedQueryResultModelCompanyResponse](docs/A1099/V2/PaginatedQueryResultModelCompanyResponse.md) - [Avalara.SDK.models.A1099.V2.PaginatedQueryResultModelForm1099Base](docs/A1099/V2/PaginatedQueryResultModelForm1099Base.md) - [Avalara.SDK.models.A1099.V2.PaginatedQueryResultModelIssuerResponse](docs/A1099/V2/PaginatedQueryResultModelIssuerResponse.md) diff --git a/docs/A1099/V2/BulkTinMatchAcceptedResponse.md b/docs/A1099/V2/BulkTinMatchAcceptedResponse.md new file mode 100644 index 0000000..54c1edf --- /dev/null +++ b/docs/A1099/V2/BulkTinMatchAcceptedResponse.md @@ -0,0 +1,29 @@ +# BulkTinMatchAcceptedResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The bulk identifier required to get the results. | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.bulk_tin_match_accepted_response import BulkTinMatchAcceptedResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkTinMatchAcceptedResponse from a JSON string +bulk_tin_match_accepted_response_instance = BulkTinMatchAcceptedResponse.from_json(json) +# print the JSON string representation of the object +print(BulkTinMatchAcceptedResponse.to_json()) + +# convert the object into a dict +bulk_tin_match_accepted_response_dict = bulk_tin_match_accepted_response_instance.to_dict() +# create an instance of BulkTinMatchAcceptedResponse from a dict +bulk_tin_match_accepted_response_from_dict = BulkTinMatchAcceptedResponse.from_dict(bulk_tin_match_accepted_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/BulkTinMatchIrsResponse.md b/docs/A1099/V2/BulkTinMatchIrsResponse.md new file mode 100644 index 0000000..685925d --- /dev/null +++ b/docs/A1099/V2/BulkTinMatchIrsResponse.md @@ -0,0 +1,30 @@ +# BulkTinMatchIrsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **str** | | [optional] +**description** | **str** | | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.bulk_tin_match_irs_response import BulkTinMatchIrsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkTinMatchIrsResponse from a JSON string +bulk_tin_match_irs_response_instance = BulkTinMatchIrsResponse.from_json(json) +# print the JSON string representation of the object +print(BulkTinMatchIrsResponse.to_json()) + +# convert the object into a dict +bulk_tin_match_irs_response_dict = bulk_tin_match_irs_response_instance.to_dict() +# create an instance of BulkTinMatchIrsResponse from a dict +bulk_tin_match_irs_response_from_dict = BulkTinMatchIrsResponse.from_dict(bulk_tin_match_irs_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/BulkTinMatchRequest.md b/docs/A1099/V2/BulkTinMatchRequest.md new file mode 100644 index 0000000..8f6b11f --- /dev/null +++ b/docs/A1099/V2/BulkTinMatchRequest.md @@ -0,0 +1,29 @@ +# BulkTinMatchRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**items** | [**List[BulkTinMatchRequestItem]**](BulkTinMatchRequestItem.md) | Collection of TINs to be submitted to TIN match. | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.bulk_tin_match_request import BulkTinMatchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkTinMatchRequest from a JSON string +bulk_tin_match_request_instance = BulkTinMatchRequest.from_json(json) +# print the JSON string representation of the object +print(BulkTinMatchRequest.to_json()) + +# convert the object into a dict +bulk_tin_match_request_dict = bulk_tin_match_request_instance.to_dict() +# create an instance of BulkTinMatchRequest from a dict +bulk_tin_match_request_from_dict = BulkTinMatchRequest.from_dict(bulk_tin_match_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/BulkTinMatchRequestItem.md b/docs/A1099/V2/BulkTinMatchRequestItem.md new file mode 100644 index 0000000..58c5b10 --- /dev/null +++ b/docs/A1099/V2/BulkTinMatchRequestItem.md @@ -0,0 +1,32 @@ +# BulkTinMatchRequestItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tin_type** | **str** | The TIN type. | [optional] +**tin** | **str** | The TIN to be submitted to TIN match. | [optional] +**name** | **str** | The entity name to be submitted to TIN match. | [optional] +**reference_id** | **str** | The reference identifier for the TIN to be submitted. | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.bulk_tin_match_request_item import BulkTinMatchRequestItem + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkTinMatchRequestItem from a JSON string +bulk_tin_match_request_item_instance = BulkTinMatchRequestItem.from_json(json) +# print the JSON string representation of the object +print(BulkTinMatchRequestItem.to_json()) + +# convert the object into a dict +bulk_tin_match_request_item_dict = bulk_tin_match_request_item_instance.to_dict() +# create an instance of BulkTinMatchRequestItem from a dict +bulk_tin_match_request_item_from_dict = BulkTinMatchRequestItem.from_dict(bulk_tin_match_request_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/BulkTinMatchResponse.md b/docs/A1099/V2/BulkTinMatchResponse.md new file mode 100644 index 0000000..4d80eb1 --- /dev/null +++ b/docs/A1099/V2/BulkTinMatchResponse.md @@ -0,0 +1,33 @@ +# BulkTinMatchResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**status** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**results_url** | **str** | | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.bulk_tin_match_response import BulkTinMatchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkTinMatchResponse from a JSON string +bulk_tin_match_response_instance = BulkTinMatchResponse.from_json(json) +# print the JSON string representation of the object +print(BulkTinMatchResponse.to_json()) + +# convert the object into a dict +bulk_tin_match_response_dict = bulk_tin_match_response_instance.to_dict() +# create an instance of BulkTinMatchResponse from a dict +bulk_tin_match_response_from_dict = BulkTinMatchResponse.from_dict(bulk_tin_match_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/BulkTinMatchResultItemResponse.md b/docs/A1099/V2/BulkTinMatchResultItemResponse.md new file mode 100644 index 0000000..f1de07f --- /dev/null +++ b/docs/A1099/V2/BulkTinMatchResultItemResponse.md @@ -0,0 +1,31 @@ +# BulkTinMatchResultItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **str** | | [optional] +**irs_response** | [**BulkTinMatchIrsResponse**](BulkTinMatchIrsResponse.md) | | [optional] +**reference_id** | **str** | | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.bulk_tin_match_result_item_response import BulkTinMatchResultItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkTinMatchResultItemResponse from a JSON string +bulk_tin_match_result_item_response_instance = BulkTinMatchResultItemResponse.from_json(json) +# print the JSON string representation of the object +print(BulkTinMatchResultItemResponse.to_json()) + +# convert the object into a dict +bulk_tin_match_result_item_response_dict = bulk_tin_match_result_item_response_instance.to_dict() +# create an instance of BulkTinMatchResultItemResponse from a dict +bulk_tin_match_result_item_response_from_dict = BulkTinMatchResultItemResponse.from_dict(bulk_tin_match_result_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/CompaniesW9Api.md b/docs/A1099/V2/CompaniesW9Api.md index 16d4460..93b6de0 100644 --- a/docs/A1099/V2/CompaniesW9Api.md +++ b/docs/A1099/V2/CompaniesW9Api.md @@ -45,7 +45,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = companies_w9_api.CompaniesW9Api(api_client) avalara_version = '2.0.0' # str | API version - x_correlation_id = 'a6a6ff01-3320-4e78-b395-fba7d4a82be8' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '1c77f22b-8eec-4a7f-ba13-3598178037e4' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) company_request = {"name":"Acme Corporation","dbaName":"","email":"contact@acmecorp.com","address":"123 Business Ave","city":"Phoenix","state":"AZ","zip":"85001","telephone":"602-555-0123","tin":"12-3456789","referenceId":"","doTinMatch":null,"groupName":"","foreignProvince":"","countryCode":"US","resendRequests":null,"resendIntervalDays":null,"maxReminderAttempts":null} # CompanyRequest | The company to create (optional) # example passing only required values which don't have defaults set @@ -132,7 +132,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = companies_w9_api.CompaniesW9Api(api_client) id = 'id_example' # str | The company to delete avalara_version = '2.0.0' # str | API version - x_correlation_id = '394fd272-5b46-4dd8-9f4d-fa3687176455' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'e3c39765-db00-449a-b3b4-9110dbe6b231' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -224,7 +224,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: order_by = 'order_by_example' # str | A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC. (optional) count = True # bool | If true, return the global count of elements in the collection. (optional) count_only = True # bool | If true, return ONLY the global count of elements in the collection. It only applies when count=true. (optional) - x_correlation_id = 'a2153a47-55d5-4573-9bf2-c280e1edec2c' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '22ad4154-895e-4047-b394-665a56c4af95' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -318,7 +318,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = companies_w9_api.CompaniesW9Api(api_client) id = 'id_example' # str | Id of the company avalara_version = '2.0.0' # str | API version - x_correlation_id = 'a15988e6-52f6-4890-9c78-db2f0530d800' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '80446dbd-be15-490e-b9e5-6a24f4dc6467' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -408,7 +408,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = companies_w9_api.CompaniesW9Api(api_client) id = 'id_example' # str | The ID of the company to update avalara_version = '2.0.0' # str | API version - x_correlation_id = '3ed0b33d-ac1c-4cf4-9bfc-db7796038ee8' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '55adbfc0-219c-4c8f-b5df-e4cf25fe5e35' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) company_request = {"name":"Acme Corporation","dbaName":"","email":"contact@acmecorp.com","address":"123 Business Ave","city":"Phoenix","state":"AZ","zip":"85001","telephone":"602-555-0123","tin":"12-3456789","referenceId":"","doTinMatch":null,"groupName":"","foreignProvince":"","countryCode":"US","resendRequests":null,"resendIntervalDays":null,"maxReminderAttempts":null} # CompanyRequest | The updated company data (optional) # example passing only required values which don't have defaults set diff --git a/docs/A1099/V2/Form1098.md b/docs/A1099/V2/Form1098.md new file mode 100644 index 0000000..ee5a3b8 --- /dev/null +++ b/docs/A1099/V2/Form1098.md @@ -0,0 +1,85 @@ +# Form1098 + +Form 1098: Mortgage Interest Statement The recipient is the borrower and the issuer is the lender, with one form per mortgage. *Required:* Mortgage Interest Received unless Other is given (otherwise at least one amount must be above zero), and exactly one of Address or Description of Property and the same-address indicator. Limits: Address or Description of Property and Other, 39 characters each; Mortgage Origination Date, at most 45 years before the tax year; Mortgage Acquisition Date, within the tax year; Number of Properties, 2 to 9999 (empty for one). Form 1098 has no state or local boxes, so `stateAndLocalWithholding` is discarded and reads back as `null`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**mortgage_interest_received** | **float** | Mortgage interest received from payer(s)/borrower(s) | [optional] +**outstanding_mortgage_principal** | **float** | Outstanding mortgage principal | [optional] +**mortgage_origination_date** | **date** | Mortgage origination date | [optional] +**refund_of_overpaid_interest** | **float** | Refund of overpaid interest | [optional] +**mortgage_insurance_premiums** | **float** | Mortgage insurance premiums | [optional] +**points_paid_on_purchase_of_principal_residence** | **float** | Points paid on purchase of principal residence | [optional] +**property_address_same_as_borrower_indicator** | **bool** | If checked, the property securing the mortgage is at the borrower's address | [optional] +**property_address_or_description** | **str** | Address or description of property securing mortgage (up to 39 characters) | [optional] +**number_of_properties_securing_mortgage** | **int** | Number of properties securing the mortgage, if more than one | [optional] +**other_information** | **str** | Other (up to 39 characters), such as real estate taxes or insurance paid from escrow | [optional] +**mortgage_acquisition_date** | **date** | Mortgage acquisition date, if the mortgage was acquired during the tax year | [optional] +**type** | **str** | Form type. | +**id** | **str** | Form ID. Unique identifier set when the record is created. | [optional] [readonly] +**issuer_id** | **str** | Issuer ID - only required when creating forms | [optional] +**issuer_reference_id** | **str** | Issuer Reference ID - only required when creating forms via $bulk-upsert | [optional] +**issuer_tin** | **str** | Issuer TIN - readonly | [optional] +**tax_year** | **int** | Tax Year - only required when creating forms via $bulk-upsert | [optional] +**reference_id** | **str** | Internal reference ID. Never shown to any agency or recipient. | [optional] +**tin** | **str** | Recipient's Federal Tax Identification Number (TIN). | [optional] +**recipient_name** | **str** | DEPRECATED: Use `businessName` for businesses; use `firstName`, `middleName`, `lastName`, and `suffixName` for individuals. | [optional] +**address** | **str** | Address. | +**address2** | **str** | Address line 2. | [optional] +**city** | **str** | City. | +**state** | **str** | Two-letter US state or Canadian province code (required for US/CA addresses). | [optional] +**zip** | **str** | ZIP/postal code. | [optional] +**email** | **str** | Recipient's Contact email address. | [optional] +**non_us_province** | **str** | Province or region for non-US/CA addresses. | [optional] +**country_code** | **str** | Two-letter IRS country code (e.g., 'US', 'CA'), as defined at https://www.irs.gov/e-file-providers/country-codes. | +**federal_efile_date** | **date** | Date when federal e-filing should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**postal_mail** | **bool** | Boolean indicating that postal mailing to the recipient should be scheduled for this form | [optional] +**state_efile_date** | **date** | Date when state e-filing should be scheduled. Must be on or after federalEfileDate. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**recipient_edelivery_date** | **date** | Date when recipient e-delivery should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**tin_match** | **bool** | Boolean indicating that TIN Matching should be scheduled for this form | [optional] +**address_verification** | **bool** | Boolean indicating that address verification should be scheduled for this form | [optional] +**state_and_local_withholding** | [**StateAndLocalWithholding**](StateAndLocalWithholding.md) | State and local withholding information | [optional] +**federal_efile_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Federal e-file status. Available values: - unscheduled: Form has not been scheduled for federal e-filing - scheduled: Form is scheduled for federal e-filing - airlock: Form is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - sent: Form has been sent to the IRS - accepted: Form was accepted by the IRS - corrected_scheduled: Correction is scheduled to be sent - corrected_airlock: Correction is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - corrected: A correction has been sent to the IRS - corrected_accepted: Correction was accepted by the IRS - rejected: Form was rejected by the IRS - corrected_rejected: Correction was rejected by the IRS - held: Form is held and will not be submitted to IRS (used for certain forms submitted only to states) | [optional] [readonly] +**state_efile_status** | [**List[StateEfileStatusDetail]**](StateEfileStatusDetail.md) | State e-file status. Available values: - unscheduled: Form has not been scheduled for state e-filing - scheduled: Form is scheduled for state e-filing - airlocked: Form is in process of being uploaded to the state - sent: Form has been sent to the state - rejected: Form was rejected by the state - accepted: Form was accepted by the state - corrected_scheduled: Correction is scheduled to be sent - corrected_airlocked: Correction is in process of being uploaded to the state - corrected_sent: Correction has been sent to the state - corrected_rejected: Correction was rejected by the state - corrected_accepted: Correction was accepted by the state | [optional] [readonly] +**postal_mail_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Postal mail to recipient status. Available values: - unscheduled: Postal mail has not been scheduled - pending: Postal mail is pending to be sent - sent: Postal mail has been sent - delivered: Postal mail has been delivered | [optional] [readonly] +**tin_match_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | TIN Match status. Available values: - none: TIN matching has not been performed - pending: TIN matching request is pending - matched: Name/TIN combination matches IRS records - unknown: TIN is missing, invalid, or request contains errors - rejected: Name/TIN combination does not match IRS records or TIN not currently issued | [optional] [readonly] +**address_verification_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Address verification status. Available values: - unknown: Address verification has not been checked - pending: Address verification is in progress - failed: Address verification failed - incomplete: Address verification is incomplete - unchanged: User declined address changes - verified: Address has been verified and accepted | [optional] [readonly] +**e_delivery_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | EDelivery status. Available values: - unscheduled: E-delivery has not been scheduled - scheduled: E-delivery is scheduled to be sent - sent: E-delivery has been sent to recipient - bounced: E-delivery bounced back (invalid email) - refused: E-delivery was refused by recipient - bad_verify: E-delivery failed verification - accepted: E-delivery was accepted by recipient - bad_verify_limit: E-delivery failed verification limit reached - second_delivery: Second e-delivery attempt - undelivered: E-delivery is undelivered (temporary state allowing resend) | [optional] [readonly] +**validation_errors** | [**List[ValidationError]**](ValidationError.md) | Validation errors | [optional] [readonly] +**created_at** | **datetime** | Date time when the record was created. | [optional] [readonly] +**updated_at** | **datetime** | Date time when the record was last updated. | [optional] [readonly] +**tin_type** | **str** | Recipient classification. The platform is transitioning from tax identifier classifications to recipient entity classifications. New values represent recipient entity types and should be preferred. Deprecated values represent identifier formats and remain supported for backward compatibility only. Available values: - INDIVIDUAL: Recipient is an individual - BUSINESS: Recipient is a business - UNKNOWN: Recipient classification is unknown - EIN: (Deprecated - use BUSINESS) Employer Identification Number - SSN: (Deprecated - use INDIVIDUAL) Social Security Number - ITIN: (Deprecated - use INDIVIDUAL) Individual Taxpayer Identification Number - ATIN: (Deprecated - use INDIVIDUAL) Adoption Taxpayer Identification Number | [optional] +**business_name** | **str** | Business name. Required when the recipient of the form is a business; should only be used for businesses. | [optional] +**business_name2** | **str** | Business name line 2. Should only be used for businesses. | [optional] +**first_name** | **str** | First name. Required when the recipient of the form is an individual; should only be used for individuals. | [optional] +**middle_name** | **str** | Middle name. Should only be used for individuals. | [optional] +**last_name** | **str** | Last name. Required when the recipient of the form is an individual; should only be used for individuals. | [optional] +**suffix_name** | **str** | Suffix name. Should only be used for individuals. | [optional] +**recipient_second_name** | **str** | DEPRECATED: Use `businessName2` instead. | [optional] +**account_number** | **str** | Account number | [optional] +**office_code** | **str** | Office code | [optional] +**no_tin** | **bool** | No TIN indicator | [optional] +**second_tin_notice** | **bool** | Second TIN notice | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.form1098 import Form1098 + +# TODO update the JSON string below +json = "{}" +# create an instance of Form1098 from a JSON string +form1098_instance = Form1098.from_json(json) +# print the JSON string representation of the object +print(Form1098.to_json()) + +# convert the object into a dict +form1098_dict = form1098_instance.to_dict() +# create an instance of Form1098 from a dict +form1098_from_dict = Form1098.from_dict(form1098_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/Form1099C.md b/docs/A1099/V2/Form1099C.md new file mode 100644 index 0000000..d026ae1 --- /dev/null +++ b/docs/A1099/V2/Form1099C.md @@ -0,0 +1,81 @@ +# Form1099C + +Form 1099-C: Cancellation of Debt *Required:* Date of Identifiable Event, Amount of Debt Discharged and Debt Description. The IRS also requires the Identifiable Event Code. The Debt Description is limited to 39 characters. Form 1099-C has no state or local boxes, so `stateAndLocalWithholding` is discarded and reads back as `null`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**date_of_identifiable_event** | **date** | Date of identifiable event | +**amount_of_debt_discharged** | **float** | Amount of debt discharged | +**interest_included_in_debt_discharged** | **float** | Interest, if included in the amount of debt discharged | [optional] +**debt_description** | **str** | Debt description (up to 39 characters) | +**debtor_personally_liable_indicator** | **bool** | If checked, the debtor was personally liable for repayment of the debt | [optional] +**identifiable_event_code** | **str** | Identifiable event code. * `A` - Bankruptcy * `B` - Other judicial debt relief * `C` - Statute of limitations or expiration of deficiency period * `D` - Foreclosure election * `E` - Debt relief from probate or similar proceeding * `F` - By agreement * `G` - Decision or policy to discontinue collection * `H` - Other actual discharge before identifiable event * `I` - Deprecated; retired by the IRS in 2016 and folded into `H`. Only valid for prior tax years. | +**fair_market_value_of_property** | **float** | Fair market value of property | [optional] +**type** | **str** | Form type. | +**id** | **str** | Form ID. Unique identifier set when the record is created. | [optional] [readonly] +**issuer_id** | **str** | Issuer ID - only required when creating forms | [optional] +**issuer_reference_id** | **str** | Issuer Reference ID - only required when creating forms via $bulk-upsert | [optional] +**issuer_tin** | **str** | Issuer TIN - readonly | [optional] +**tax_year** | **int** | Tax Year - only required when creating forms via $bulk-upsert | [optional] +**reference_id** | **str** | Internal reference ID. Never shown to any agency or recipient. | [optional] +**tin** | **str** | Recipient's Federal Tax Identification Number (TIN). | [optional] +**recipient_name** | **str** | DEPRECATED: Use `businessName` for businesses; use `firstName`, `middleName`, `lastName`, and `suffixName` for individuals. | [optional] +**address** | **str** | Address. | +**address2** | **str** | Address line 2. | [optional] +**city** | **str** | City. | +**state** | **str** | Two-letter US state or Canadian province code (required for US/CA addresses). | [optional] +**zip** | **str** | ZIP/postal code. | [optional] +**email** | **str** | Recipient's Contact email address. | [optional] +**non_us_province** | **str** | Province or region for non-US/CA addresses. | [optional] +**country_code** | **str** | Two-letter IRS country code (e.g., 'US', 'CA'), as defined at https://www.irs.gov/e-file-providers/country-codes. | +**federal_efile_date** | **date** | Date when federal e-filing should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**postal_mail** | **bool** | Boolean indicating that postal mailing to the recipient should be scheduled for this form | [optional] +**state_efile_date** | **date** | Date when state e-filing should be scheduled. Must be on or after federalEfileDate. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**recipient_edelivery_date** | **date** | Date when recipient e-delivery should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**tin_match** | **bool** | Boolean indicating that TIN Matching should be scheduled for this form | [optional] +**address_verification** | **bool** | Boolean indicating that address verification should be scheduled for this form | [optional] +**state_and_local_withholding** | [**StateAndLocalWithholding**](StateAndLocalWithholding.md) | State and local withholding information | [optional] +**federal_efile_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Federal e-file status. Available values: - unscheduled: Form has not been scheduled for federal e-filing - scheduled: Form is scheduled for federal e-filing - airlock: Form is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - sent: Form has been sent to the IRS - accepted: Form was accepted by the IRS - corrected_scheduled: Correction is scheduled to be sent - corrected_airlock: Correction is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - corrected: A correction has been sent to the IRS - corrected_accepted: Correction was accepted by the IRS - rejected: Form was rejected by the IRS - corrected_rejected: Correction was rejected by the IRS - held: Form is held and will not be submitted to IRS (used for certain forms submitted only to states) | [optional] [readonly] +**state_efile_status** | [**List[StateEfileStatusDetail]**](StateEfileStatusDetail.md) | State e-file status. Available values: - unscheduled: Form has not been scheduled for state e-filing - scheduled: Form is scheduled for state e-filing - airlocked: Form is in process of being uploaded to the state - sent: Form has been sent to the state - rejected: Form was rejected by the state - accepted: Form was accepted by the state - corrected_scheduled: Correction is scheduled to be sent - corrected_airlocked: Correction is in process of being uploaded to the state - corrected_sent: Correction has been sent to the state - corrected_rejected: Correction was rejected by the state - corrected_accepted: Correction was accepted by the state | [optional] [readonly] +**postal_mail_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Postal mail to recipient status. Available values: - unscheduled: Postal mail has not been scheduled - pending: Postal mail is pending to be sent - sent: Postal mail has been sent - delivered: Postal mail has been delivered | [optional] [readonly] +**tin_match_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | TIN Match status. Available values: - none: TIN matching has not been performed - pending: TIN matching request is pending - matched: Name/TIN combination matches IRS records - unknown: TIN is missing, invalid, or request contains errors - rejected: Name/TIN combination does not match IRS records or TIN not currently issued | [optional] [readonly] +**address_verification_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Address verification status. Available values: - unknown: Address verification has not been checked - pending: Address verification is in progress - failed: Address verification failed - incomplete: Address verification is incomplete - unchanged: User declined address changes - verified: Address has been verified and accepted | [optional] [readonly] +**e_delivery_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | EDelivery status. Available values: - unscheduled: E-delivery has not been scheduled - scheduled: E-delivery is scheduled to be sent - sent: E-delivery has been sent to recipient - bounced: E-delivery bounced back (invalid email) - refused: E-delivery was refused by recipient - bad_verify: E-delivery failed verification - accepted: E-delivery was accepted by recipient - bad_verify_limit: E-delivery failed verification limit reached - second_delivery: Second e-delivery attempt - undelivered: E-delivery is undelivered (temporary state allowing resend) | [optional] [readonly] +**validation_errors** | [**List[ValidationError]**](ValidationError.md) | Validation errors | [optional] [readonly] +**created_at** | **datetime** | Date time when the record was created. | [optional] [readonly] +**updated_at** | **datetime** | Date time when the record was last updated. | [optional] [readonly] +**tin_type** | **str** | Recipient classification. The platform is transitioning from tax identifier classifications to recipient entity classifications. New values represent recipient entity types and should be preferred. Deprecated values represent identifier formats and remain supported for backward compatibility only. Available values: - INDIVIDUAL: Recipient is an individual - BUSINESS: Recipient is a business - UNKNOWN: Recipient classification is unknown - EIN: (Deprecated - use BUSINESS) Employer Identification Number - SSN: (Deprecated - use INDIVIDUAL) Social Security Number - ITIN: (Deprecated - use INDIVIDUAL) Individual Taxpayer Identification Number - ATIN: (Deprecated - use INDIVIDUAL) Adoption Taxpayer Identification Number | [optional] +**business_name** | **str** | Business name. Required when the recipient of the form is a business; should only be used for businesses. | [optional] +**business_name2** | **str** | Business name line 2. Should only be used for businesses. | [optional] +**first_name** | **str** | First name. Required when the recipient of the form is an individual; should only be used for individuals. | [optional] +**middle_name** | **str** | Middle name. Should only be used for individuals. | [optional] +**last_name** | **str** | Last name. Required when the recipient of the form is an individual; should only be used for individuals. | [optional] +**suffix_name** | **str** | Suffix name. Should only be used for individuals. | [optional] +**recipient_second_name** | **str** | DEPRECATED: Use `businessName2` instead. | [optional] +**account_number** | **str** | Account number | [optional] +**office_code** | **str** | Office code | [optional] +**no_tin** | **bool** | No TIN indicator | [optional] +**second_tin_notice** | **bool** | Second TIN notice | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.form1099_c import Form1099C + +# TODO update the JSON string below +json = "{}" +# create an instance of Form1099C from a JSON string +form1099_c_instance = Form1099C.from_json(json) +# print the JSON string representation of the object +print(Form1099C.to_json()) + +# convert the object into a dict +form1099_c_dict = form1099_c_instance.to_dict() +# create an instance of Form1099C from a dict +form1099_c_from_dict = Form1099C.from_dict(form1099_c_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/Form1099ListRequest.md b/docs/A1099/V2/Form1099ListRequest.md index 84bf106..8fdb6c5 100644 --- a/docs/A1099/V2/Form1099ListRequest.md +++ b/docs/A1099/V2/Form1099ListRequest.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**type** | **str** | Available form types: * `1042-S` * `1095-B` * `1095-C` * `1099-DIV` * `1099-INT` * `1099-K` * `1099-MISC` * `1099-NEC` * `1099-PATR` * `1099-R` * `W-2` | [optional] +**type** | **str** | Available form types: * `1042-S` * `1095-B` * `1095-C` * `1098` * `1099-C` * `1099-DIV` * `1099-INT` * `1099-K` * `1099-MISC` * `1099-NEC` * `1099-PATR` * `1099-R` * `1099-S` * `W-2` | [optional] **forms** | [**List[Get1099Form200Response]**](Get1099Form200Response.md) | | [optional] ## Example diff --git a/docs/A1099/V2/Form1099S.md b/docs/A1099/V2/Form1099S.md new file mode 100644 index 0000000..0972ed6 --- /dev/null +++ b/docs/A1099/V2/Form1099S.md @@ -0,0 +1,80 @@ +# Form1099S + +Form 1099-S: Proceeds From Real Estate Transactions The recipient is the transferor (seller) and the issuer is the filer (settlement agent). *Required:* Date of Closing, Address or Legal Description, and, unless the transferor received property or services, Gross Proceeds, with Gross Proceeds plus Buyer's Part of Real Estate Tax above zero. The Date of Closing must fall in the tax year or the ten years before it. The Address or Legal Description is limited to 39 characters. Form 1099-S has no state or local boxes, so `stateAndLocalWithholding` is discarded and reads back as `null`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**date_of_closing** | **date** | Date of closing | +**gross_proceeds** | **float** | Gross proceeds (the total gross proceeds, from tax year 2026 labeled Box 2a) | [optional] +**property_address_or_legal_description** | **str** | Address or legal description of the property, including city, state and ZIP code (up to 39 characters) | +**transferor_received_property_or_services_indicator** | **bool** | If checked, the transferor received or will receive property or services as part of the consideration | [optional] +**transferor_is_foreign_person_indicator** | **bool** | If checked, the transferor is a foreign person (nonresident alien, foreign partnership, foreign estate or foreign trust) | [optional] +**buyers_part_of_real_estate_tax** | **float** | Buyer's part of real estate tax | [optional] +**type** | **str** | Form type. | +**id** | **str** | Form ID. Unique identifier set when the record is created. | [optional] [readonly] +**issuer_id** | **str** | Issuer ID - only required when creating forms | [optional] +**issuer_reference_id** | **str** | Issuer Reference ID - only required when creating forms via $bulk-upsert | [optional] +**issuer_tin** | **str** | Issuer TIN - readonly | [optional] +**tax_year** | **int** | Tax Year - only required when creating forms via $bulk-upsert | [optional] +**reference_id** | **str** | Internal reference ID. Never shown to any agency or recipient. | [optional] +**tin** | **str** | Recipient's Federal Tax Identification Number (TIN). | [optional] +**recipient_name** | **str** | DEPRECATED: Use `businessName` for businesses; use `firstName`, `middleName`, `lastName`, and `suffixName` for individuals. | [optional] +**address** | **str** | Address. | +**address2** | **str** | Address line 2. | [optional] +**city** | **str** | City. | +**state** | **str** | Two-letter US state or Canadian province code (required for US/CA addresses). | [optional] +**zip** | **str** | ZIP/postal code. | [optional] +**email** | **str** | Recipient's Contact email address. | [optional] +**non_us_province** | **str** | Province or region for non-US/CA addresses. | [optional] +**country_code** | **str** | Two-letter IRS country code (e.g., 'US', 'CA'), as defined at https://www.irs.gov/e-file-providers/country-codes. | +**federal_efile_date** | **date** | Date when federal e-filing should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**postal_mail** | **bool** | Boolean indicating that postal mailing to the recipient should be scheduled for this form | [optional] +**state_efile_date** | **date** | Date when state e-filing should be scheduled. Must be on or after federalEfileDate. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**recipient_edelivery_date** | **date** | Date when recipient e-delivery should be scheduled. If set between current date and beginning of blackout period, scheduled to that date. If in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. Set to null to leave unscheduled. | [optional] +**tin_match** | **bool** | Boolean indicating that TIN Matching should be scheduled for this form | [optional] +**address_verification** | **bool** | Boolean indicating that address verification should be scheduled for this form | [optional] +**state_and_local_withholding** | [**StateAndLocalWithholding**](StateAndLocalWithholding.md) | State and local withholding information | [optional] +**federal_efile_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Federal e-file status. Available values: - unscheduled: Form has not been scheduled for federal e-filing - scheduled: Form is scheduled for federal e-filing - airlock: Form is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - sent: Form has been sent to the IRS - accepted: Form was accepted by the IRS - corrected_scheduled: Correction is scheduled to be sent - corrected_airlock: Correction is in process of being uploaded to the IRS (forms exist in this state for a very short period and cannot be updated while in this state) - corrected: A correction has been sent to the IRS - corrected_accepted: Correction was accepted by the IRS - rejected: Form was rejected by the IRS - corrected_rejected: Correction was rejected by the IRS - held: Form is held and will not be submitted to IRS (used for certain forms submitted only to states) | [optional] [readonly] +**state_efile_status** | [**List[StateEfileStatusDetail]**](StateEfileStatusDetail.md) | State e-file status. Available values: - unscheduled: Form has not been scheduled for state e-filing - scheduled: Form is scheduled for state e-filing - airlocked: Form is in process of being uploaded to the state - sent: Form has been sent to the state - rejected: Form was rejected by the state - accepted: Form was accepted by the state - corrected_scheduled: Correction is scheduled to be sent - corrected_airlocked: Correction is in process of being uploaded to the state - corrected_sent: Correction has been sent to the state - corrected_rejected: Correction was rejected by the state - corrected_accepted: Correction was accepted by the state | [optional] [readonly] +**postal_mail_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Postal mail to recipient status. Available values: - unscheduled: Postal mail has not been scheduled - pending: Postal mail is pending to be sent - sent: Postal mail has been sent - delivered: Postal mail has been delivered | [optional] [readonly] +**tin_match_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | TIN Match status. Available values: - none: TIN matching has not been performed - pending: TIN matching request is pending - matched: Name/TIN combination matches IRS records - unknown: TIN is missing, invalid, or request contains errors - rejected: Name/TIN combination does not match IRS records or TIN not currently issued | [optional] [readonly] +**address_verification_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | Address verification status. Available values: - unknown: Address verification has not been checked - pending: Address verification is in progress - failed: Address verification failed - incomplete: Address verification is incomplete - unchanged: User declined address changes - verified: Address has been verified and accepted | [optional] [readonly] +**e_delivery_status** | [**Form1099StatusDetail**](Form1099StatusDetail.md) | EDelivery status. Available values: - unscheduled: E-delivery has not been scheduled - scheduled: E-delivery is scheduled to be sent - sent: E-delivery has been sent to recipient - bounced: E-delivery bounced back (invalid email) - refused: E-delivery was refused by recipient - bad_verify: E-delivery failed verification - accepted: E-delivery was accepted by recipient - bad_verify_limit: E-delivery failed verification limit reached - second_delivery: Second e-delivery attempt - undelivered: E-delivery is undelivered (temporary state allowing resend) | [optional] [readonly] +**validation_errors** | [**List[ValidationError]**](ValidationError.md) | Validation errors | [optional] [readonly] +**created_at** | **datetime** | Date time when the record was created. | [optional] [readonly] +**updated_at** | **datetime** | Date time when the record was last updated. | [optional] [readonly] +**tin_type** | **str** | Recipient classification. The platform is transitioning from tax identifier classifications to recipient entity classifications. New values represent recipient entity types and should be preferred. Deprecated values represent identifier formats and remain supported for backward compatibility only. Available values: - INDIVIDUAL: Recipient is an individual - BUSINESS: Recipient is a business - UNKNOWN: Recipient classification is unknown - EIN: (Deprecated - use BUSINESS) Employer Identification Number - SSN: (Deprecated - use INDIVIDUAL) Social Security Number - ITIN: (Deprecated - use INDIVIDUAL) Individual Taxpayer Identification Number - ATIN: (Deprecated - use INDIVIDUAL) Adoption Taxpayer Identification Number | [optional] +**business_name** | **str** | Business name. Required when the recipient of the form is a business; should only be used for businesses. | [optional] +**business_name2** | **str** | Business name line 2. Should only be used for businesses. | [optional] +**first_name** | **str** | First name. Required when the recipient of the form is an individual; should only be used for individuals. | [optional] +**middle_name** | **str** | Middle name. Should only be used for individuals. | [optional] +**last_name** | **str** | Last name. Required when the recipient of the form is an individual; should only be used for individuals. | [optional] +**suffix_name** | **str** | Suffix name. Should only be used for individuals. | [optional] +**recipient_second_name** | **str** | DEPRECATED: Use `businessName2` instead. | [optional] +**account_number** | **str** | Account number | [optional] +**office_code** | **str** | Office code | [optional] +**no_tin** | **bool** | No TIN indicator | [optional] +**second_tin_notice** | **bool** | Second TIN notice | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.form1099_s import Form1099S + +# TODO update the JSON string below +json = "{}" +# create an instance of Form1099S from a JSON string +form1099_s_instance = Form1099S.from_json(json) +# print the JSON string representation of the object +print(Form1099S.to_json()) + +# convert the object into a dict +form1099_s_dict = form1099_s_instance.to_dict() +# create an instance of Form1099S from a dict +form1099_s_from_dict = Form1099S.from_dict(form1099_s_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/Forms1099Api.md b/docs/A1099/V2/Forms1099Api.md index e4426fa..b3d2ae7 100644 --- a/docs/A1099/V2/Forms1099Api.md +++ b/docs/A1099/V2/Forms1099Api.md @@ -18,7 +18,7 @@ Method | HTTP request | Description Create or update multiple 1099/1095/W2/1042S forms -This endpoint allows you to create or update multiple 1099/1095/W2/1042S forms. Maximum of 5000 forms can be processed in a single bulk request. **Date Scheduling Rules:** If federalEfileDate, stateEfileDate, or recipientEdeliveryDate are between current date and beginning of blackout period, scheduled to that date. If dates are in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. StateEfileDate must be on or after federalEfileDate. Set dates to null to leave unscheduled. +This endpoint allows you to create or update multiple 1099/1095/W2/1042S forms. Maximum of 5000 forms can be processed in a single bulk request. **Date Scheduling Rules:** If federalEfileDate, stateEfileDate, or recipientEdeliveryDate are between current date and beginning of blackout period, scheduled to that date. If dates are in the past or blackout period, scheduled to next available date. For blackout period information, see https://www.track1099.com/info/IRS_info. StateEfileDate must be on or after federalEfileDate. Set dates to null to leave unscheduled. **Recipient Name Splitting:** When the account's \"Split individual recipient names\" opt-in setting is enabled (Account Settings page), this only applies to the deprecated identifier-format tinType values (SSN/ITIN/ATIN/EIN): - For the deprecated individual-type values (SSN/ITIN/ATIN) where only the legacy `recipientName` is provided, the API automatically splits `recipientName` into `firstName`, `middleName`, `lastName`, and `suffixName` before persisting. - For the deprecated `EIN` value, `recipientName` is not split and is routed directly to `businessName`. To enable or disable this behavior, the account owner can toggle \"Split individual recipient names on API submissions\" on the Account Settings page. ### Example @@ -48,7 +48,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms1099_api.Forms1099Api(api_client) avalara_version = '2.0.0' # str | API version dry_run = False # bool | defaults to false. If true, it will NOT change the DB. It will just return a report of what would've have been changed in the DB (optional) if omitted the server will use the default value of False - x_correlation_id = '6627a0c7-bb12-4635-a6c1-4ed0a47025b2' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'b2de6e01-aadd-47fd-8444-2b3e2e1d5364' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) form1099_list_request = {"type":"1042-S","forms":[{"type":"1042-S","issuerId":"12345","issuerReferenceId":"issuer-001","issuerTin":"94-2765431","taxYear":2025,"referenceId":"1042S-REF-001","tin":"112233445","recipientName":null,"address":"1234 Corporate Blvd","address2":"Suite 500","city":"Anytown","state":"MA","zip":"12345","email":"email@example.com","nonUsProvince":null,"countryCode":"US","federalEfileDate":"2025-03-15","postalMail":true,"stateEfileDate":null,"recipientEdeliveryDate":"2025-03-25","tinMatch":false,"addressVerification":true,"stateAndLocalWithholding":{"stateTaxWithheld":50,"state":"CA","stateId":"CA98765432"},"tinType":"INDIVIDUAL","businessName":null,"businessName2":null,"firstName":"Michael","middleName":"Joseph","lastName":"Jackson","suffixName":"Jr","recipientSecondName":null,"accountNumber":"ACC01","noTin":false,"secondTinNotice":true,"uniqueFormId":"1234567890","recipientDateOfBirth":"1990-01-01","recipientGiin":"748291.59302.US.001","recipientForeignTin":"920456.38475.GM.002","lobCode":"06","incomeCode":"16","grossIncome":10000.5,"withholdingIndicator":"3","taxCountryCode":"GM","exemptionCodeChap3":"00","exemptionCodeChap4":"13","taxRateChap3":"30.00","withholdingAllowance":15,"federalTaxWithheld":1500.25,"taxNotDepositedIndicator":true,"academicIndicator":true,"withholdingRatePoolIndicator":null,"taxWithheldOtherAgents":100,"amountRepaid":200,"taxPaidAgent":50.5,"chap3StatusCode":"06","chap4StatusCode":"02","primaryWithholdingAgent":{"name":"Primary Agent Name","ein":"98-3456789"},"intermediaryOrFlowThrough":{"ein":"98-7654321","chap3StatusCode":"03","chap4StatusCode":"04","name":"Intermediary Name","giin":"748291.59302.US.002","countryCode":"US","foreignTin":"123-45-6789","address":"123 Main St.","city":"Cityville","state":"CA","zip":"98765"}}]} # Form1099ListRequest | (optional) # example passing only required values which don't have defaults set @@ -138,7 +138,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = forms1099_api.Forms1099Api(api_client) avalara_version = '2.0.0' # str | API version - x_correlation_id = 'b7ae861c-748e-4beb-905a-23aa9a8de53b' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'd83705fa-e06e-473d-a99b-18e1c24e1ade' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) get1099_form200_response = {"type":"1042-S","issuerId":"12345","referenceId":"1042S-REF-001","tin":"112233445","recipientName":null,"address":"1234 Corporate Blvd","address2":"Suite 500","city":"Anytown","state":"MA","zip":"12345","email":"email@example.com","nonUsProvince":null,"countryCode":"US","federalEfileDate":"2025-03-15","postalMail":true,"stateEfileDate":null,"recipientEdeliveryDate":"2025-03-25","tinMatch":false,"addressVerification":true,"stateAndLocalWithholding":{"stateTaxWithheld":50,"state":"CA","stateId":"CA98765432"},"tinType":"INDIVIDUAL","businessName":null,"businessName2":null,"firstName":"Michael","middleName":"Joseph","lastName":"Jackson","suffixName":"Jr","recipientSecondName":null,"accountNumber":"ACC01","noTin":false,"secondTinNotice":true,"uniqueFormId":"1234567890","recipientDateOfBirth":"1990-01-01","recipientGiin":"748291.59302.US.001","recipientForeignTin":"920456.38475.GM.002","lobCode":"06","incomeCode":"16","grossIncome":10000.5,"withholdingIndicator":"3","taxCountryCode":"GM","exemptionCodeChap3":"00","exemptionCodeChap4":"13","taxRateChap3":"30.00","withholdingAllowance":15,"federalTaxWithheld":1500.25,"taxNotDepositedIndicator":true,"academicIndicator":true,"withholdingRatePoolIndicator":null,"taxWithheldOtherAgents":100,"amountRepaid":200,"taxPaidAgent":50.5,"chap3StatusCode":"06","chap4StatusCode":"02","primaryWithholdingAgent":{"name":"Primary Agent Name","ein":"98-3456789"},"intermediaryOrFlowThrough":{"ein":"98-7654321","chap3StatusCode":"03","chap4StatusCode":"04","name":"Intermediary Name","giin":"748291.59302.US.002","countryCode":"US","foreignTin":"123-45-6789","address":"123 Main St.","city":"Cityville","state":"CA","zip":"98765"}} # Get1099Form200Response | (optional) # example passing only required values which don't have defaults set @@ -226,7 +226,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms1099_api.Forms1099Api(api_client) id = 'id_example' # str | The unique identifier of the desired form to delete. avalara_version = '2.0.0' # str | API version - x_correlation_id = '4d3d01b9-704d-4ece-b9e4-e8a08f0e4632' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '3b67737d-1e33-4b9c-b91a-a346ef3ff731' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -314,7 +314,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms1099_api.Forms1099Api(api_client) id = 'id_example' # str | avalara_version = '2.0.0' # str | API version - x_correlation_id = '5c54b9db-a216-4b2f-b99a-d462ed919919' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '59489a73-7ddd-4b4c-aa87-e18e1042713f' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -403,7 +403,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: id = 'id_example' # str | The ID of the form avalara_version = '2.0.0' # str | API version mark_edelivered = True # bool | Optional boolean that if set indicates that the form should be marked as having been successfully edelivered (optional) - x_correlation_id = '47a1d2f5-fa5a-4f7f-8666-898ec3187379' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '85a9b19b-0ed5-476c-bb11-e365b8b14794' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -498,7 +498,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: order_by = 'order_by_example' # str | A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC. (optional) count = True # bool | If true, return the global count of elements in the collection. (optional) count_only = True # bool | If true, return ONLY the global count of elements in the collection. It only applies when count=true. (optional) - x_correlation_id = 'a6799653-d5d4-41a1-bc1c-e57835067aa4' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '13e97284-a7a9-4e94-92e4-cd3e69c6b967' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -592,7 +592,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms1099_api.Forms1099Api(api_client) id = 'id_example' # str | avalara_version = '2.0.0' # str | API version - x_correlation_id = '4bea2d70-6fa5-4abd-9806-092513a95c09' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'd5ff1333-2e20-4ba6-b169-c1bac004c84d' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) get1099_form200_response = {"type":"1042-S","issuerId":"12345","referenceId":"1042S-REF-001","tin":"112233445","recipientName":null,"address":"1234 Corporate Blvd","address2":"Suite 500","city":"Anytown","state":"MA","zip":"12345","email":"email@example.com","nonUsProvince":null,"countryCode":"US","federalEfileDate":"2025-03-15","postalMail":true,"stateEfileDate":null,"recipientEdeliveryDate":"2025-03-25","tinMatch":false,"addressVerification":true,"stateAndLocalWithholding":{"stateTaxWithheld":50,"state":"CA","stateId":"CA98765432"},"tinType":"INDIVIDUAL","businessName":null,"businessName2":null,"firstName":"Michael","middleName":"Joseph","lastName":"Jackson","suffixName":"Jr","recipientSecondName":null,"accountNumber":"ACC01","noTin":false,"secondTinNotice":true,"uniqueFormId":"1234567890","recipientDateOfBirth":"1990-01-01","recipientGiin":"748291.59302.US.001","recipientForeignTin":"920456.38475.GM.002","lobCode":"06","incomeCode":"16","grossIncome":10000.5,"withholdingIndicator":"3","taxCountryCode":"GM","exemptionCodeChap3":"00","exemptionCodeChap4":"13","taxRateChap3":"30.00","withholdingAllowance":15,"federalTaxWithheld":1500.25,"taxNotDepositedIndicator":true,"academicIndicator":true,"withholdingRatePoolIndicator":null,"taxWithheldOtherAgents":100,"amountRepaid":200,"taxPaidAgent":50.5,"chap3StatusCode":"06","chap4StatusCode":"02","primaryWithholdingAgent":{"name":"Primary Agent Name","ein":"98-3456789"},"intermediaryOrFlowThrough":{"ein":"98-7654321","chap3StatusCode":"03","chap4StatusCode":"04","name":"Intermediary Name","giin":"748291.59302.US.002","countryCode":"US","foreignTin":"123-45-6789","address":"123 Main St.","city":"Cityville","state":"CA","zip":"98765"}} # Get1099Form200Response | (optional) # example passing only required values which don't have defaults set diff --git a/docs/A1099/V2/FormsW9Api.md b/docs/A1099/V2/FormsW9Api.md index 87d7661..3df03dc 100644 --- a/docs/A1099/V2/FormsW9Api.md +++ b/docs/A1099/V2/FormsW9Api.md @@ -49,7 +49,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = forms_w9_api.FormsW9Api(api_client) avalara_version = '2.0.0' # str | API version - x_correlation_id = 'b4e7a6bd-3cf3-42b3-b4d1-85e75a36551f' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '5cf8f8de-3979-4627-a7c4-5b8d8c6d7a49' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) create_and_send_w9_form_email_request = {"type":"W9","email":"john.doe@example.com","name":"John Doe","accountNumber":"ACC01","companyId":"12345","referenceId":"REF-12345"} # CreateAndSendW9FormEmailRequest | Form to be created (optional) # example passing only required values which don't have defaults set @@ -137,7 +137,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = forms_w9_api.FormsW9Api(api_client) avalara_version = '2.0.0' # str | API version - x_correlation_id = '25133801-8936-44a6-98f5-b428d3f1641e' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '1476e915-dd01-4011-8afd-ccc6415b1e52' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) create_w9_form_request = {"type":"W9","name":"John Doe","businessName":"Acme Inc.","businessClassification":"Individual","businessOther":null,"foreignPartnerOwnerOrBeneficiary":false,"exemptPayeeCode":"5","exemptFatcaCode":"A","foreignCountryIndicator":false,"address":"123 Main St.","foreignAddress":null,"city":"Anytown","state":"CA","zip":"12345","accountNumber":"ACC123456","tinType":"SSN","tin":"543456789","backupWithholding":false,"is1099able":true,"eDeliveryConsentedAt":"2024-05-01T10:30:10.000000","signature":null,"companyId":"32553266","referenceId":"REF12345","email":"johndoe@example.com"} # CreateW9FormRequest | Form to be created (optional) # example passing only required values which don't have defaults set @@ -224,7 +224,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms_w9_api.FormsW9Api(api_client) id = 'id_example' # str | ID of the form to delete avalara_version = '2.0.0' # str | API version - x_correlation_id = 'b74d3de7-4369-404c-a15d-908739fcfd25' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '59f9ef43-cd2f-4894-8d01-94f56745f69d' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -309,7 +309,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms_w9_api.FormsW9Api(api_client) id = 'id_example' # str | ID of the form avalara_version = '2.0.0' # str | API version - x_correlation_id = 'e443fee3-1400-4fc8-b2fe-5c5f2d67188f' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '7a8bb9d5-649c-4116-8271-9cfa594e8d5b' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -395,7 +395,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms_w9_api.FormsW9Api(api_client) id = 'id_example' # str | Id of the form avalara_version = '2.0.0' # str | API version - x_correlation_id = '2e3f783a-26b4-45d6-9974-cfcdea77dba7' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '0e6d22cd-02e3-45c0-8e6e-f62c30551679' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -488,7 +488,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: order_by = 'order_by_example' # str | A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC. (optional) count = True # bool | If true, return the global count of elements in the collection. (optional) count_only = True # bool | If true, return ONLY the global count of elements in the collection. It only applies when count=true. (optional) - x_correlation_id = '3b5e8acc-77ca-435a-abbc-deba7135f40b' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '6c3ae581-579d-430f-aa93-ee73aaee98d4' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -580,7 +580,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms_w9_api.FormsW9Api(api_client) id = 'id_example' # str | The ID of the W9/W4/W8 form. avalara_version = '2.0.0' # str | API version - x_correlation_id = 'a42cbc86-5ba8-433d-ba44-58235e240d18' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '4e134168-0dcc-4032-bcde-3fbe7416e054' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -670,7 +670,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms_w9_api.FormsW9Api(api_client) id = 'id_example' # str | ID of the form to update avalara_version = '2.0.0' # str | API version - x_correlation_id = 'af1dfcf6-b1fb-4956-ba5b-a76a698d7f66' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'daa7e447-c721-4de0-8cb4-d4f22795c550' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) create_w9_form_request = {"type":"W9","name":"John Doe","businessName":"Acme Inc.","businessClassification":"Individual","businessOther":null,"foreignPartnerOwnerOrBeneficiary":false,"exemptPayeeCode":"5","exemptFatcaCode":"A","foreignCountryIndicator":false,"address":"123 Main St.","foreignAddress":null,"city":"Anytown","state":"CA","zip":"12345","accountNumber":"ACC123456","tinType":"SSN","tin":"543456789","backupWithholding":false,"is1099able":true,"eDeliveryConsentedAt":"2024-05-01T10:30:10.000000","signature":null,"referenceId":"REF12345","email":"johndoe@example.com"} # CreateW9FormRequest | Form to be updated (optional) # example passing only required values which don't have defaults set @@ -759,7 +759,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = forms_w9_api.FormsW9Api(api_client) id = 'id_example' # str | Id of the form avalara_version = '2.0.0' # str | API version - x_correlation_id = '20e8951d-b7e8-4941-be1f-3b9ef04ebdcc' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'd4069119-7297-4cb1-9671-6667d031f729' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) file = None # bytearray | (optional) # example passing only required values which don't have defaults set diff --git a/docs/A1099/V2/Get1099Form200Response.md b/docs/A1099/V2/Get1099Form200Response.md index aec7d92..7e81f20 100644 --- a/docs/A1099/V2/Get1099Form200Response.md +++ b/docs/A1099/V2/Get1099Form200Response.md @@ -84,6 +84,24 @@ Name | Type | Description | Notes **plan_start_month** | **str** | Plan start month. The calendar month during which the plan year begins of the health plan in which the employee is offered coverage (or would be offered coverage if the employee were eligible to participate in the plan). Available values: - 00: None - 01: January - 02: February - 03: March - 04: April - 05: May - 06: June - 07: July - 08: August - 09: September - 10: October - 11: November - 12: December | **employer_provided_si_coverage** | **bool** | Employer provided self-insured coverage | [optional] **offer_and_coverages** | [**List[OfferAndCoverage]**](OfferAndCoverage.md) | Offer and coverage information | +**mortgage_interest_received** | **float** | Mortgage interest received from payer(s)/borrower(s) | [optional] +**outstanding_mortgage_principal** | **float** | Outstanding mortgage principal | [optional] +**mortgage_origination_date** | **date** | Mortgage origination date | [optional] +**refund_of_overpaid_interest** | **float** | Refund of overpaid interest | [optional] +**mortgage_insurance_premiums** | **float** | Mortgage insurance premiums | [optional] +**points_paid_on_purchase_of_principal_residence** | **float** | Points paid on purchase of principal residence | [optional] +**property_address_same_as_borrower_indicator** | **bool** | If checked, the property securing the mortgage is at the borrower's address | [optional] +**property_address_or_description** | **str** | Address or description of property securing mortgage (up to 39 characters) | [optional] +**number_of_properties_securing_mortgage** | **int** | Number of properties securing the mortgage, if more than one | [optional] +**other_information** | **str** | Other (up to 39 characters), such as real estate taxes or insurance paid from escrow | [optional] +**mortgage_acquisition_date** | **date** | Mortgage acquisition date, if the mortgage was acquired during the tax year | [optional] +**date_of_identifiable_event** | **date** | Date of identifiable event | +**amount_of_debt_discharged** | **float** | Amount of debt discharged | +**interest_included_in_debt_discharged** | **float** | Interest, if included in the amount of debt discharged | [optional] +**debt_description** | **str** | Debt description (up to 39 characters) | +**debtor_personally_liable_indicator** | **bool** | If checked, the debtor was personally liable for repayment of the debt | [optional] +**identifiable_event_code** | **str** | Identifiable event code. * `A` - Bankruptcy * `B` - Other judicial debt relief * `C` - Statute of limitations or expiration of deficiency period * `D` - Foreclosure election * `E` - Debt relief from probate or similar proceeding * `F` - By agreement * `G` - Decision or policy to discontinue collection * `H` - Other actual discharge before identifiable event * `I` - Deprecated; retired by the IRS in 2016 and folded into `H`. Only valid for prior tax years. | +**fair_market_value_of_property** | **float** | Fair market value of property | [optional] **total_ordinary_dividends** | **float** | Total ordinary dividends | [optional] **qualified_dividends** | **float** | Qualified dividends | [optional] **total_capital_gain_distributions** | **float** | Total capital gain distributions | [optional] @@ -177,6 +195,12 @@ Name | Type | Description | Notes **amount_allocable_to_irr_within5_years** | **float** | Amount allocable to IRR within 5 years | [optional] **first_year_of_designated_roth_contribution** | **str** | First year of designated Roth contribution | [optional] **date_of_payment** | **date** | Date of payment | [optional] +**date_of_closing** | **date** | Date of closing | +**gross_proceeds** | **float** | Gross proceeds (the total gross proceeds, from tax year 2026 labeled Box 2a) | [optional] +**property_address_or_legal_description** | **str** | Address or legal description of the property, including city, state and ZIP code (up to 39 characters) | +**transferor_received_property_or_services_indicator** | **bool** | If checked, the transferor received or will receive property or services as part of the consideration | [optional] +**transferor_is_foreign_person_indicator** | **bool** | If checked, the transferor is a foreign person (nonresident alien, foreign partnership, foreign estate or foreign trust) | [optional] +**buyers_part_of_real_estate_tax** | **float** | Buyer's part of real estate tax | [optional] **wages** | **float** | Wages, tips, other compensation. | [optional] **social_security_wages** | **float** | Social security wages. | [optional] **social_security_tax_withheld** | **float** | Social security tax withheld. | [optional] diff --git a/docs/A1099/V2/Issuers1099Api.md b/docs/A1099/V2/Issuers1099Api.md index 30949a4..ac97672 100644 --- a/docs/A1099/V2/Issuers1099Api.md +++ b/docs/A1099/V2/Issuers1099Api.md @@ -45,7 +45,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = issuers1099_api.Issuers1099Api(api_client) avalara_version = '2.0.0' # str | API version - x_correlation_id = '1516e2f1-02f3-43af-afd4-392db3192b04' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '020085b2-ced8-4d4e-8d8e-aac8901ba664' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) issuer_request = {"businessName":"Acme Corporation","businessName2":"Acme Widgets","name":"Acme Corporation","dbaName":"Acme Widgets","tinType":"BUSINESS","firstName":null,"middleName":null,"lastName":null,"suffix":null,"tin":"94-2765431","referenceId":"issuer-001","telephone":"+1-555-123-4567","taxYear":2025,"countryCode":"US","email":"support@acmecorp.com","address":"123 Main Street","city":"San Francisco","state":"CA","zip":"94105","foreignProvince":"","transferAgentName":"","lastFiling":false} # IssuerRequest | The issuer to create (optional) # example passing only required values which don't have defaults set @@ -132,7 +132,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = issuers1099_api.Issuers1099Api(api_client) id = 'id_example' # str | Id of the issuer to delete avalara_version = '2.0.0' # str | API version - x_correlation_id = '56cf179b-af17-4c42-8061-a8491fb9c4e9' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'eeca9729-5b2f-4ba1-a3c7-bf49c3705b52' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -217,7 +217,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = issuers1099_api.Issuers1099Api(api_client) id = 'id_example' # str | Id of the issuer to retrieve avalara_version = '2.0.0' # str | API version - x_correlation_id = 'a908e994-d311-4d60-9820-9b0739828e8a' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '1ba68926-014a-4e57-ac33-5120f7d67ad5' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -309,7 +309,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: order_by = 'order_by_example' # str | A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC. (optional) count = True # bool | If true, return the global count of elements in the collection. (optional) count_only = True # bool | If true, return ONLY the global count of elements in the collection. It only applies when count=true. (optional) - x_correlation_id = '149439c7-4a09-460d-9d0d-ef39ae99864d' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '0b7d8a8b-c34a-48e3-bf9e-86c475547496' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: @@ -404,7 +404,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = issuers1099_api.Issuers1099Api(api_client) id = 'id_example' # str | Id of the issuer to update avalara_version = '2.0.0' # str | API version - x_correlation_id = 'd8e70cf2-9795-4468-a7e2-16b1e6faac48' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '5dcb2f2c-e12d-4e11-aeaa-dfbd23bbe954' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) issuer_request = {"businessName":"Acme Corporation","businessName2":"Acme Widgets","name":"Acme Corporation","dbaName":"Acme Widgets","tinType":"BUSINESS","firstName":null,"middleName":null,"lastName":null,"suffix":null,"tin":"94-2765431","referenceId":"issuer-001","telephone":"+1-555-123-4567","taxYear":2025,"countryCode":"US","email":"support@acmecorp.com","address":"123 Main Street","city":"San Francisco","state":"CA","zip":"94105","foreignProvince":"","transferAgentName":"","lastFiling":false} # IssuerRequest | The issuer to update (optional) # example passing only required values which don't have defaults set diff --git a/docs/A1099/V2/JobsApi.md b/docs/A1099/V2/JobsApi.md index f8863c4..115ff4f 100644 --- a/docs/A1099/V2/JobsApi.md +++ b/docs/A1099/V2/JobsApi.md @@ -41,7 +41,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: api_instance = jobs_api.JobsApi(api_client) id = 'id_example' # str | Job id obtained from other API responses, like `/1099/bulk-upsert`. avalara_version = '2.0.0' # str | API version - x_correlation_id = '29e0724f-104f-4657-9374-7e8dc99054ef' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = 'b87aeebf-8db8-476b-b885-0e27d598bbfa' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) # example passing only required values which don't have defaults set try: diff --git a/docs/A1099/V2/PaginatedQueryResultModelBulkTinMatchResultItemResponse.md b/docs/A1099/V2/PaginatedQueryResultModelBulkTinMatchResultItemResponse.md new file mode 100644 index 0000000..b40586b --- /dev/null +++ b/docs/A1099/V2/PaginatedQueryResultModelBulkTinMatchResultItemResponse.md @@ -0,0 +1,32 @@ +# PaginatedQueryResultModelBulkTinMatchResultItemResponse + +Generic paginated model to wrap query response data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**recordset_count** | **int** | | [optional] +**value** | [**List[BulkTinMatchResultItemResponse]**](BulkTinMatchResultItemResponse.md) | | [optional] +**next_link** | **str** | | [optional] + +## Example + +```python +from Avalara.SDK.models.A1099.V2.paginated_query_result_model_bulk_tin_match_result_item_response import PaginatedQueryResultModelBulkTinMatchResultItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PaginatedQueryResultModelBulkTinMatchResultItemResponse from a JSON string +paginated_query_result_model_bulk_tin_match_result_item_response_instance = PaginatedQueryResultModelBulkTinMatchResultItemResponse.from_json(json) +# print the JSON string representation of the object +print(PaginatedQueryResultModelBulkTinMatchResultItemResponse.to_json()) + +# convert the object into a dict +paginated_query_result_model_bulk_tin_match_result_item_response_dict = paginated_query_result_model_bulk_tin_match_result_item_response_instance.to_dict() +# create an instance of PaginatedQueryResultModelBulkTinMatchResultItemResponse from a dict +paginated_query_result_model_bulk_tin_match_result_item_response_from_dict = PaginatedQueryResultModelBulkTinMatchResultItemResponse.from_dict(paginated_query_result_model_bulk_tin_match_result_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/A1099/V2/TINMatchesApi.md b/docs/A1099/V2/TINMatchesApi.md index 5cb92d0..1bbf619 100644 --- a/docs/A1099/V2/TINMatchesApi.md +++ b/docs/A1099/V2/TINMatchesApi.md @@ -4,9 +4,195 @@ All URIs are relative to *https://api.sbx.avalara.com/avalara1099* Method | HTTP request | Description ------------- | ------------- | ------------- +[**get_bulk_tin_match**](TINMatchesApi.md#get_bulk_tin_match) | **GET** /tin-matches/$bulk/{id} | Get bulk TIN match details +[**get_bulk_tin_match_results**](TINMatchesApi.md#get_bulk_tin_match_results) | **GET** /tin-matches/$bulk/{id}/results | List bulk TIN match results [**perform_real_time_tin_match**](TINMatchesApi.md#perform_real_time_tin_match) | **POST** /tin-matches/$real-time | Perform real time TIN Match +[**submit_bulk_tin_match**](TINMatchesApi.md#submit_bulk_tin_match) | **POST** /tin-matches/$bulk | Submit bulk TIN match +# **get_bulk_tin_match** +> BulkTinMatchResponse get_bulk_tin_match(id, avalara_version) + +Get bulk TIN match details + +### Example + +* Bearer Authentication (bearer): + +```python +import time +import Avalara.SDK +from Avalara.SDK.api.A1099.V2 import tin_matches_api +BulkTinMatchResponse +ErrorResponse +from pprint import pprint + +# Define configuration object with parameters specified to your application. +configuration = Avalara.SDK.Configuration( + app_name='test app' + app_version='1.0' + machine_name='some machine' + client_id='' + client_secret='' + environment='sandbox' +) +# Enter a context with an instance of the API client +with Avalara.SDK.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = tin_matches_api.TINMatchesApi(api_client) + id = 'id_example' # str | The bulk ID + avalara_version = '2.0.0' # str | API version + x_correlation_id = 'df30781a-da37-45b3-be01-d835e5d0ad8b' # str | Unique correlation Id in a GUID format (optional) + x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) + # example passing only required values which don't have defaults set + try: + # Get bulk TIN match details + api_response = api_instance.get_bulk_tin_match(id, avalara_version) + pprint(api_response) + except Avalara.SDK.ApiException as e: + print("Exception when calling TINMatchesApi->get_bulk_tin_match: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get bulk TIN match details + api_response = api_instance.get_bulk_tin_match(id, avalara_version, x_correlation_id=x_correlation_id, x_avalara_client=x_avalara_client) + pprint(api_response) + except Avalara.SDK.ApiException as e: + print("Exception when calling TINMatchesApi->get_bulk_tin_match: %s\n" % e) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The bulk ID | + **avalara_version** | **str**| API version | + **x_correlation_id** | **str**| Unique correlation Id in a GUID format | [optional] + **x_avalara_client** | **str**| 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/) . | [optional] + +### Return type + +[**BulkTinMatchResponse**](BulkTinMatchResponse.md) + +### Authorization + +[bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Bulk TIN match details | - | +**401** | Authentication failed | - | +**404** | Bulk not found | - | + +[[Back to top]](#) [[Back to API list]](../../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../../README.md#documentation-for-models) [[Back to README]](../../../README.md) + +# **get_bulk_tin_match_results** +> PaginatedQueryResultModelBulkTinMatchResultItemResponse get_bulk_tin_match_results(id, avalara_version) + +List bulk TIN match results + +### Example + +* Bearer Authentication (bearer): + +```python +import time +import Avalara.SDK +from Avalara.SDK.api.A1099.V2 import tin_matches_api +PaginatedQueryResultModelBulkTinMatchResultItemResponse +ErrorResponse +from pprint import pprint + +# Define configuration object with parameters specified to your application. +configuration = Avalara.SDK.Configuration( + app_name='test app' + app_version='1.0' + machine_name='some machine' + client_id='' + client_secret='' + environment='sandbox' +) +# Enter a context with an instance of the API client +with Avalara.SDK.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = tin_matches_api.TINMatchesApi(api_client) + id = 'id_example' # str | The bulk ID + avalara_version = '2.0.0' # str | API version + filter = 'filter_example' # str | A filter statement to identify specific records to retrieve. For more information on filtering, see Filtering in REST. (optional) + top = 56 # int | If zero or greater than 1000, return at most 1000 results. Otherwise, return this number of results. Used with skip to provide pagination for large datasets. (optional) + skip = 56 # int | If nonzero, skip this number of results before returning data. Used with top to provide pagination for large datasets. (optional) + order_by = 'order_by_example' # str | A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC. (optional) + count = True # bool | If true, return the global count of elements in the collection. (optional) + count_only = True # bool | If true, return ONLY the global count of elements in the collection. It only applies when count=true. (optional) + x_correlation_id = '98367ed4-44bb-4254-a388-ec2e63ac293e' # str | Unique correlation Id in a GUID format (optional) + x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) + # example passing only required values which don't have defaults set + try: + # List bulk TIN match results + api_response = api_instance.get_bulk_tin_match_results(id, avalara_version) + pprint(api_response) + except Avalara.SDK.ApiException as e: + print("Exception when calling TINMatchesApi->get_bulk_tin_match_results: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # List bulk TIN match results + api_response = api_instance.get_bulk_tin_match_results(id, avalara_version, filter=filter, top=top, skip=skip, order_by=order_by, count=count, count_only=count_only, x_correlation_id=x_correlation_id, x_avalara_client=x_avalara_client) + pprint(api_response) + except Avalara.SDK.ApiException as e: + print("Exception when calling TINMatchesApi->get_bulk_tin_match_results: %s\n" % e) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The bulk ID | + **avalara_version** | **str**| API version | + **filter** | **str**| A filter statement to identify specific records to retrieve. For more information on filtering, see <a href=\"https://developer.avalara.com/avatax/filtering-in-rest/\">Filtering in REST</a>. | [optional] + **top** | **int**| If zero or greater than 1000, return at most 1000 results. Otherwise, return this number of results. Used with skip to provide pagination for large datasets. | [optional] + **skip** | **int**| If nonzero, skip this number of results before returning data. Used with top to provide pagination for large datasets. | [optional] + **order_by** | **str**| A comma separated list of sort statements in the format (fieldname) [ASC|DESC], for example id ASC. | [optional] + **count** | **bool**| If true, return the global count of elements in the collection. | [optional] + **count_only** | **bool**| If true, return ONLY the global count of elements in the collection. It only applies when count=true. | [optional] + **x_correlation_id** | **str**| Unique correlation Id in a GUID format | [optional] + **x_avalara_client** | **str**| 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/) . | [optional] + +### Return type + +[**PaginatedQueryResultModelBulkTinMatchResultItemResponse**](PaginatedQueryResultModelBulkTinMatchResultItemResponse.md) + +### Authorization + +[bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | List of TIN match responses | - | +**400** | Bad request (e.g., invalid sort key) | - | +**401** | Authentication failed | - | +**404** | Bulk not found | - | + +[[Back to top]](#) [[Back to API list]](../../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../../README.md#documentation-for-models) [[Back to README]](../../../README.md) + # **perform_real_time_tin_match** > RealTimeTinMatchResponse perform_real_time_tin_match(avalara_version) @@ -41,7 +227,7 @@ with Avalara.SDK.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = tin_matches_api.TINMatchesApi(api_client) avalara_version = '2.0.0' # str | API version - x_correlation_id = 'a4f97e62-2087-4274-b92f-39377f73fb20' # str | Unique correlation Id in a GUID format (optional) + x_correlation_id = '7d625954-787a-4153-8365-45cef8288be1' # str | Unique correlation Id in a GUID format (optional) x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) real_time_tin_match_request = {"tinType":"BUSINESS","tin":"94-2765439","name":"Acme Corporation"} # RealTimeTinMatchRequest | Required data to perform TIN match (optional) # example passing only required values which don't have defaults set @@ -98,3 +284,89 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../../README.md#documentation-for-models) [[Back to README]](../../../README.md) +# **submit_bulk_tin_match** +> BulkTinMatchAcceptedResponse submit_bulk_tin_match(avalara_version) + +Submit bulk TIN match + +### Example + +* Bearer Authentication (bearer): + +```python +import time +import Avalara.SDK +from Avalara.SDK.api.A1099.V2 import tin_matches_api +BulkTinMatchRequest +BulkTinMatchAcceptedResponse +ErrorResponse +from pprint import pprint + +# Define configuration object with parameters specified to your application. +configuration = Avalara.SDK.Configuration( + app_name='test app' + app_version='1.0' + machine_name='some machine' + client_id='' + client_secret='' + environment='sandbox' +) +# Enter a context with an instance of the API client +with Avalara.SDK.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = tin_matches_api.TINMatchesApi(api_client) + avalara_version = '2.0.0' # str | API version + x_correlation_id = '3f051c64-117a-46f1-b9b5-324064394c6a' # str | Unique correlation Id in a GUID format (optional) + x_avalara_client = 'Swagger UI; 22.1.0' # str | 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/) . (optional) + bulk_tin_match_request = {"items":[{"referenceId":"ACME0001","tinType":"BUSINESS","tin":"94-2765439","name":"Acme Corporation"},{"referenceId":"123JD","tinType":"INDIVIDUAL","tin":"543-45-6789","name":"John Doe"}]} # BulkTinMatchRequest | Required TIN collection to perform bulk TIN match (optional) + # example passing only required values which don't have defaults set + try: + # Submit bulk TIN match + api_response = api_instance.submit_bulk_tin_match(avalara_version) + pprint(api_response) + except Avalara.SDK.ApiException as e: + print("Exception when calling TINMatchesApi->submit_bulk_tin_match: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Submit bulk TIN match + api_response = api_instance.submit_bulk_tin_match(avalara_version, x_correlation_id=x_correlation_id, x_avalara_client=x_avalara_client, bulk_tin_match_request=bulk_tin_match_request) + pprint(api_response) + except Avalara.SDK.ApiException as e: + print("Exception when calling TINMatchesApi->submit_bulk_tin_match: %s\n" % e) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **avalara_version** | **str**| API version | + **x_correlation_id** | **str**| Unique correlation Id in a GUID format | [optional] + **x_avalara_client** | **str**| 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/) . | [optional] + **bulk_tin_match_request** | [**BulkTinMatchRequest**](BulkTinMatchRequest.md)| Required TIN collection to perform bulk TIN match | [optional] + +### Return type + +[**BulkTinMatchAcceptedResponse**](BulkTinMatchAcceptedResponse.md) + +### Authorization + +[bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json, text/json, application/*+json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Accepted submission, indicating it will be processed later and where to get results from | - | +**400** | Bad request (e.g. invalid field values) | - | +**401** | Authentication failed | - | + +[[Back to top]](#) [[Back to API list]](../../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../../README.md#documentation-for-models) [[Back to README]](../../../README.md) + diff --git a/docs/EInvoicing/V1/CodeListsApi.md b/docs/EInvoicing/V1/CodeListsApi.md index ba88d84..f66076b 100644 --- a/docs/EInvoicing/V1/CodeListsApi.md +++ b/docs/EInvoicing/V1/CodeListsApi.md @@ -46,8 +46,8 @@ with Avalara.SDK.ApiClient(configuration) as api_client: codelist_id = 'ab123343-3432-423c-ac3f-53453scs9999' # str | System-generated unique identifier of the code list definition. Typically a UUID used to reference this code list internally or via APIs. country_code = 'FR' # str | Two-letter ISO 3166-1 alpha-2 country code indicating the jurisdiction this code list applies to. x_avalara_client = 'John's E-Invoicing-API Client' # str | Optional header for a client identifier string used for diagnostics (for example \"Fingerprint\"). (optional) - effective_date = 'Tue Dec 31 16:00:00 PST 2024' # date | Filter code list versions by effective date. Returns versions that are effective on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, defaults to the current date. sunsetDate is required when effectiveDate is provided. (optional) - sunset_date = 'Wed Dec 30 16:00:00 PST 2026' # date | Filter code list versions by sunset date. Returns versions that have not yet sunset on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, only non-expired versions are returned. (optional) + effective_date = 'Wed Jan 01 00:00:00 UTC 2025' # date | Filter code list versions by effective date. Returns versions that are effective on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, defaults to the current date. sunsetDate is required when effectiveDate is provided. (optional) + sunset_date = 'Thu Dec 31 00:00:00 UTC 2026' # date | Filter code list versions by sunset date. Returns versions that have not yet sunset on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, only non-expired versions are returned. (optional) # example passing only required values which don't have defaults set try: # Retrieves a code list by ID for a specific country @@ -139,8 +139,8 @@ with Avalara.SDK.ApiClient(configuration) as api_client: avalara_version = '1.6' # str | Header that specifies the API version to use (for example \"1.6\"). country_code = 'FR' # str | Two-letter ISO 3166-1 alpha-2 country code indicating the jurisdiction for which code lists should be returned. x_avalara_client = 'John's E-Invoicing-API Client' # str | Optional header for a client identifier string used for diagnostics (for example \"Fingerprint\"). (optional) - effective_date = 'Tue Dec 31 16:00:00 PST 2024' # date | Filter code lists by effective date. Returns code lists that are effective on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, defaults to the current date. sunsetDate is required when effectiveDate is provided. (optional) - sunset_date = 'Wed Dec 30 16:00:00 PST 2026' # date | Filter code lists by sunset date. Returns code lists that have not yet sunset on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, only non-expired code lists are returned. (optional) + effective_date = 'Wed Jan 01 00:00:00 UTC 2025' # date | Filter code lists by effective date. Returns code lists that are effective on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, defaults to the current date. sunsetDate is required when effectiveDate is provided. (optional) + sunset_date = 'Thu Dec 31 00:00:00 UTC 2026' # date | Filter code lists by sunset date. Returns code lists that have not yet sunset on or before this date. Format: YYYY-MM-DD (ISO 8601). If not specified, only non-expired code lists are returned. (optional) count = 'true' # str | When set to true, the response body also includes the count of items in the collection. (optional) count_only = 'false' # str | When set to true, the response returns only the count of items in the collection. (optional) top = 56 # int | The number of items to include in the result. (optional) diff --git a/setup.py b/setup.py index ed1a1c8..2beb167 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ @author Jonathan Wenger @copyright 2022 Avalara, Inc. @license https://www.apache.org/licenses/LICENSE-2.0 -@version 26.9.0 +@version 26.9.1 @link https://github.com/avadev/AvaTax-REST-V3-Python-SDK """ @@ -40,7 +40,7 @@ from setuptools import setup, find_namespace_packages NAME = "Avalara.SDK" -VERSION = "26.9.0" +VERSION = "26.9.1" PYTHON_REQUIRES = ">=3.7" REQUIRES = [ "urllib3 >= 2.5.0",