From 0137eefd1857b4a2956fc06db9b9a156bf27fb8e Mon Sep 17 00:00:00 2001 From: svc-developer Date: Thu, 13 Jun 2024 16:49:31 +0000 Subject: [PATCH] 24.6.1 --- GlobalAssemblyInfo.cs | 4 +- src/AvaTaxApi.cs | 713 ++++++++++++------ src/Avalara.AvaTax.RestClient.nuspec | 2 +- src/IAvaTaxClient.cs | 473 ++++++++---- src/enums/APStatus.cs | 42 +- src/enums/BatchType.cs | 5 + src/enums/ErrorCodeId.cs | 20 + .../ClassificationParameterUsageMapModel.cs | 7 +- src/models/FilterModel.cs | 40 + src/models/GLAccountBulkUploadInputModel.cs | 40 + src/models/GLAccountBulkUploadOutputModel.cs | 45 ++ src/models/GLAccountRequestModel.cs | 60 ++ src/models/GLAccountSuccessResponseModel.cs | 75 ++ src/models/GLAccountUploadErrorModel.cs | 50 ++ src/models/ItemCatalogueInputModel.cs | 13 +- src/models/ItemModel.cs | 32 +- src/models/ItemStatusModel.cs | 45 ++ src/models/ItemStatusOutputModel.cs | 45 ++ ...mTaxCodeClassificationRequestInputModel.cs | 10 - ...TaxCodeClassificationRequestOutputModel.cs | 8 +- .../ItemTaxCodeRecommendationStatusModel.cs | 45 ++ src/models/ParameterModel.cs | 5 + src/models/ParameterUsageModel.cs | 5 + src/models/ResourceFileUploadRequestModel.cs | 5 - src/models/ReturnsParameterUsageModel.cs | 5 + .../TaxCodeRecommendationStatusOutputModel.cs | 45 ++ .../TaxCodeRecommendationsOutputModel.cs | 45 ++ src/models/TransactionModel.cs | 54 +- 28 files changed, 1486 insertions(+), 452 deletions(-) create mode 100644 src/models/FilterModel.cs create mode 100644 src/models/GLAccountBulkUploadInputModel.cs create mode 100644 src/models/GLAccountBulkUploadOutputModel.cs create mode 100644 src/models/GLAccountRequestModel.cs create mode 100644 src/models/GLAccountSuccessResponseModel.cs create mode 100644 src/models/GLAccountUploadErrorModel.cs create mode 100644 src/models/ItemStatusModel.cs create mode 100644 src/models/ItemStatusOutputModel.cs create mode 100644 src/models/ItemTaxCodeRecommendationStatusModel.cs create mode 100644 src/models/TaxCodeRecommendationStatusOutputModel.cs create mode 100644 src/models/TaxCodeRecommendationsOutputModel.cs diff --git a/GlobalAssemblyInfo.cs b/GlobalAssemblyInfo.cs index 05cb95e..635bc79 100644 --- a/GlobalAssemblyInfo.cs +++ b/GlobalAssemblyInfo.cs @@ -30,5 +30,5 @@ // Revision // -[assembly: AssemblyVersion("24.4.2")] -[assembly: AssemblyFileVersion("24.4.2")] +[assembly: AssemblyVersion("24.6.1")] +[assembly: AssemblyFileVersion("24.6.1")] diff --git a/src/AvaTaxApi.cs b/src/AvaTaxApi.cs index 8ce980a..eee5f81 100644 --- a/src/AvaTaxApi.cs +++ b/src/AvaTaxApi.cs @@ -17,7 +17,7 @@ * @author Sachin Baijal * @copyright 2004-2023 Avalara, Inc. * @license https://www.apache.org/licenses/LICENSE-2.0 - * @version 24.4.2 + * @version 24.6.1 * @link https://github.com/avadev/AvaTax-REST-V2-DotNet-SDK */ @@ -28,7 +28,7 @@ public partial class AvaTaxClient : IAvaTaxClient /// /// Returns the version number of the API used to generate this class /// - public static string API_VERSION { get { return "24.4.2"; } } + public static string API_VERSION { get { return "24.6.1"; } } #region Methods @@ -3734,7 +3734,7 @@ public FetchResult ListCertificateExposureZones(String filter /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -4017,6 +4017,40 @@ public FetchResult ListFilingFrequencies(String filter, In } + /// + /// List of all recommendation status which can be assigned to an item + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + public List ListItemsRecommendationsStatus() + { + var path = new AvaTaxPath("/api/v2/definitions/items/recommendationstatus"); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall>("GET", path, null); + } + + + /// + /// List of all possible status which can be assigned to an item + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + public List ListItemsStatus() + { + var path = new AvaTaxPath("/api/v2/definitions/items/status"); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall>("GET", path, null); + } + + /// /// List jurisdictions based on the filter provided /// @@ -4716,7 +4750,7 @@ public FetchResult ListNoticeTypes(String filter, Int32? top, I /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -4740,7 +4774,7 @@ public FetchResult ListParameters(String filter, Int32? top, Int /// /// Swagger Name: AvaTaxClient /// The ID of the account to retrieve the parameters. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -4783,7 +4817,7 @@ public FetchResult ListParametersByAccount(Int32 accountId, Stri /// Swagger Name: AvaTaxClient /// Company code. /// Item code. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -4810,7 +4844,7 @@ public FetchResult ListParametersByItem(String companyCode, Stri /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values, valueDescriptions + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values, valueDescriptions /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -5113,30 +5147,6 @@ public FetchResult ListRegionsByCountryAndTaxTypeAndTaxSubTypeAn } - /// - /// Retrieve the full list of Avalara-supported resource file types - /// - /// - /// Returns the full list of Avalara-supported resource file types - /// This API is intended to be useful to identify all the different resource file types. - /// - /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - public FetchResult ListResourceFileTypes(String filter, Int32? top, Int32? skip, String orderBy) - { - var path = new AvaTaxPath("/api/v2/definitions/resourcefiletypes"); - path.AddQuery("$filter", filter); - path.AddQuery("$top", top); - path.AddQuery("$skip", skip); - path.AddQuery("$orderBy", orderBy); - _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("GET", path, null); - } - - /// /// Retrieve the full list of Avalara-supported usage of parameters used for returns. /// @@ -5146,7 +5156,7 @@ public FetchResult ListResourceFileTypes(String filter, I /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -6119,6 +6129,129 @@ public FundingStatusModel FundingRequestStatus(Int32 id, POABusinessUnit? busine } + /// + /// Bulk upload GL accounts + /// + /// + /// Allows a bulk upload of GL accounts for the specified company. Use the companyid path parameter to identify the company for which the GL accounts should be uploaded. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL account object + /// The GL account bulk upload model. + public GLAccountBulkUploadOutputModel BulkUploadGLAccounts(Int32 companyid, GLAccountBulkUploadInputModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/$upload"); + path.ApplyField("companyid", companyid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall("POST", path, model); + } + + + /// + /// Create a new GL account + /// + /// + /// Creates one or more new GL account objects attached to this company. + /// + /// A GL account is a general ledger account that can be passed to transactions at the line level to apply the multiple rules of the transactions, including exemptions, allocations, etc. to a specific general ledger. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL Account object + /// The GL Account you want to create + public GLAccountSuccessResponseModel CreateGLAccount(Int32 companyid, GLAccountRequestModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts"); + path.ApplyField("companyid", companyid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall("POST", path, model); + } + + + /// + /// Delete the GL account associated with the given company ID and GL account ID + /// + /// + /// Deletes the GL account associated with the specified `glaccountid` and `companyid` + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + public TaxProfileErrorResponseModel DeleteGLAccount(Int32 companyid, Int64 glaccountid) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/{glaccountid}"); + path.ApplyField("companyid", companyid); + path.ApplyField("glaccountid", glaccountid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall("DELETE", path, null); + } + + + /// + /// Retrieve a single GL account + /// + /// + /// Retrieve details of a single GL account identified by its `glaccountid` and `companyid` + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + public GLAccountSuccessResponseModel GetGLAccountById(Int32 companyid, Int64 glaccountid) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/{glaccountid}"); + path.ApplyField("companyid", companyid); + path.ApplyField("glaccountid", glaccountid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall("GET", path, null); + } + + + /// + /// Retrieve GL accounts for this company + /// + /// + /// Retrieves a list of GL accounts attached to this company. You can apply filters to retrieve specific records. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns these GL accounts + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* companyId, meta, defaultItem + /// A comma separated list of objects to fetch underneath this company. Any object with a URL path underneath this company can be fetched by specifying its name. + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + public FetchResult ListGLAccountsByCompany(Int32 companyid, String filter, String include, Int32? top, Int32? skip, String orderBy) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts"); + path.ApplyField("companyid", companyid); + path.AddQuery("$filter", filter); + path.AddQuery("$include", include); + path.AddQuery("$top", top); + path.AddQuery("$skip", skip); + path.AddQuery("$orderBy", orderBy); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall>("GET", path, null); + } + + + /// + /// Update a single GL account + /// + /// + /// Updates a single GL account owned by the company. Use the glaccountid path parameter to identify the GL account to update. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL Account object + /// The primary key of this GL Account + /// The GL account object you want to update + public GLAccountSuccessResponseModel UpdateGLAccount(Int32 companyid, Int64 glaccountid, GLAccountRequestModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/{glaccountid}"); + path.ApplyField("companyid", companyid); + path.ApplyField("glaccountid", glaccountid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall("PUT", path, model); + } + + /// /// Delete all classifications for an item /// @@ -6289,11 +6422,13 @@ public List CreateItemParameters(Int32 companyId, Int64 item /// /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. + /// If true then Indix api will be called synchronously to get tax code recommendations. /// The item you wish to create. - public List CreateItems(Int32 companyId, List model) + public List CreateItems(Int32 companyId, Boolean? processRecommendationsSynchronously, List model) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items"); path.ApplyField("companyId", companyId); + path.AddQuery("processRecommendationsSynchronously", processRecommendationsSynchronously); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); return RestCall>("POST", path, model); } @@ -6531,43 +6666,6 @@ public List DeleteItemTags(Int32 companyId, Int64 itemId) } - /// - /// Get status of classification requests of a company - /// - /// - /// Get status of tax code classification requests of a company. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// Enable includeClassificationDetails flag to get details of classification request status. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. - /// - /// Swagger Name: AvaTaxClient - /// The ID of the company that defined these items - /// A boolean field to get detailed classification status. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* classificationDetails, totalItems - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - public FetchResult GetClassificationStatus(Int32 companyId, Boolean? includeClassificationDetails, String filter, Int32? top, Int32? skip, String orderBy) - { - var path = new AvaTaxPath("/api/v2/companies/{companyId}/classificationrequests/taxcode"); - path.ApplyField("companyId", companyId); - path.AddQuery("$includeClassificationDetails", includeClassificationDetails); - path.AddQuery("$filter", filter); - path.AddQuery("$top", top); - path.AddQuery("$skip", skip); - path.AddQuery("$orderBy", orderBy); - _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("GET", path, null); - } - - /// /// Retrieve a single item /// @@ -6690,6 +6788,29 @@ public FetchResult GetItemTags(Int32 companyId, Int64 } + /// + /// Get Item TaxCode Recommendations + /// + /// + /// Provides at least three tax-code recommendations for the given company ID and item ID + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + /// + /// + public TaxCodeRecommendationsOutputModel GetItemTaxCodeRecommendations(Int32 companyId, Int64 itemId) + { + var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/taxcoderecommendations"); + path.ApplyField("companyId", companyId); + path.ApplyField("itemId", itemId); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall("GET", path, null); + } + + /// /// Retrieve premium classification for a company's item based on its ItemCode and SystemCode. /// @@ -6724,41 +6845,6 @@ public ItemPremiumClassificationOutputModel GetPremiumClassification(Int32 compa } - /// - /// Get tax code recommendations - /// - /// - /// Get tax code recommendations. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. - /// - /// Swagger Name: AvaTaxClient - /// The ID of the company that defined these items - /// The ID of the classification request - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* recommendations, url - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - public FetchResult GetTaxCodeRecommendations(Int32 companyId, Int32 requestId, String filter, Int32? top, Int32? skip, String orderBy) - { - var path = new AvaTaxPath("/api/v2/companies/{companyId}/classificationrequests/taxcode/{requestId}/recommendations"); - path.ApplyField("companyId", companyId); - path.ApplyField("requestId", requestId); - path.AddQuery("$filter", filter); - path.AddQuery("$top", top); - path.AddQuery("$skip", skip); - path.AddQuery("$orderBy", orderBy); - _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("GET", path, null); - } - - /// /// Retrieve Restrictions for Item by CountryOfImport /// @@ -6895,6 +6981,10 @@ public FetchResult ListItemParameters(Int32 companyId, Int64 /// /// You may specify Tag Name in the `tagName` query parameter if you want to filter items on the basis of tagName /// + /// You may specify comma seperated item status in the `itemStatus` query parameter if you want to filter items on the basis of item status + /// + /// You may specify Tax Code recommendation status in the `taxCodeRecommendationStatus` query parameter if you want to filter items on the basis of tax code recommendation status + /// /// You may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values: /// /// * Parameters @@ -6908,13 +6998,15 @@ public FetchResult ListItemParameters(Int32 companyId, Int64 /// /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. /// Tag Name on the basis of which you want to filter Items - public FetchResult ListItemsByCompany(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName) + /// A comma separated list of item status on the basis of which you want to filter Items + /// Tax code recommendation status on the basis of which you want to filter Items + public FetchResult ListItemsByCompany(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName, String itemStatus, String taxCodeRecommendationStatus) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items"); path.ApplyField("companyId", companyId); @@ -6924,6 +7016,8 @@ public FetchResult ListItemsByCompany(Int32 companyId, String filter, path.AddQuery("$skip", skip); path.AddQuery("$orderBy", orderBy); path.AddQuery("tagName", tagName); + path.AddQuery("itemStatus", itemStatus); + path.AddQuery("taxCodeRecommendationStatus", taxCodeRecommendationStatus); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); return RestCall>("GET", path, null); } @@ -6950,7 +7044,7 @@ public FetchResult ListItemsByCompany(Int32 companyId, String filter, /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -6968,6 +7062,46 @@ public FetchResult QueryItems(String filter, String include, Int32? t } + /// + /// Retrieve items for this company based on System Code and filter criteria(optional) provided + /// + /// + /// Retrieve items based on System Code + /// + /// Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you + /// can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, + /// and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters + /// from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance + /// team can manage your item catalog and adjust the tax behavior of items without having to modify your software. + /// + /// Search for specific objects by passing the `$filter` criteria in the body; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) . + /// + /// Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that defined these items + /// System code on the basis of which you want to filter Items + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + /// A filter statement to select specific records, as defined by https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#97-filtering . + public FetchResult QueryItemsBySystemCode(Int32 companyId, String systemCode, Int32? top, Int32? skip, String orderBy, FilterModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/internal/bySystemCode/{systemCode}"); + path.ApplyField("companyId", companyId); + path.ApplyField("systemCode", systemCode); + path.AddQuery("$top", top); + path.AddQuery("$skip", skip); + path.AddQuery("$orderBy", orderBy); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); + return RestCall>("POST", path, model); + } + + /// /// Retrieve all items associated with given tag /// @@ -6991,7 +7125,7 @@ public FetchResult QueryItems(String filter, String include, Int32? t /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -16358,7 +16492,7 @@ public async Task> ListCertificateExposureZonesAs /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -16651,6 +16785,42 @@ public async Task> ListFilingFrequenciesAsync( } + /// Swagger Name: AvaTaxClient + /// + /// List of all recommendation status which can be assigned to an item; + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + public async Task> ListItemsRecommendationsStatusAsync() + { + var path = new AvaTaxPath("/api/v2/definitions/items/recommendationstatus"); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync>("GET", path, null).ConfigureAwait(false); + } + + + /// Swagger Name: AvaTaxClient + /// + /// List of all possible status which can be assigned to an item; + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + public async Task> ListItemsStatusAsync() + { + var path = new AvaTaxPath("/api/v2/definitions/items/status"); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync>("GET", path, null).ConfigureAwait(false); + } + + /// Swagger Name: AvaTaxClient /// /// List jurisdictions based on the filter provided; @@ -17375,7 +17545,7 @@ public async Task> ListNoticeTypesAsync(String filt /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -17400,7 +17570,7 @@ public async Task> ListParametersAsync(String filter /// /// The ID of the account to retrieve the parameters. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -17444,7 +17614,7 @@ public async Task> ListParametersByAccountAsync(Int3 /// Company code. /// Item code. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -17472,7 +17642,7 @@ public async Task> ListParametersByItemAsync(String /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values, valueDescriptions + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values, valueDescriptions /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -17785,31 +17955,6 @@ public async Task> ListRegionsByCountryAndTaxTypeAnd } - /// Swagger Name: AvaTaxClient - /// - /// Retrieve the full list of Avalara-supported resource file types; - /// - /// - /// Returns the full list of Avalara-supported resource file types - /// This API is intended to be useful to identify all the different resource file types.; - /// - - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - public async Task> ListResourceFileTypesAsync(String filter, Int32? top, Int32? skip, String orderBy) - { - var path = new AvaTaxPath("/api/v2/definitions/resourcefiletypes"); - path.AddQuery("$filter", filter); - path.AddQuery("$top", top); - path.AddQuery("$skip", skip); - path.AddQuery("$orderBy", orderBy); - _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("GET", path, null).ConfigureAwait(false); - } - - /// Swagger Name: AvaTaxClient /// /// Retrieve the full list of Avalara-supported usage of parameters used for returns.; @@ -17820,7 +17965,7 @@ public async Task> ListResourceFileTypesAsync /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -18831,6 +18976,135 @@ public async Task FundingRequestStatusAsync(Int32 id, POABus } + /// Swagger Name: AvaTaxClient + /// + /// Bulk upload GL accounts; + /// + /// + /// Allows a bulk upload of GL accounts for the specified company. Use the companyid path parameter to identify the company for which the GL accounts should be uploaded.; + /// + + /// The ID of the company that owns this GL account object + /// The GL account bulk upload model. + public async Task BulkUploadGLAccountsAsync(Int32 companyid, GLAccountBulkUploadInputModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/$upload"); + path.ApplyField("companyid", companyid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync("POST", path, model).ConfigureAwait(false); + } + + + /// Swagger Name: AvaTaxClient + /// + /// Create a new GL account; + /// + /// + /// Creates one or more new GL account objects attached to this company. + /// + /// A GL account is a general ledger account that can be passed to transactions at the line level to apply the multiple rules of the transactions, including exemptions, allocations, etc. to a specific general ledger.; + /// + + /// The ID of the company that owns this GL Account object + /// The GL Account you want to create + public async Task CreateGLAccountAsync(Int32 companyid, GLAccountRequestModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts"); + path.ApplyField("companyid", companyid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync("POST", path, model).ConfigureAwait(false); + } + + + /// Swagger Name: AvaTaxClient + /// + /// Delete the GL account associated with the given company ID and GL account ID; + /// + /// + /// Deletes the GL account associated with the specified `glaccountid` and `companyid`; + /// + + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + public async Task DeleteGLAccountAsync(Int32 companyid, Int64 glaccountid) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/{glaccountid}"); + path.ApplyField("companyid", companyid); + path.ApplyField("glaccountid", glaccountid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync("DELETE", path, null).ConfigureAwait(false); + } + + + /// Swagger Name: AvaTaxClient + /// + /// Retrieve a single GL account; + /// + /// + /// Retrieve details of a single GL account identified by its `glaccountid` and `companyid`; + /// + + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + public async Task GetGLAccountByIdAsync(Int32 companyid, Int64 glaccountid) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/{glaccountid}"); + path.ApplyField("companyid", companyid); + path.ApplyField("glaccountid", glaccountid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync("GET", path, null).ConfigureAwait(false); + } + + + /// Swagger Name: AvaTaxClient + /// + /// Retrieve GL accounts for this company; + /// + /// + /// Retrieves a list of GL accounts attached to this company. You can apply filters to retrieve specific records.; + /// + + /// The ID of the company that owns these GL accounts + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* companyId, meta, defaultItem + /// A comma separated list of objects to fetch underneath this company. Any object with a URL path underneath this company can be fetched by specifying its name. + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + public async Task> ListGLAccountsByCompanyAsync(Int32 companyid, String filter, String include, Int32? top, Int32? skip, String orderBy) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts"); + path.ApplyField("companyid", companyid); + path.AddQuery("$filter", filter); + path.AddQuery("$include", include); + path.AddQuery("$top", top); + path.AddQuery("$skip", skip); + path.AddQuery("$orderBy", orderBy); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync>("GET", path, null).ConfigureAwait(false); + } + + + /// Swagger Name: AvaTaxClient + /// + /// Update a single GL account; + /// + /// + /// Updates a single GL account owned by the company. Use the glaccountid path parameter to identify the GL account to update.; + /// + + /// The ID of the company that owns this GL Account object + /// The primary key of this GL Account + /// The GL account object you want to update + public async Task UpdateGLAccountAsync(Int32 companyid, Int64 glaccountid, GLAccountRequestModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyid}/glaccounts/{glaccountid}"); + path.ApplyField("companyid", companyid); + path.ApplyField("glaccountid", glaccountid); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync("PUT", path, model).ConfigureAwait(false); + } + + /// Swagger Name: AvaTaxClient /// /// Delete all classifications for an item; @@ -19007,11 +19281,13 @@ public async Task> CreateItemParametersAsync(Int32 comp /// /// The ID of the company that owns this item. + /// If true then Indix api will be called synchronously to get tax code recommendations. /// The item you wish to create. - public async Task> CreateItemsAsync(Int32 companyId, List model) + public async Task> CreateItemsAsync(Int32 companyId, Boolean? processRecommendationsSynchronously, List model) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items"); path.ApplyField("companyId", companyId); + path.AddQuery("processRecommendationsSynchronously", processRecommendationsSynchronously); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); return await RestCallAsync>("POST", path, model).ConfigureAwait(false); } @@ -19257,44 +19533,6 @@ public async Task> DeleteItemTagsAsync(Int32 companyId, Int64 } - /// Swagger Name: AvaTaxClient - /// - /// Get status of classification requests of a company; - /// - /// - /// Get status of tax code classification requests of a company. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// Enable includeClassificationDetails flag to get details of classification request status. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; - /// - - /// The ID of the company that defined these items - /// A boolean field to get detailed classification status. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* classificationDetails, totalItems - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - public async Task> GetClassificationStatusAsync(Int32 companyId, Boolean? includeClassificationDetails, String filter, Int32? top, Int32? skip, String orderBy) - { - var path = new AvaTaxPath("/api/v2/companies/{companyId}/classificationrequests/taxcode"); - path.ApplyField("companyId", companyId); - path.AddQuery("$includeClassificationDetails", includeClassificationDetails); - path.AddQuery("$filter", filter); - path.AddQuery("$top", top); - path.AddQuery("$skip", skip); - path.AddQuery("$orderBy", orderBy); - _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("GET", path, null).ConfigureAwait(false); - } - - /// Swagger Name: AvaTaxClient /// /// Retrieve a single item; @@ -19421,6 +19659,30 @@ public async Task> GetItemTagsAsync(Int32 } + /// Swagger Name: AvaTaxClient + /// + /// Get Item TaxCode Recommendations; + /// + /// + /// Provides at least three tax-code recommendations for the given company ID and item ID + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + /// + /// + public async Task GetItemTaxCodeRecommendationsAsync(Int32 companyId, Int64 itemId) + { + var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/taxcoderecommendations"); + path.ApplyField("companyId", companyId); + path.ApplyField("itemId", itemId); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync("GET", path, null).ConfigureAwait(false); + } + + /// Swagger Name: AvaTaxClient /// /// Retrieve premium classification for a company's item based on its ItemCode and SystemCode.; @@ -19456,42 +19718,6 @@ public async Task GetPremiumClassification } - /// Swagger Name: AvaTaxClient - /// - /// Get tax code recommendations; - /// - /// - /// Get tax code recommendations. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; - /// - - /// The ID of the company that defined these items - /// The ID of the classification request - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* recommendations, url - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - public async Task> GetTaxCodeRecommendationsAsync(Int32 companyId, Int32 requestId, String filter, Int32? top, Int32? skip, String orderBy) - { - var path = new AvaTaxPath("/api/v2/companies/{companyId}/classificationrequests/taxcode/{requestId}/recommendations"); - path.ApplyField("companyId", companyId); - path.ApplyField("requestId", requestId); - path.AddQuery("$filter", filter); - path.AddQuery("$top", top); - path.AddQuery("$skip", skip); - path.AddQuery("$orderBy", orderBy); - _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("GET", path, null).ConfigureAwait(false); - } - - /// Swagger Name: AvaTaxClient /// /// Retrieve Restrictions for Item by CountryOfImport; @@ -19632,6 +19858,10 @@ public async Task> ListItemParametersAsync(Int32 /// /// You may specify Tag Name in the `tagName` query parameter if you want to filter items on the basis of tagName /// + /// You may specify comma seperated item status in the `itemStatus` query parameter if you want to filter items on the basis of item status + /// + /// You may specify Tax Code recommendation status in the `taxCodeRecommendationStatus` query parameter if you want to filter items on the basis of tax code recommendation status + /// /// You may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values: /// /// * Parameters @@ -19645,13 +19875,15 @@ public async Task> ListItemParametersAsync(Int32 /// /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. /// Tag Name on the basis of which you want to filter Items - public async Task> ListItemsByCompanyAsync(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName) + /// A comma separated list of item status on the basis of which you want to filter Items + /// Tax code recommendation status on the basis of which you want to filter Items + public async Task> ListItemsByCompanyAsync(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName, String itemStatus, String taxCodeRecommendationStatus) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items"); path.ApplyField("companyId", companyId); @@ -19661,6 +19893,8 @@ public async Task> ListItemsByCompanyAsync(Int32 companyI path.AddQuery("$skip", skip); path.AddQuery("$orderBy", orderBy); path.AddQuery("tagName", tagName); + path.AddQuery("itemStatus", itemStatus); + path.AddQuery("taxCodeRecommendationStatus", taxCodeRecommendationStatus); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); return await RestCallAsync>("GET", path, null).ConfigureAwait(false); } @@ -19688,7 +19922,7 @@ public async Task> ListItemsByCompanyAsync(Int32 companyI /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -19706,6 +19940,47 @@ public async Task> QueryItemsAsync(String filter, String } + /// Swagger Name: AvaTaxClient + /// + /// Retrieve items for this company based on System Code and filter criteria(optional) provided; + /// + /// + /// Retrieve items based on System Code + /// + /// Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you + /// can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, + /// and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters + /// from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance + /// team can manage your item catalog and adjust the tax behavior of items without having to modify your software. + /// + /// Search for specific objects by passing the `$filter` criteria in the body; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) . + /// + /// Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + /// The ID of the company that defined these items + /// System code on the basis of which you want to filter Items + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + /// A filter statement to select specific records, as defined by https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#97-filtering . + public async Task> QueryItemsBySystemCodeAsync(Int32 companyId, String systemCode, Int32? top, Int32? skip, String orderBy, FilterModel model) + { + var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/internal/bySystemCode/{systemCode}"); + path.ApplyField("companyId", companyId); + path.ApplyField("systemCode", systemCode); + path.AddQuery("$top", top); + path.AddQuery("$skip", skip); + path.AddQuery("$orderBy", orderBy); + _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); + return await RestCallAsync>("POST", path, model).ConfigureAwait(false); + } + + /// Swagger Name: AvaTaxClient /// /// Retrieve all items associated with given tag; @@ -19730,7 +20005,7 @@ public async Task> QueryItemsAsync(String filter, String /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. diff --git a/src/Avalara.AvaTax.RestClient.nuspec b/src/Avalara.AvaTax.RestClient.nuspec index 4390f37..f0827d0 100644 --- a/src/Avalara.AvaTax.RestClient.nuspec +++ b/src/Avalara.AvaTax.RestClient.nuspec @@ -3,7 +3,7 @@ Avalara.AvaTax - 24.4.2 + 24.6.1 Avalara AvaTax SDK Add world-class tax estimation and calculation to your project with Avalara's AvaTax suite of APIs and services. diff --git a/src/IAvaTaxClient.cs b/src/IAvaTaxClient.cs index 796e5a5..44c54d6 100644 --- a/src/IAvaTaxClient.cs +++ b/src/IAvaTaxClient.cs @@ -2781,7 +2781,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -2955,6 +2955,28 @@ public interface IAvaTaxClient /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. FetchResult ListFilingFrequencies(String filter, Int32? top, Int32? skip, String orderBy); + /// + /// List of all recommendation status which can be assigned to an item + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + List ListItemsRecommendationsStatus(); + + /// + /// List of all possible status which can be assigned to an item + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + List ListItemsStatus(); + /// /// List jurisdictions based on the filter provided /// @@ -3385,7 +3407,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3399,7 +3421,7 @@ public interface IAvaTaxClient /// /// Swagger Name: AvaTaxClient /// The ID of the account to retrieve the parameters. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3431,7 +3453,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// Company code. /// Item code. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3446,7 +3468,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values, valueDescriptions + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values, valueDescriptions /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3627,20 +3649,6 @@ public interface IAvaTaxClient /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. FetchResult ListRegionsByCountryAndTaxTypeAndTaxSubTypeAndRateType(Int32 companyId, String country, String taxTypeId, String taxSubTypeId, Int32 rateTypeId, String jurisdictionTypeId, Int32? top, Int32? skip, String orderBy); - /// - /// Retrieve the full list of Avalara-supported resource file types - /// - /// - /// Returns the full list of Avalara-supported resource file types - /// This API is intended to be useful to identify all the different resource file types. - /// - /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - FetchResult ListResourceFileTypes(String filter, Int32? top, Int32? skip, String orderBy); - /// /// Retrieve the full list of Avalara-supported usage of parameters used for returns. /// @@ -3650,7 +3658,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -4279,6 +4287,79 @@ public interface IAvaTaxClient /// The company's subscription type FundingStatusModel FundingRequestStatus(Int32 id, POABusinessUnit? businessUnit, POASubscriptionType? subscriptionType); + /// + /// Bulk upload GL accounts + /// + /// + /// Allows a bulk upload of GL accounts for the specified company. Use the companyid path parameter to identify the company for which the GL accounts should be uploaded. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL account object + /// The GL account bulk upload model. + GLAccountBulkUploadOutputModel BulkUploadGLAccounts(Int32 companyid, GLAccountBulkUploadInputModel model); + + /// + /// Create a new GL account + /// + /// + /// Creates one or more new GL account objects attached to this company. + /// + /// A GL account is a general ledger account that can be passed to transactions at the line level to apply the multiple rules of the transactions, including exemptions, allocations, etc. to a specific general ledger. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL Account object + /// The GL Account you want to create + GLAccountSuccessResponseModel CreateGLAccount(Int32 companyid, GLAccountRequestModel model); + + /// + /// Delete the GL account associated with the given company ID and GL account ID + /// + /// + /// Deletes the GL account associated with the specified `glaccountid` and `companyid` + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + TaxProfileErrorResponseModel DeleteGLAccount(Int32 companyid, Int64 glaccountid); + + /// + /// Retrieve a single GL account + /// + /// + /// Retrieve details of a single GL account identified by its `glaccountid` and `companyid` + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + GLAccountSuccessResponseModel GetGLAccountById(Int32 companyid, Int64 glaccountid); + + /// + /// Retrieve GL accounts for this company + /// + /// + /// Retrieves a list of GL accounts attached to this company. You can apply filters to retrieve specific records. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns these GL accounts + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* companyId, meta, defaultItem + /// A comma separated list of objects to fetch underneath this company. Any object with a URL path underneath this company can be fetched by specifying its name. + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + FetchResult ListGLAccountsByCompany(Int32 companyid, String filter, String include, Int32? top, Int32? skip, String orderBy); + + /// + /// Update a single GL account + /// + /// + /// Updates a single GL account owned by the company. Use the glaccountid path parameter to identify the GL account to update. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that owns this GL Account object + /// The primary key of this GL Account + /// The GL account object you want to update + GLAccountSuccessResponseModel UpdateGLAccount(Int32 companyid, Int64 glaccountid, GLAccountRequestModel model); + /// /// Delete all classifications for an item /// @@ -4410,8 +4491,9 @@ public interface IAvaTaxClient /// /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. + /// If true then Indix api will be called synchronously to get tax code recommendations. /// The item you wish to create. - List CreateItems(Int32 companyId, List model); + List CreateItems(Int32 companyId, Boolean? processRecommendationsSynchronously, List model); /// /// Create tags for a item @@ -4579,31 +4661,6 @@ public interface IAvaTaxClient /// The ID of the item as defined by the company that owns this tag. List DeleteItemTags(Int32 companyId, Int64 itemId); - /// - /// Get status of classification requests of a company - /// - /// - /// Get status of tax code classification requests of a company. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// Enable includeClassificationDetails flag to get details of classification request status. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. - /// - /// Swagger Name: AvaTaxClient - /// The ID of the company that defined these items - /// A boolean field to get detailed classification status. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* classificationDetails, totalItems - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - FetchResult GetClassificationStatus(Int32 companyId, Boolean? includeClassificationDetails, String filter, Int32? top, Int32? skip, String orderBy); - /// /// Retrieve a single item /// @@ -4688,6 +4745,21 @@ public interface IAvaTaxClient /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. FetchResult GetItemTags(Int32 companyId, Int64 itemId, String filter, Int32? top, Int32? skip); + /// + /// Get Item TaxCode Recommendations + /// + /// + /// Provides at least three tax-code recommendations for the given company ID and item ID + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + /// + /// + TaxCodeRecommendationsOutputModel GetItemTaxCodeRecommendations(Int32 companyId, Int64 itemId); + /// /// Retrieve premium classification for a company's item based on its ItemCode and SystemCode. /// @@ -4713,29 +4785,6 @@ public interface IAvaTaxClient /// The SystemCode for which you want to retrieve premium classification ItemPremiumClassificationOutputModel GetPremiumClassification(Int32 companyId, String itemCode, String systemCode); - /// - /// Get tax code recommendations - /// - /// - /// Get tax code recommendations. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. - /// - /// Swagger Name: AvaTaxClient - /// The ID of the company that defined these items - /// The ID of the classification request - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* recommendations, url - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - FetchResult GetTaxCodeRecommendations(Int32 companyId, Int32 requestId, String filter, Int32? top, Int32? skip, String orderBy); - /// /// Retrieve Restrictions for Item by CountryOfImport /// @@ -4836,6 +4885,10 @@ public interface IAvaTaxClient /// /// You may specify Tag Name in the `tagName` query parameter if you want to filter items on the basis of tagName /// + /// You may specify comma seperated item status in the `itemStatus` query parameter if you want to filter items on the basis of item status + /// + /// You may specify Tax Code recommendation status in the `taxCodeRecommendationStatus` query parameter if you want to filter items on the basis of tax code recommendation status + /// /// You may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values: /// /// * Parameters @@ -4849,13 +4902,15 @@ public interface IAvaTaxClient /// /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. /// Tag Name on the basis of which you want to filter Items - FetchResult ListItemsByCompany(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName); + /// A comma separated list of item status on the basis of which you want to filter Items + /// Tax code recommendation status on the basis of which you want to filter Items + FetchResult ListItemsByCompany(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName, String itemStatus, String taxCodeRecommendationStatus); /// /// Retrieve all items @@ -4878,13 +4933,42 @@ public interface IAvaTaxClient /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. FetchResult QueryItems(String filter, String include, Int32? top, Int32? skip, String orderBy); + /// + /// Retrieve items for this company based on System Code and filter criteria(optional) provided + /// + /// + /// Retrieve items based on System Code + /// + /// Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you + /// can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, + /// and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters + /// from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance + /// team can manage your item catalog and adjust the tax behavior of items without having to modify your software. + /// + /// Search for specific objects by passing the `$filter` criteria in the body; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) . + /// + /// Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. + /// + /// Swagger Name: AvaTaxClient + /// The ID of the company that defined these items + /// System code on the basis of which you want to filter Items + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + /// A filter statement to select specific records, as defined by https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#97-filtering . + FetchResult QueryItemsBySystemCode(Int32 companyId, String systemCode, Int32? top, Int32? skip, String orderBy, FilterModel model); + /// /// Retrieve all items associated with given tag /// @@ -4908,7 +4992,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -11906,7 +11990,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -12090,6 +12174,30 @@ public interface IAvaTaxClient /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. Task> ListFilingFrequenciesAsync(String filter, Int32? top, Int32? skip, String orderBy); + /// Swagger Name: AvaTaxClient + /// + /// List of all recommendation status which can be assigned to an item; + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + Task> ListItemsRecommendationsStatusAsync(); + + /// Swagger Name: AvaTaxClient + /// + /// List of all possible status which can be assigned to an item; + /// + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + Task> ListItemsStatusAsync(); + /// Swagger Name: AvaTaxClient /// /// List jurisdictions based on the filter provided; @@ -12545,7 +12653,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -12560,7 +12668,7 @@ public interface IAvaTaxClient /// /// The ID of the account to retrieve the parameters. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -12593,7 +12701,7 @@ public interface IAvaTaxClient /// Company code. /// Item code. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* serviceTypes, regularExpression, attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -12609,7 +12717,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values, valueDescriptions + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values, valueDescriptions /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -12800,21 +12908,6 @@ public interface IAvaTaxClient /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. Task> ListRegionsByCountryAndTaxTypeAndTaxSubTypeAndRateTypeAsync(Int32 companyId, String country, String taxTypeId, String taxSubTypeId, Int32 rateTypeId, String jurisdictionTypeId, Int32? top, Int32? skip, String orderBy); - /// Swagger Name: AvaTaxClient - /// - /// Retrieve the full list of Avalara-supported resource file types; - /// - /// - /// Returns the full list of Avalara-supported resource file types - /// This API is intended to be useful to identify all the different resource file types.; - /// - - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - Task> ListResourceFileTypesAsync(String filter, Int32? top, Int32? skip, String orderBy); - /// Swagger Name: AvaTaxClient /// /// Retrieve the full list of Avalara-supported usage of parameters used for returns.; @@ -12825,7 +12918,7 @@ public interface IAvaTaxClient /// Some parameters are only available for use if you have subscribed to certain features of AvaTax.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* values + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* attributeSubType, values /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -13492,6 +13585,85 @@ public interface IAvaTaxClient /// The company's subscription type Task FundingRequestStatusAsync(Int32 id, POABusinessUnit? businessUnit, POASubscriptionType? subscriptionType); + /// Swagger Name: AvaTaxClient + /// + /// Bulk upload GL accounts; + /// + /// + /// Allows a bulk upload of GL accounts for the specified company. Use the companyid path parameter to identify the company for which the GL accounts should be uploaded.; + /// + + /// The ID of the company that owns this GL account object + /// The GL account bulk upload model. + Task BulkUploadGLAccountsAsync(Int32 companyid, GLAccountBulkUploadInputModel model); + + /// Swagger Name: AvaTaxClient + /// + /// Create a new GL account; + /// + /// + /// Creates one or more new GL account objects attached to this company. + /// + /// A GL account is a general ledger account that can be passed to transactions at the line level to apply the multiple rules of the transactions, including exemptions, allocations, etc. to a specific general ledger.; + /// + + /// The ID of the company that owns this GL Account object + /// The GL Account you want to create + Task CreateGLAccountAsync(Int32 companyid, GLAccountRequestModel model); + + /// Swagger Name: AvaTaxClient + /// + /// Delete the GL account associated with the given company ID and GL account ID; + /// + /// + /// Deletes the GL account associated with the specified `glaccountid` and `companyid`; + /// + + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + Task DeleteGLAccountAsync(Int32 companyid, Int64 glaccountid); + + /// Swagger Name: AvaTaxClient + /// + /// Retrieve a single GL account; + /// + /// + /// Retrieve details of a single GL account identified by its `glaccountid` and `companyid`; + /// + + /// The ID of the company that owns this GL account object + /// The primary key of this GL account + Task GetGLAccountByIdAsync(Int32 companyid, Int64 glaccountid); + + /// Swagger Name: AvaTaxClient + /// + /// Retrieve GL accounts for this company; + /// + /// + /// Retrieves a list of GL accounts attached to this company. You can apply filters to retrieve specific records.; + /// + + /// The ID of the company that owns these GL accounts + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* companyId, meta, defaultItem + /// A comma separated list of objects to fetch underneath this company. Any object with a URL path underneath this company can be fetched by specifying its name. + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + Task> ListGLAccountsByCompanyAsync(Int32 companyid, String filter, String include, Int32? top, Int32? skip, String orderBy); + + /// Swagger Name: AvaTaxClient + /// + /// Update a single GL account; + /// + /// + /// Updates a single GL account owned by the company. Use the glaccountid path parameter to identify the GL account to update.; + /// + + /// The ID of the company that owns this GL Account object + /// The primary key of this GL Account + /// The GL account object you want to update + Task UpdateGLAccountAsync(Int32 companyid, Int64 glaccountid, GLAccountRequestModel model); + /// Swagger Name: AvaTaxClient /// /// Delete all classifications for an item; @@ -13629,8 +13801,9 @@ public interface IAvaTaxClient /// /// The ID of the company that owns this item. + /// If true then Indix api will be called synchronously to get tax code recommendations. /// The item you wish to create. - Task> CreateItemsAsync(Int32 companyId, List model); + Task> CreateItemsAsync(Int32 companyId, Boolean? processRecommendationsSynchronously, List model); /// Swagger Name: AvaTaxClient /// @@ -13806,32 +13979,6 @@ public interface IAvaTaxClient /// The ID of the item as defined by the company that owns this tag. Task> DeleteItemTagsAsync(Int32 companyId, Int64 itemId); - /// Swagger Name: AvaTaxClient - /// - /// Get status of classification requests of a company; - /// - /// - /// Get status of tax code classification requests of a company. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// Enable includeClassificationDetails flag to get details of classification request status. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; - /// - - /// The ID of the company that defined these items - /// A boolean field to get detailed classification status. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* classificationDetails, totalItems - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - Task> GetClassificationStatusAsync(Int32 companyId, Boolean? includeClassificationDetails, String filter, Int32? top, Int32? skip, String orderBy); - /// Swagger Name: AvaTaxClient /// /// Retrieve a single item; @@ -13920,6 +14067,22 @@ public interface IAvaTaxClient /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. Task> GetItemTagsAsync(Int32 companyId, Int64 itemId, String filter, Int32? top, Int32? skip); + /// Swagger Name: AvaTaxClient + /// + /// Get Item TaxCode Recommendations; + /// + /// + /// Provides at least three tax-code recommendations for the given company ID and item ID + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + /// + /// + Task GetItemTaxCodeRecommendationsAsync(Int32 companyId, Int64 itemId); + /// Swagger Name: AvaTaxClient /// /// Retrieve premium classification for a company's item based on its ItemCode and SystemCode.; @@ -13946,30 +14109,6 @@ public interface IAvaTaxClient /// The SystemCode for which you want to retrieve premium classification Task GetPremiumClassificationAsync(Int32 companyId, String itemCode, String systemCode); - /// Swagger Name: AvaTaxClient - /// - /// Get tax code recommendations; - /// - /// - /// Get tax code recommendations. - /// - /// Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and - /// major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes - /// allowing them to take advantage of thousands of tax rules in the AvaTax engine resulting in accurate taxability determinations. - /// - /// ### Security Policies - /// - /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; - /// - - /// The ID of the company that defined these items - /// The ID of the classification request - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* recommendations, url - /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. - /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. - /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. - Task> GetTaxCodeRecommendationsAsync(Int32 companyId, Int32 requestId, String filter, Int32? top, Int32? skip, String orderBy); - /// Swagger Name: AvaTaxClient /// /// Retrieve Restrictions for Item by CountryOfImport; @@ -14074,6 +14213,10 @@ public interface IAvaTaxClient /// /// You may specify Tag Name in the `tagName` query parameter if you want to filter items on the basis of tagName /// + /// You may specify comma seperated item status in the `itemStatus` query parameter if you want to filter items on the basis of item status + /// + /// You may specify Tax Code recommendation status in the `taxCodeRecommendationStatus` query parameter if you want to filter items on the basis of tax code recommendation status + /// /// You may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values: /// /// * Parameters @@ -14087,13 +14230,15 @@ public interface IAvaTaxClient /// /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. /// Tag Name on the basis of which you want to filter Items - Task> ListItemsByCompanyAsync(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName); + /// A comma separated list of item status on the basis of which you want to filter Items + /// Tax code recommendation status on the basis of which you want to filter Items + Task> ListItemsByCompanyAsync(Int32 companyId, String filter, String include, Int32? top, Int32? skip, String orderBy, String tagName, String itemStatus, String taxCodeRecommendationStatus); /// Swagger Name: AvaTaxClient /// @@ -14117,13 +14262,43 @@ public interface IAvaTaxClient /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. Task> QueryItemsAsync(String filter, String include, Int32? top, Int32? skip, String orderBy); + /// Swagger Name: AvaTaxClient + /// + /// Retrieve items for this company based on System Code and filter criteria(optional) provided; + /// + /// + /// Retrieve items based on System Code + /// + /// Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you + /// can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions, + /// and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters + /// from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance + /// team can manage your item catalog and adjust the tax behavior of items without having to modify your software. + /// + /// Search for specific objects by passing the `$filter` criteria in the body; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) . + /// + /// Paginate your results using the `$top`, `$skip`, and `$orderby` parameters. + /// + /// ### Security Policies + /// + /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; + /// + + /// The ID of the company that defined these items + /// System code on the basis of which you want to filter Items + /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. + /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. + /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. + /// A filter statement to select specific records, as defined by https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#97-filtering . + Task> QueryItemsBySystemCodeAsync(Int32 companyId, String systemCode, Int32? top, Int32? skip, String orderBy, FilterModel model); + /// Swagger Name: AvaTaxClient /// /// Retrieve all items associated with given tag; @@ -14148,7 +14323,7 @@ public interface IAvaTaxClient /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, upc, classifications, parameters, tags, properties + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. diff --git a/src/enums/APStatus.cs b/src/enums/APStatus.cs index 91dbafd..7db2f08 100644 --- a/src/enums/APStatus.cs +++ b/src/enums/APStatus.cs @@ -25,7 +25,7 @@ public enum APStatus /// /// /// - PayAsBilledMatch = 0, + NoAccrualMatch = 0, /// /// @@ -45,12 +45,12 @@ public enum APStatus /// /// /// - PayAsBilledNoAccrual = 4, + NoAccrualUndercharge = 4, /// /// /// - PayAsBilledAccrueUndercharge = 5, + AccruedUndercharge = 5, /// /// @@ -60,7 +60,7 @@ public enum APStatus /// /// /// - MarkForReviewUndercharge = 7, + NeedReviewUndercharge = 7, /// /// @@ -70,7 +70,7 @@ public enum APStatus /// /// /// - PayAsBilledOvercharge = 9, + NoAccrualOvercharge = 9, /// /// @@ -95,32 +95,52 @@ public enum APStatus /// /// /// - AmountThresholdNotMet = 14, + NoAccrualAmountThresholdNotMet = 14, /// /// /// - CostCenterExempted = 15, + NoAccrualExemptedCostCenter = 15, /// /// /// - ItemExempted = 16, + NoAccrualExemptedItem = 16, /// /// /// - TrustedVendor = 17, + NoAccrualTrustedVendor = 17, /// /// /// - AccruedByVendor = 18, + AccruedVendor = 18, /// /// /// - Ignored = 19, + NeedReviewVendor = 19, + + /// + /// + /// + NoAccrualExemptedVendor = 20, + + /// + /// + /// + NoAccrualExemptedGLAccount = 21, + + /// + /// + /// + PendingAccrualVendor = 22, + + /// + /// + /// + PendingAccrualUndercharge = 23, } } diff --git a/src/enums/BatchType.cs b/src/enums/BatchType.cs index 23ae0fd..4f4fc8d 100644 --- a/src/enums/BatchType.cs +++ b/src/enums/BatchType.cs @@ -101,5 +101,10 @@ public enum BatchType /// CostCenterImport = 15, + /// + /// + /// + GLAccountImport = 16, + } } diff --git a/src/enums/ErrorCodeId.cs b/src/enums/ErrorCodeId.cs index 6e5a8d3..73b68b7 100644 --- a/src/enums/ErrorCodeId.cs +++ b/src/enums/ErrorCodeId.cs @@ -1531,6 +1531,16 @@ public enum ErrorCodeId /// ItemDualWriteParameterValueMismatchError = 1740, + /// + /// + /// + DuplicateItemIdsInTaxCodeClassificationRequest = 1741, + + /// + /// + /// + TooManyItemIdsInTaxCodeClassificationRequest = 1742, + /// /// SendSales API errors /// @@ -1862,6 +1872,16 @@ public enum ErrorCodeId /// InvalidCostCenter = 2813, + /// + /// Sync flow restricts one record for Item model + /// + TooManyItemsInSyncFlowRequest = 2814, + + /// + /// IMS-2096: Recommendation status update rule + /// + InvalidTaxCodeIdInRecommendationStatusUpdate = 2815, + /// /// Occurs when a Header value is incorrect or invalid in some way /// diff --git a/src/models/ClassificationParameterUsageMapModel.cs b/src/models/ClassificationParameterUsageMapModel.cs index 3fbe0aa..666722e 100644 --- a/src/models/ClassificationParameterUsageMapModel.cs +++ b/src/models/ClassificationParameterUsageMapModel.cs @@ -38,7 +38,7 @@ public class ClassificationParameterUsageMapModel public String taxTypeGroupId { get; set; } /// - /// This defines if the parameter is recommeded ,optional or mandatory + /// This defines if the parameter is recommended ,optional or mandatory /// public Visibility? visibility { get; set; } @@ -47,6 +47,11 @@ public class ClassificationParameterUsageMapModel /// public String attributeType { get; set; } + /// + /// The sub-type of parameter as determined by its application. + /// + public String attributeSubType { get; set; } + /// /// The name of the property. To use this property, add a field on the `parameters` object of a [CreateTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/) call. /// diff --git a/src/models/FilterModel.cs b/src/models/FilterModel.cs new file mode 100644 index 0000000..30455c4 --- /dev/null +++ b/src/models/FilterModel.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Filter Model + /// + public class FilterModel + { + /// + /// Filter + /// + public String filter { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/GLAccountBulkUploadInputModel.cs b/src/models/GLAccountBulkUploadInputModel.cs new file mode 100644 index 0000000..bee1861 --- /dev/null +++ b/src/models/GLAccountBulkUploadInputModel.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Represents a bulk upload input model. + /// + public class GLAccountBulkUploadInputModel + { + /// + /// List of GL accounts + /// + public List glAccounts { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/GLAccountBulkUploadOutputModel.cs b/src/models/GLAccountBulkUploadOutputModel.cs new file mode 100644 index 0000000..ce31302 --- /dev/null +++ b/src/models/GLAccountBulkUploadOutputModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Represents a bulk upload response model. + /// + public class GLAccountBulkUploadOutputModel + { + /// + /// The total number of processed objects + /// + public Int32? total { get; set; } + + /// + /// A dictionary of the object and a respective list of errors + /// + public List failed { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/GLAccountRequestModel.cs b/src/models/GLAccountRequestModel.cs new file mode 100644 index 0000000..c3ce07d --- /dev/null +++ b/src/models/GLAccountRequestModel.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// GL account request model + /// + public class GLAccountRequestModel + { + /// + /// The entity use code + /// + public String entityUseCode { get; set; } + + /// + /// The "effective from" date + /// + public DateTime? effectiveDate { get; set; } + + /// + /// The end date + /// + public DateTime? endDate { get; set; } + + /// + /// + /// + public Int64TaxProfileObjectReferenceModel defaultItem { get; set; } + + /// + /// The GL account code + /// + public String glAccountCode { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/GLAccountSuccessResponseModel.cs b/src/models/GLAccountSuccessResponseModel.cs new file mode 100644 index 0000000..bc20f7b --- /dev/null +++ b/src/models/GLAccountSuccessResponseModel.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// GL account response model + /// + public class GLAccountSuccessResponseModel + { + /// + /// The GL account ID + /// + public Int64? glAccountId { get; set; } + + /// + /// The company ID to which this GL account belongs + /// + public Int32? companyId { get; set; } + + /// + /// + /// + public TaxProfileMetaDataModel meta { get; set; } + + /// + /// The entity use code + /// + public String entityUseCode { get; set; } + + /// + /// The "effective from" date + /// + public DateTime? effectiveDate { get; set; } + + /// + /// The end date + /// + public DateTime? endDate { get; set; } + + /// + /// + /// + public Int64TaxProfileObjectReferenceModel defaultItem { get; set; } + + /// + /// The GL account code + /// + public String glAccountCode { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/GLAccountUploadErrorModel.cs b/src/models/GLAccountUploadErrorModel.cs new file mode 100644 index 0000000..ef121c6 --- /dev/null +++ b/src/models/GLAccountUploadErrorModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Represents a GL account upload error model + /// + public class GLAccountUploadErrorModel + { + /// + /// Row index of a GL account + /// + public Int32? rowIndex { get; set; } + + /// + /// GL Account code + /// + public String glAccountCode { get; set; } + + /// + /// List of errors for against given GL account code + /// + public List errors { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/ItemCatalogueInputModel.cs b/src/models/ItemCatalogueInputModel.cs index 33e7524..5231b24 100644 --- a/src/models/ItemCatalogueInputModel.cs +++ b/src/models/ItemCatalogueInputModel.cs @@ -38,20 +38,25 @@ public class ItemCatalogueInputModel public String description { get; set; } /// - /// A summary for selection of the tax code. + /// The tax code of the item. /// - public String summary { get; set; } + public String taxCode { get; set; } /// - /// The tax code of the item. + /// Type of item /// - public String taxCode { get; set; } + public String itemType { get; set; } /// /// The universal product code of the item. /// public String upc { get; set; } + /// + /// A summary for selection of the tax code. + /// + public String summary { get; set; } + /// /// A way to group similar items. /// diff --git a/src/models/ItemModel.cs b/src/models/ItemModel.cs index cf1a3b6..44df7d7 100644 --- a/src/models/ItemModel.cs +++ b/src/models/ItemModel.cs @@ -38,16 +38,16 @@ public class ItemModel public String itemCode { get; set; } /// - /// DEPRECATED - Date: 11/13/2018, Version: 18.12, Message: For identifying an `Item` with `Avalara TaxCode`, please call the [CreateItemClassification API] with your ItemCode and the Avalara TaxCode. /// The unique ID number of the tax code that is applied when selling this item. - /// When creating or updating an item, you can either specify the Tax Code ID number or the Tax Code string; you do not need to specify both values. + /// When creating or updating an item, you can either specify the Tax Code ID number or the Tax Code string; + /// you do not need to specify both values. /// public Int32? taxCodeId { get; set; } /// - /// DEPRECATED - Date: 11/13/2018, Version: 18.12, Message: For identifying an `Item` with `Avalara TaxCode`, please call the [CreateItemClassification API] with your ItemCode and the Avalara TaxCode. /// The unique code string of the Tax Code that is applied when selling this item. - /// When creating or updating an item, you can either specify the Tax Code ID number or the Tax Code string; you do not need to specify both values. + /// When creating or updating an item, you can either specify the Tax Code ID number or the Tax Code string; + /// you do not need to specify both values. /// public String taxCode { get; set; } @@ -87,7 +87,7 @@ public class ItemModel public Int32? modifiedUserId { get; set; } /// - /// Source of creation of this item + /// Source of creation of this. /// public String source { get; set; } @@ -96,14 +96,24 @@ public class ItemModel ///
public String sourceEntityId { get; set; } + /// + /// Type of item + /// + public String itemType { get; set; } + /// /// Universal unique code for item /// public String upc { get; set; } + /// + /// Long Summary for Item + /// + public String summary { get; set; } + /// /// List of classifications that belong to this item. - /// A single classification consits of a productCode and a systemCode for a particular item. + /// A single classification consists of a productCode and a systemCode for a particular item. /// public List classifications { get; set; } @@ -122,6 +132,16 @@ public class ItemModel ///
public object properties { get; set; } + /// + /// List of item status + /// + public List itemStatus { get; set; } + + /// + /// + /// + public TaxCodeRecommendationStatusOutputModel taxCodeRecommendationStatus { get; set; } + /// /// Convert this object to a JSON string of itself diff --git a/src/models/ItemStatusModel.cs b/src/models/ItemStatusModel.cs new file mode 100644 index 0000000..d37ab88 --- /dev/null +++ b/src/models/ItemStatusModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Status Output Model + /// + public class ItemStatusModel + { + /// + /// Status + /// + public String name { get; set; } + + /// + /// Description + /// + public String description { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/ItemStatusOutputModel.cs b/src/models/ItemStatusOutputModel.cs new file mode 100644 index 0000000..7047ed5 --- /dev/null +++ b/src/models/ItemStatusOutputModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Output model for item status + /// + public class ItemStatusOutputModel + { + /// + /// Item Status + /// + public String status { get; set; } + + /// + /// Last modified date + /// + public DateTime? modifiedDate { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/ItemTaxCodeClassificationRequestInputModel.cs b/src/models/ItemTaxCodeClassificationRequestInputModel.cs index dda8ef6..51811e5 100644 --- a/src/models/ItemTaxCodeClassificationRequestInputModel.cs +++ b/src/models/ItemTaxCodeClassificationRequestInputModel.cs @@ -22,21 +22,11 @@ namespace Avalara.AvaTax.RestClient /// public class ItemTaxCodeClassificationRequestInputModel { - /// - /// Determines if classification has to be initiated for all items of a company - /// - public Boolean classifyAllItems { get; set; } - /// /// Item ids for which classification has to be initiated /// public List itemIds { get; set; } - /// - /// Product categories of items - /// - public List productCategories { get; set; } - /// /// Convert this object to a JSON string of itself diff --git a/src/models/ItemTaxCodeClassificationRequestOutputModel.cs b/src/models/ItemTaxCodeClassificationRequestOutputModel.cs index bb9ac42..99c72aa 100644 --- a/src/models/ItemTaxCodeClassificationRequestOutputModel.cs +++ b/src/models/ItemTaxCodeClassificationRequestOutputModel.cs @@ -23,12 +23,12 @@ namespace Avalara.AvaTax.RestClient public class ItemTaxCodeClassificationRequestOutputModel { /// - /// The unique ID of the classification request + /// The unique Request Id of classification request /// public Int32? requestId { get; set; } /// - /// The unique ID of the company that created the classification request. + /// The unique ID number of the company that has created classification request. /// public Int32? companyId { get; set; } @@ -38,12 +38,12 @@ public class ItemTaxCodeClassificationRequestOutputModel public String request { get; set; } /// - /// The status of the classification request + /// The status of classification request /// public String status { get; set; } /// - /// The request type of the classification request + /// The request type of classification request /// public String requestType { get; set; } diff --git a/src/models/ItemTaxCodeRecommendationStatusModel.cs b/src/models/ItemTaxCodeRecommendationStatusModel.cs new file mode 100644 index 0000000..41bdf8d --- /dev/null +++ b/src/models/ItemTaxCodeRecommendationStatusModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Status Output Model + /// + public class ItemTaxCodeRecommendationStatusModel + { + /// + /// Status + /// + public String name { get; set; } + + /// + /// Description + /// + public String description { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/ParameterModel.cs b/src/models/ParameterModel.cs index 47bfe29..6d446c2 100644 --- a/src/models/ParameterModel.cs +++ b/src/models/ParameterModel.cs @@ -84,6 +84,11 @@ public class ParameterModel /// public String attributeType { get; set; } + /// + /// The sub-type of parameter as determined by its application. + /// + public String attributeSubType { get; set; } + /// /// If the parameter is of enumeration data type, then this list will be populated with all of the possible enumeration values. /// diff --git a/src/models/ParameterUsageModel.cs b/src/models/ParameterUsageModel.cs index 4ac5729..9ceac5c 100644 --- a/src/models/ParameterUsageModel.cs +++ b/src/models/ParameterUsageModel.cs @@ -62,6 +62,11 @@ public class ParameterUsageModel ///
public String attributeType { get; set; } + /// + /// The sub-type of parameter as determined by its application. + /// + public String attributeSubType { get; set; } + /// /// The name of the property. To use this property, add a field on the `parameters` object of a [CreateTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/) call. /// diff --git a/src/models/ResourceFileUploadRequestModel.cs b/src/models/ResourceFileUploadRequestModel.cs index ac4bda0..175cea8 100644 --- a/src/models/ResourceFileUploadRequestModel.cs +++ b/src/models/ResourceFileUploadRequestModel.cs @@ -47,11 +47,6 @@ public class ResourceFileUploadRequestModel ///
public String name { get; set; } - /// - /// The resource type ID of this file. - /// - public Int32? resourceFileTypeId { get; set; } - /// /// Length of the file in bytes. /// diff --git a/src/models/ReturnsParameterUsageModel.cs b/src/models/ReturnsParameterUsageModel.cs index 7fd6a79..9caaa38 100644 --- a/src/models/ReturnsParameterUsageModel.cs +++ b/src/models/ReturnsParameterUsageModel.cs @@ -47,6 +47,11 @@ public class ReturnsParameterUsageModel ///
public String attributeType { get; set; } + /// + /// The sub-type of parameter as determined by its application. + /// + public String attributeSubType { get; set; } + /// /// The name of the property. To use this property, add a field on the `parameters` object of a [CreateTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/) call. /// diff --git a/src/models/TaxCodeRecommendationStatusOutputModel.cs b/src/models/TaxCodeRecommendationStatusOutputModel.cs new file mode 100644 index 0000000..51d2ff5 --- /dev/null +++ b/src/models/TaxCodeRecommendationStatusOutputModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Output model for item tax code recommendation status + /// + public class TaxCodeRecommendationStatusOutputModel + { + /// + /// Recommendation status + /// + public String status { get; set; } + + /// + /// Status message + /// + public String message { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/TaxCodeRecommendationsOutputModel.cs b/src/models/TaxCodeRecommendationsOutputModel.cs new file mode 100644 index 0000000..6da82fd --- /dev/null +++ b/src/models/TaxCodeRecommendationsOutputModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Tax Code Recommendation Output Model + /// + public class TaxCodeRecommendationsOutputModel + { + /// + /// Recommended TaxCode + /// + public String taxCode { get; set; } + + /// + /// Recommended TaxCode Level + /// + public String level { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/TransactionModel.cs b/src/models/TransactionModel.cs index 6536f00..308b1ec 100644 --- a/src/models/TransactionModel.cs +++ b/src/models/TransactionModel.cs @@ -416,52 +416,26 @@ public class TransactionModel /// falls above or below the tolerance/threshold limits. /// /// Available AP status codes are: - /// 1. PayAsBilledMatch - /// 2. PayAsBilledNoAccrual - /// 3. PayAsBilledAccrueUndercharge - /// 4. ShortPayItemsAccrueUndercharge - /// 5. MarkForReviewUndercharge - /// 6. RejectUndercharge - /// 7. ShortPayItemsAccrueOvercharge - /// 8. MarkForReviewOvercharge - /// 9. RejectOvercharge - /// 10. RejectMatch - /// 11. MarkForReviewMatch - /// 12. ShortPayItemsAccrueMatch - /// 13. PayAsBilledOvercharge - /// 14. ShortPayAvalaraCalculated - /// 15. AmountThresholdNotMet - /// 16. TrustedVendor - /// 17. CostCenterExempted - /// 18. ItemExempted - /// 19. AccruedByVendor + /// 1. NoAccrualMatch + /// 2. NoAccrualUndercharge + /// 3. NoAccrualOvercharge + /// 4. NoAccrualAmountThresholdNotMet + /// 5. NoAccrualTrustedVendor + /// 6. NoAccrualExemptedCostCenter + /// 7. NoAccrualExemptedItem + /// 8. NoAccrualExemptedVendor + /// 9. AccruedUndercharge + /// 10. AccruedVendor + /// 11. NeedReviewUndercharge + /// 12. NeedReviewVendor + /// 13. PendingAccrualVendor + /// 14. PendingAccrualUndercharge ///
public APStatus? apStatusCode { get; set; } /// /// An Accounts Payable (AP) status indicates an action that needs to be taken when the tolerance amount falls /// above or below certain threshold limits. - /// - /// Available AP statuses are: - /// 1. Ignored - No variance, pay as billed (PayAsBilledMatch) - /// 2. Ignored - Undercharged, pay as billed (PayAsBilledNoAccrual) - /// 3. Accrued - Pay bill and accrue undercharge variance (PayAsBilledAccrueUndercharge) - /// 4. Accrued - Pay for items and accrue all tax (ShortPayItemsAccrueUndercharge) - /// 5. Needs review - Undercharged (MarkForReviewUndercharge) - /// 6. Ignored - Reject undercharged transaction (RejectUndercharge) - /// 7. Accrued - Pay for items and accrue all tax (ShortPayItemsAccrueOvercharge) - /// 8. Needs review - Overcharged (MarkForReviewOvercharge) - /// 9. Ignored - Reject overcharged transaction (RejectOvercharge) - /// 10. Ignored - No variance, reject transaction (RejectMatch) - /// 11. Needs review - No variance (MarkForReviewMatch) - /// 12. Accrued - No variance, pay for items and accrue all tax (ShortPayItemsAccrueMatch) - /// 13. Ignored - Overcharged, pay as billed (PayAsBilledOvercharge) - /// 14. Ignored - Overcharged, pay Avalara’s calculated tax (ShortPayAvalaraCalculated) - /// 15. Ignored - Amount threshold not met (AmountThresholdNotMet) - /// 16. Ignored - Use trusted vendor’s calculations (TrustedVendor) - /// 17. Ignored - Cost center exempted from tax (CostCenterExempted) - /// 18. Ignored - Item exempted from tax (ItemExempted) - /// 19. Accrued - Accrued by Vendor (AccruedByVendor) /// public String apStatus { get; set; }