avatax 22.8.0 → 23.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/gem-push.yml +3 -3
  3. data/.gitignore +2 -0
  4. data/README.md +1 -1
  5. data/avatax.gemspec +3 -3
  6. data/lib/avatax/api.rb +14 -0
  7. data/lib/avatax/client/accounts.rb +17 -17
  8. data/lib/avatax/client/addresses.rb +2 -2
  9. data/lib/avatax/client/advancedrules.rb +5 -5
  10. data/lib/avatax/client/ageverification.rb +60 -1
  11. data/lib/avatax/client/avafileforms.rb +5 -5
  12. data/lib/avatax/client/batches.rb +8 -8
  13. data/lib/avatax/client/certexpressinvites.rb +3 -3
  14. data/lib/avatax/client/certificates.rb +15 -15
  15. data/lib/avatax/client/companies.rb +36 -36
  16. data/lib/avatax/client/compliance.rb +1 -1
  17. data/lib/avatax/client/contacts.rb +6 -6
  18. data/lib/avatax/client/customers.rb +13 -13
  19. data/lib/avatax/client/datasources.rb +9 -9
  20. data/lib/avatax/client/definitions.rb +112 -78
  21. data/lib/avatax/client/distancethresholds.rb +6 -6
  22. data/lib/avatax/client/ecommercetoken.rb +4 -4
  23. data/lib/avatax/client/firmclientlinkages.rb +11 -11
  24. data/lib/avatax/client/free.rb +1 -1
  25. data/lib/avatax/client/fundingrequests.rb +3 -3
  26. data/lib/avatax/client/items.rb +52 -49
  27. data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
  28. data/lib/avatax/client/locations.rb +18 -18
  29. data/lib/avatax/client/multidocument.rb +10 -10
  30. data/lib/avatax/client/nexus.rb +15 -15
  31. data/lib/avatax/client/notices.rb +4 -4
  32. data/lib/avatax/client/notifications.rb +6 -6
  33. data/lib/avatax/client/provisioning.rb +2 -2
  34. data/lib/avatax/client/registrar.rb +32 -10
  35. data/lib/avatax/client/reports.rb +4 -4
  36. data/lib/avatax/client/settings.rb +9 -9
  37. data/lib/avatax/client/shippingverification.rb +4 -4
  38. data/lib/avatax/client/subscriptions.rb +3 -3
  39. data/lib/avatax/client/taxcodes.rb +9 -9
  40. data/lib/avatax/client/taxcontent.rb +16 -12
  41. data/lib/avatax/client/taxrules.rb +42 -6
  42. data/lib/avatax/client/transactions.rb +81 -22
  43. data/lib/avatax/client/upcs.rb +6 -6
  44. data/lib/avatax/client/userdefinedfields.rb +4 -4
  45. data/lib/avatax/client/users.rb +12 -12
  46. data/lib/avatax/client/utilities.rb +3 -3
  47. data/lib/avatax/client.rb +1 -0
  48. data/lib/avatax/configuration.rb +4 -1
  49. data/lib/avatax/connection.rb +17 -12
  50. data/lib/avatax/version.rb +1 -1
  51. data/spec/spec_helper.rb +2 -1
  52. metadata +10 -10
@@ -29,7 +29,7 @@ module AvaTax
29
29
  # @param model [SettingModel[]] The setting you wish to create.
30
30
  # @return [SettingModel[]]
31
31
  def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
32
- post(path, model, {}, "22.8.0") end
32
+ post(path, model, {}, AvaTax::VERSION) end
33
33
 
34
34
  # Delete a single setting
35
35
  #
@@ -52,7 +52,7 @@ module AvaTax
52
52
  # @param id [Integer] The ID of the setting you wish to delete.
53
53
  # @return [ErrorDetail[]]
54
54
  def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
55
- delete(path, {}, "22.8.0") end
55
+ delete(path, {}, AvaTax::VERSION) end
56
56
 
57
57
  # Retrieve a single setting
58
58
  #
@@ -69,13 +69,13 @@ module AvaTax
69
69
  #
70
70
  # ### Security Policies
71
71
  #
72
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
72
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
73
73
  # Swagger Name: AvaTaxClient
74
74
  # @param companyId [Integer] The ID of the company that owns this setting
75
75
  # @param id [Integer] The primary key of this setting
76
76
  # @return [Object]
77
77
  def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
78
- get(path, {}, "22.8.0") end
78
+ get(path, {}, AvaTax::VERSION) end
79
79
 
80
80
  # Retrieve all settings for this company
81
81
  #
@@ -95,7 +95,7 @@ module AvaTax
95
95
  #
96
96
  # ### Security Policies
97
97
  #
98
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
98
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
99
99
  # Swagger Name: AvaTaxClient
100
100
  # @param companyId [Integer] The ID of the company that owns these settings
101
101
  # @param filter [String] 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/).<br />*Not filterable:* modifiedDate, ModifiedUserId
@@ -105,7 +105,7 @@ module AvaTax
105
105
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
106
106
  # @return [FetchResult]
107
107
  def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
108
- get(path, options, "22.8.0") end
108
+ get(path, options, AvaTax::VERSION) end
109
109
 
110
110
  # Retrieve all settings
111
111
  #
@@ -125,7 +125,7 @@ module AvaTax
125
125
  #
126
126
  # ### Security Policies
127
127
  #
128
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
128
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
129
129
  # Swagger Name: AvaTaxClient
130
130
  # @param filter [String] 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/).<br />*Not filterable:* modifiedDate, ModifiedUserId
131
131
  # @param include [String] A comma separated list of additional data to retrieve.
@@ -134,7 +134,7 @@ module AvaTax
134
134
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
135
135
  # @return [FetchResult]
136
136
  def query_settings(options={}) path = "/api/v2/settings"
137
- get(path, options, "22.8.0") end
137
+ get(path, options, AvaTax::VERSION) end
138
138
 
139
139
  # Update a single setting
140
140
  #
@@ -162,7 +162,7 @@ module AvaTax
162
162
  # @param model [Object] The setting you wish to update.
163
163
  # @return [Object]
164
164
  def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
165
- put(path, model, {}, "22.8.0") end
165
+ put(path, model, {}, AvaTax::VERSION) end
166
166
  end
167
167
  end
168
168
  end
@@ -16,7 +16,7 @@ module AvaTax
16
16
  def deregister_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
17
17
  headers= Hash.new
18
18
  headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
19
- delete(path, options, "", headers) end
19
+ delete(path, options, AvaTax::VERSION, headers) end
20
20
 
21
21
  # Registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
22
22
  #
@@ -31,7 +31,7 @@ module AvaTax
31
31
  def register_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
32
32
  headers= Hash.new
33
33
  headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
34
- put(path, options, "", headers) end
34
+ put(path, options, AvaTax::VERSION, headers) end
35
35
 
36
36
  # Evaluates a transaction against a set of direct-to-consumer shipping regulations and, if compliant, registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
37
37
  #
@@ -46,7 +46,7 @@ module AvaTax
46
46
  def register_shipment_if_compliant(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registerIfCompliant"
47
47
  headers= Hash.new
48
48
  headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
49
- put(path, options, "", headers) end
49
+ put(path, options, AvaTax::VERSION, headers) end
50
50
 
51
51
  # Evaluates a transaction against a set of direct-to-consumer shipping regulations.
52
52
  #
@@ -76,7 +76,7 @@ module AvaTax
76
76
  def verify_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/verify"
77
77
  headers= Hash.new
78
78
  headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
79
- get(path, options, "", headers) end
79
+ get(path, options, AvaTax::VERSION, headers) end
80
80
  end
81
81
  end
82
82
  end
@@ -17,7 +17,7 @@ module AvaTax
17
17
  # @param id [Integer] The primary key of this subscription
18
18
  # @return [Object]
19
19
  def get_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
20
- get(path, {}, "22.8.0") end
20
+ get(path, {}, AvaTax::VERSION) end
21
21
 
22
22
  # Retrieve subscriptions for this account
23
23
  #
@@ -39,7 +39,7 @@ module AvaTax
39
39
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
40
40
  # @return [FetchResult]
41
41
  def list_subscriptions_by_account(accountId, options={}) path = "/api/v2/accounts/#{accountId}/subscriptions"
42
- get(path, options, "22.8.0") end
42
+ get(path, options, AvaTax::VERSION) end
43
43
 
44
44
  # Retrieve all subscriptions
45
45
  #
@@ -60,7 +60,7 @@ module AvaTax
60
60
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
61
61
  # @return [FetchResult]
62
62
  def query_subscriptions(options={}) path = "/api/v2/subscriptions"
63
- get(path, options, "22.8.0") end
63
+ get(path, options, AvaTax::VERSION) end
64
64
  end
65
65
  end
66
66
  end
@@ -19,7 +19,7 @@ module AvaTax
19
19
  # @param model [TaxCodeModel[]] The tax code you wish to create.
20
20
  # @return [TaxCodeModel[]]
21
21
  def create_tax_codes(companyId, model) path = "/api/v2/companies/#{companyId}/taxcodes"
22
- post(path, model, {}, "22.8.0") end
22
+ post(path, model, {}, AvaTax::VERSION) end
23
23
 
24
24
  # Delete a single tax code
25
25
  #
@@ -33,7 +33,7 @@ module AvaTax
33
33
  # @param id [Integer] The ID of the tax code you wish to delete.
34
34
  # @return [ErrorDetail[]]
35
35
  def delete_tax_code(companyId, id) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
36
- delete(path, {}, "22.8.0") end
36
+ delete(path, {}, AvaTax::VERSION) end
37
37
 
38
38
  # Retrieve a single tax code
39
39
  #
@@ -45,13 +45,13 @@ module AvaTax
45
45
  #
46
46
  # ### Security Policies
47
47
  #
48
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
48
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
49
49
  # Swagger Name: AvaTaxClient
50
50
  # @param companyId [Integer] The ID of the company that owns this tax code
51
51
  # @param id [Integer] The primary key of this tax code
52
52
  # @return [Object]
53
53
  def get_tax_code(companyId, id) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
54
- get(path, {}, "22.8.0") end
54
+ get(path, {}, AvaTax::VERSION) end
55
55
 
56
56
  # Retrieve tax codes for this company
57
57
  #
@@ -66,7 +66,7 @@ module AvaTax
66
66
  #
67
67
  # ### Security Policies
68
68
  #
69
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
69
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
70
70
  # Swagger Name: AvaTaxClient
71
71
  # @param companyId [Integer] The ID of the company that owns these tax codes
72
72
  # @param filter [String] 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/).
@@ -76,7 +76,7 @@ module AvaTax
76
76
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
77
77
  # @return [FetchResult]
78
78
  def list_tax_codes_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/taxcodes"
79
- get(path, options, "22.8.0") end
79
+ get(path, options, AvaTax::VERSION) end
80
80
 
81
81
  # Retrieve all tax codes
82
82
  #
@@ -91,7 +91,7 @@ module AvaTax
91
91
  #
92
92
  # ### Security Policies
93
93
  #
94
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
94
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
95
95
  # Swagger Name: AvaTaxClient
96
96
  # @param filter [String] 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/).
97
97
  # @param include [String] A comma separated list of additional data to retrieve.
@@ -100,7 +100,7 @@ module AvaTax
100
100
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
101
101
  # @return [FetchResult]
102
102
  def query_tax_codes(options={}) path = "/api/v2/taxcodes"
103
- get(path, options, "22.8.0") end
103
+ get(path, options, AvaTax::VERSION) end
104
104
 
105
105
  # Update a single tax code
106
106
  #
@@ -121,7 +121,7 @@ module AvaTax
121
121
  # @param model [Object] The tax code you wish to update.
122
122
  # @return [Object]
123
123
  def update_tax_code(companyId, id, model) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
124
- put(path, model, {}, "22.8.0") end
124
+ put(path, model, {}, AvaTax::VERSION) end
125
125
  end
126
126
  end
127
127
  end
@@ -31,13 +31,13 @@ module AvaTax
31
31
  #
32
32
  # ### Security Policies
33
33
  #
34
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
34
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
35
35
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
36
36
  # Swagger Name: AvaTaxClient
37
37
  # @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
38
38
  # @return [Object]
39
39
  def build_tax_content_file(model) path = "/api/v2/pointofsaledata/build"
40
- post(path, model, {}, "22.8.0") end
40
+ post(path, model, {}, AvaTax::VERSION) end
41
41
 
42
42
  # Build a tax content file for a single location
43
43
  #
@@ -67,7 +67,7 @@ module AvaTax
67
67
  #
68
68
  # ### Security Policies
69
69
  #
70
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
70
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
71
71
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
72
72
  # Swagger Name: AvaTaxClient
73
73
  # @param companyId [Integer] The ID number of the company that owns this location.
@@ -78,7 +78,7 @@ module AvaTax
78
78
  # @param includeJurisCodes [Boolean] When true, the file will include jurisdiction codes in the result.
79
79
  # @return [Object]
80
80
  def build_tax_content_file_for_location(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/locations/#{id}/pointofsaledata"
81
- get(path, options, "22.8.0") end
81
+ get(path, options, AvaTax::VERSION) end
82
82
 
83
83
  # Download a file listing tax rates by postal code
84
84
  #
@@ -125,13 +125,13 @@ module AvaTax
125
125
  #
126
126
  # ### Security Policies
127
127
  #
128
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
128
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
129
129
  # Swagger Name: AvaTaxClient
130
130
  # @param date [DateTime] The date for which point-of-sale data would be calculated (today by default). Example input: 2016-12-31
131
131
  # @param region [String] A two character region code which limits results to a specific region.
132
132
  # @return [Object]
133
133
  def download_tax_rates_by_zip_code(date, options={}) path = "/api/v2/taxratesbyzipcode/download/#{date}"
134
- get(path, options, "22.8.0") end
134
+ get(path, options, AvaTax::VERSION) end
135
135
 
136
136
  # Sales tax rates for a specified address
137
137
  #
@@ -141,8 +141,10 @@ module AvaTax
141
141
  # This API assumes that you are selling general tangible personal property at a retail point-of-sale
142
142
  # location in the United States only.
143
143
  #
144
- # For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API,
145
- # which supports features including, but not limited to:
144
+ # Please be advised that this endpoint is designed for approximate tax rate estimation only and
145
+ # may not yield precise results. For a more powerful and accurate tax estimation, upgrade to the
146
+ # `CreateTransaction` API, which offers a variety of advanced features including, but not limited
147
+ # to:
146
148
  #
147
149
  # * Nexus declarations
148
150
  # * Taxability based on product/service type
@@ -165,7 +167,7 @@ module AvaTax
165
167
  # @param country [String] Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
166
168
  # @return [Object]
167
169
  def tax_rates_by_address(options={}) path = "/api/v2/taxrates/byaddress"
168
- get(path, options, "22.8.0") end
170
+ get(path, options, AvaTax::VERSION) end
169
171
 
170
172
  # Sales tax rates for a specified country and postal code. This API is only available for US postal codes.
171
173
  #
@@ -177,8 +179,10 @@ module AvaTax
177
179
  # This API assumes that you are selling general tangible personal property at a retail point-of-sale
178
180
  # location in the United States only.
179
181
  #
180
- # For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API,
181
- # which supports features including, but not limited to:
182
+ # Please be advised that this endpoint is designed for approximate tax rate estimation only and
183
+ # may not yield precise results. For a more powerful and accurate tax estimation, upgrade to the
184
+ # `CreateTransaction` API, which offers a variety of advanced features including, but not limited
185
+ # to:
182
186
  #
183
187
  # * Nexus declarations
184
188
  # * Taxability based on product/service type
@@ -196,7 +200,7 @@ module AvaTax
196
200
  # @param postalCode [String] The postal code of the location.
197
201
  # @return [Object]
198
202
  def tax_rates_by_postal_code(options={}) path = "/api/v2/taxrates/bypostalcode"
199
- get(path, options, "22.8.0") end
203
+ get(path, options, AvaTax::VERSION) end
200
204
  end
201
205
  end
202
206
  end
@@ -3,6 +3,25 @@ module AvaTax
3
3
  module TaxRules
4
4
 
5
5
 
6
+ # Create new Country Coefficients. If already exist update them.
7
+ #
8
+ # Create one or more Country Coefficients for particular country.
9
+ #
10
+ # We would like to use country coefficients during Cross-Border calculations to slightly increase or decrease
11
+ # a calculation for a line based on the tax-subtype and Country of destination for a transaction.
12
+ #
13
+ # This will allow AvaTax to minimize the variance caused between actual transaction taken place on ground Vs Tax
14
+ # Calculated by AvaTax.
15
+ #
16
+ # Make sure to use the same API to update the country coefficients that is already present in the database.
17
+ # This will make existing entry for specific country as ineffective for that date. And new entry created will get applicable
18
+ # to the newer transactions.
19
+ # Swagger Name: AvaTaxClient
20
+ # @param model [Object] The Country Coefficients for specific country you wish to create.
21
+ # @return [CountryCoefficientsResponseModel[]]
22
+ def create_country_coefficients(model) path = "/api/v2/countryCoefficients"
23
+ put(path, model, {}, AvaTax::VERSION) end
24
+
6
25
  # Create a new tax rule
7
26
  #
8
27
  # Create one or more custom tax rules attached to this company.
@@ -27,7 +46,7 @@ module AvaTax
27
46
  # @param model [TaxRuleModel[]] The tax rule you wish to create.
28
47
  # @return [TaxRuleModel[]]
29
48
  def create_tax_rules(companyId, model) path = "/api/v2/companies/#{companyId}/taxrules"
30
- post(path, model, {}, "22.8.0") end
49
+ post(path, model, {}, AvaTax::VERSION) end
31
50
 
32
51
  # Delete a single tax rule
33
52
  #
@@ -53,7 +72,7 @@ module AvaTax
53
72
  # @param id [Integer] The ID of the tax rule you wish to delete.
54
73
  # @return [ErrorDetail[]]
55
74
  def delete_tax_rule(companyId, id) path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
56
- delete(path, {}, "22.8.0") end
75
+ delete(path, {}, AvaTax::VERSION) end
57
76
 
58
77
  # Retrieve a single tax rule
59
78
  #
@@ -79,7 +98,24 @@ module AvaTax
79
98
  # @param id [Integer] The primary key of this tax rule
80
99
  # @return [Object]
81
100
  def get_tax_rule(companyId, id) path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
82
- get(path, {}, "22.8.0") end
101
+ get(path, {}, AvaTax::VERSION) end
102
+
103
+ # Retrieve country coefficients for specific country
104
+ #
105
+ # Retrieve all or any specific records of Country Coefficients based on the filters(optional) for specific country.
106
+ #
107
+ # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
108
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
109
+ # Swagger Name: AvaTaxClient
110
+ # @param country [String] Country for which data need to be pulled for.
111
+ # @param filter [String] 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/).<br />*Not filterable:* CoefficientsId, AccountId, ModifiedUserId, CreatedUserId
112
+ # @param include [String] A comma separated list of additional data to retrieve.
113
+ # @param top [Integer] 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.
114
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
115
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
116
+ # @return [FetchResult]
117
+ def list_country_coefficients(country, options={}) path = "/api/v2/#{country}/CountryCoefficients"
118
+ get(path, options, AvaTax::VERSION) end
83
119
 
84
120
  # Retrieve tax rules for this company
85
121
  #
@@ -112,7 +148,7 @@ module AvaTax
112
148
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
113
149
  # @return [FetchResult]
114
150
  def list_tax_rules(companyId, options={}) path = "/api/v2/companies/#{companyId}/taxrules"
115
- get(path, options, "22.8.0") end
151
+ get(path, options, AvaTax::VERSION) end
116
152
 
117
153
  # Retrieve all tax rules
118
154
  #
@@ -144,7 +180,7 @@ module AvaTax
144
180
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
145
181
  # @return [FetchResult]
146
182
  def query_tax_rules(options={}) path = "/api/v2/taxrules"
147
- get(path, options, "22.8.0") end
183
+ get(path, options, AvaTax::VERSION) end
148
184
 
149
185
  # Update a single tax rule
150
186
  #
@@ -171,7 +207,7 @@ module AvaTax
171
207
  # @param model [Object] The tax rule you wish to update.
172
208
  # @return [Object]
173
209
  def update_tax_rule(companyId, id, model) path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
174
- put(path, model, {}, "22.8.0") end
210
+ put(path, model, {}, AvaTax::VERSION) end
175
211
  end
176
212
  end
177
213
  end