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.
- checksums.yaml +4 -4
- data/.github/workflows/gem-push.yml +3 -3
- data/.gitignore +2 -0
- data/README.md +1 -1
- data/avatax.gemspec +3 -3
- data/lib/avatax/api.rb +14 -0
- data/lib/avatax/client/accounts.rb +17 -17
- data/lib/avatax/client/addresses.rb +2 -2
- data/lib/avatax/client/advancedrules.rb +5 -5
- data/lib/avatax/client/ageverification.rb +60 -1
- data/lib/avatax/client/avafileforms.rb +5 -5
- data/lib/avatax/client/batches.rb +8 -8
- data/lib/avatax/client/certexpressinvites.rb +3 -3
- data/lib/avatax/client/certificates.rb +15 -15
- data/lib/avatax/client/companies.rb +36 -36
- data/lib/avatax/client/compliance.rb +1 -1
- data/lib/avatax/client/contacts.rb +6 -6
- data/lib/avatax/client/customers.rb +13 -13
- data/lib/avatax/client/datasources.rb +9 -9
- data/lib/avatax/client/definitions.rb +112 -78
- data/lib/avatax/client/distancethresholds.rb +6 -6
- data/lib/avatax/client/ecommercetoken.rb +4 -4
- data/lib/avatax/client/firmclientlinkages.rb +11 -11
- data/lib/avatax/client/free.rb +1 -1
- data/lib/avatax/client/fundingrequests.rb +3 -3
- data/lib/avatax/client/items.rb +52 -49
- data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
- data/lib/avatax/client/locations.rb +18 -18
- data/lib/avatax/client/multidocument.rb +10 -10
- data/lib/avatax/client/nexus.rb +15 -15
- data/lib/avatax/client/notices.rb +4 -4
- data/lib/avatax/client/notifications.rb +6 -6
- data/lib/avatax/client/provisioning.rb +2 -2
- data/lib/avatax/client/registrar.rb +32 -10
- data/lib/avatax/client/reports.rb +4 -4
- data/lib/avatax/client/settings.rb +9 -9
- data/lib/avatax/client/shippingverification.rb +4 -4
- data/lib/avatax/client/subscriptions.rb +3 -3
- data/lib/avatax/client/taxcodes.rb +9 -9
- data/lib/avatax/client/taxcontent.rb +16 -12
- data/lib/avatax/client/taxrules.rb +42 -6
- data/lib/avatax/client/transactions.rb +81 -22
- data/lib/avatax/client/upcs.rb +6 -6
- data/lib/avatax/client/userdefinedfields.rb +4 -4
- data/lib/avatax/client/users.rb +12 -12
- data/lib/avatax/client/utilities.rb +3 -3
- data/lib/avatax/client.rb +1 -0
- data/lib/avatax/configuration.rb +4 -1
- data/lib/avatax/connection.rb +17 -12
- data/lib/avatax/version.rb +1 -1
- data/spec/spec_helper.rb +2 -1
- 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, {},
|
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, {},
|
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, {},
|
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,
|
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,
|
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, {},
|
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,
|
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,
|
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,
|
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,
|
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, {},
|
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,
|
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,
|
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
|
+
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, {},
|
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, {},
|
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,
|
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,
|
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, {},
|
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, {},
|
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,
|
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,
|
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
|
-
#
|
145
|
-
#
|
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,
|
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
|
-
#
|
181
|
-
#
|
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,
|
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, {},
|
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, {},
|
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, {},
|
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,
|
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,
|
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, {},
|
210
|
+
put(path, model, {}, AvaTax::VERSION) end
|
175
211
|
end
|
176
212
|
end
|
177
213
|
end
|