avatax 21.7.1 → 21.12.0

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avatax/client/accounts.rb +94 -83
  3. data/lib/avatax/client/addresses.rb +22 -20
  4. data/lib/avatax/client/advancedrules.rb +46 -41
  5. data/lib/avatax/client/ageverification.rb +29 -0
  6. data/lib/avatax/client/avafileforms.rb +46 -41
  7. data/lib/avatax/client/batches.rb +70 -62
  8. data/lib/avatax/client/certexpressinvites.rb +30 -27
  9. data/lib/avatax/client/certificates.rb +126 -111
  10. data/lib/avatax/client/companies.rb +174 -153
  11. data/lib/avatax/client/compliance.rb +25 -14
  12. data/lib/avatax/client/contacts.rb +54 -48
  13. data/lib/avatax/client/customers.rb +110 -97
  14. data/lib/avatax/client/datasources.rb +54 -48
  15. data/lib/avatax/client/definitions.rb +624 -450
  16. data/lib/avatax/client/distancethresholds.rb +54 -48
  17. data/lib/avatax/client/ecommercetoken.rb +20 -18
  18. data/lib/avatax/client/filingcalendars.rb +44 -20
  19. data/lib/avatax/client/filings.rb +24 -20
  20. data/lib/avatax/client/firmclientlinkages.rb +78 -69
  21. data/lib/avatax/client/free.rb +14 -13
  22. data/lib/avatax/client/fundingrequests.rb +22 -20
  23. data/lib/avatax/client/items.rb +209 -181
  24. data/lib/avatax/client/jurisdictionoverrides.rb +54 -48
  25. data/lib/avatax/client/locations.rb +102 -90
  26. data/lib/avatax/client/multidocument.rb +86 -76
  27. data/lib/avatax/client/nexus.rb +148 -105
  28. data/lib/avatax/client/notices.rb +30 -26
  29. data/lib/avatax/client/notifications.rb +30 -27
  30. data/lib/avatax/client/provisioning.rb +22 -20
  31. data/lib/avatax/client/registrar.rb +94 -83
  32. data/lib/avatax/client/reports.rb +38 -34
  33. data/lib/avatax/client/settings.rb +54 -48
  34. data/lib/avatax/client/shippingverification.rb +66 -0
  35. data/lib/avatax/client/subscriptions.rb +30 -27
  36. data/lib/avatax/client/taxcodes.rb +54 -48
  37. data/lib/avatax/client/taxcontent.rb +46 -41
  38. data/lib/avatax/client/taxrules.rb +56 -50
  39. data/lib/avatax/client/transactions.rb +174 -153
  40. data/lib/avatax/client/upcs.rb +54 -48
  41. data/lib/avatax/client/userdefinedfields.rb +52 -0
  42. data/lib/avatax/client/users.rb +70 -62
  43. data/lib/avatax/client/utilities.rb +30 -27
  44. data/lib/avatax/client.rb +2 -0
  45. data/lib/avatax/connection.rb +1 -1
  46. data/lib/avatax/request.rb +21 -12
  47. data/lib/avatax/version.rb +1 -1
  48. metadata +6 -3
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Companies
4
-
5
-
6
- # Checks whether the integration being used to set up this company and run transactions onto this company is compliant to all requirements.
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Companies
4
+
5
+
6
+ # Checks whether the integration being used to set up this company and run transactions onto this company is compliant to all requirements.
7
+ #
8
8
  # Examines the most recent 100 transactions or data from the last month when verifying transaction-related integrations.
9
9
  # For partners who write integrations against AvaTax for many clients, this API is a way to do a quick self testing to verify whether the
10
10
  # written integrations for a company are sufficient enough to be delivered to the respective customers to start using it.
@@ -31,14 +31,15 @@ module AvaTax
31
31
  #
32
32
  # ### Security Policies
33
33
  #
34
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, 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, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
35
+ # Swagger Name: AvaTaxClient
35
36
  # @param id [Integer] The ID of the company to check if its integration is certified.
36
- # @return [String]
37
- def certify_integration(id) path = "/api/v2/companies/#{id}/certify"
38
- get(path) end
39
-
40
- # Change the filing status of this company
41
- #
37
+ # @return [String]
38
+ def certify_integration(id) path = "/api/v2/companies/#{id}/certify"
39
+ get(path, {}, "21.12.0") end
40
+
41
+ # Change the filing status of this company
42
+ #
42
43
  # Changes the current filing status of this company.
43
44
  #
44
45
  # For customers using Avalara's Managed Returns Service, each company within their account can request
@@ -55,15 +56,16 @@ module AvaTax
55
56
  #
56
57
  # ### Security Policies
57
58
  #
58
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
59
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
60
+ # Swagger Name: AvaTaxClient
59
61
  # @param id [Integer]
60
62
  # @param model [Object]
61
- # @return [String]
62
- def change_filing_status(id, model) path = "/api/v2/companies/#{id}/filingstatus"
63
- post(path, model) end
64
-
65
- # Quick setup for a company with a single physical address
66
- #
63
+ # @return [String]
64
+ def change_filing_status(id, model) path = "/api/v2/companies/#{id}/filingstatus"
65
+ post(path, model, {}, "21.12.0") end
66
+
67
+ # Quick setup for a company with a single physical address
68
+ #
67
69
  # Shortcut to quickly setup a single-physical-location company with critical information and activate it.
68
70
  # This API provides quick and simple company setup functionality and does the following things:
69
71
  #
@@ -79,14 +81,15 @@ module AvaTax
79
81
  #
80
82
  # ### Security Policies
81
83
  #
82
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
84
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
85
+ # Swagger Name: AvaTaxClient
83
86
  # @param model [Object] Information about the company you wish to create.
84
- # @return [Object]
85
- def company_initialize(model) path = "/api/v2/companies/initialize"
86
- post(path, model) end
87
-
88
- # Create new companies
89
- #
87
+ # @return [Object]
88
+ def company_initialize(model) path = "/api/v2/companies/initialize"
89
+ post(path, model, {}, "21.12.0") end
90
+
91
+ # Create new companies
92
+ #
90
93
  # Create one or more new company objects.
91
94
  # A 'company' represents a single corporation or individual that is registered to handle transactional taxes.
92
95
  # You may attach nested data objects such as contacts, locations, and nexus with this CREATE call, and those objects will be created with the company.
@@ -95,14 +98,15 @@ module AvaTax
95
98
  #
96
99
  # ### Security Policies
97
100
  #
98
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
101
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
102
+ # Swagger Name: AvaTaxClient
99
103
  # @param model [CompanyModel[]] Either a single company object or an array of companies to create
100
- # @return [CompanyModel[]]
101
- def create_companies(model) path = "/api/v2/companies"
102
- post(path, model) end
103
-
104
- # Add parameters to a company.
105
- #
104
+ # @return [CompanyModel[]]
105
+ def create_companies(model) path = "/api/v2/companies"
106
+ post(path, model, {}, "21.12.0") end
107
+
108
+ # Add parameters to a company.
109
+ #
106
110
  # Add parameters to a company.
107
111
  #
108
112
  # Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters".
@@ -117,15 +121,16 @@ module AvaTax
117
121
  #
118
122
  # ### Security Policies
119
123
  #
120
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
124
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
125
+ # Swagger Name: AvaTaxClient
121
126
  # @param companyId [Integer] The ID of the company that owns this company parameter.
122
127
  # @param model [CompanyParameterDetailModel[]] The company parameters you wish to create.
123
- # @return [CompanyParameterDetailModel[]]
124
- def create_company_parameters(companyId, model) path = "/api/v2/companies/#{companyId}/parameters"
125
- post(path, model) end
126
-
127
- # Request managed returns funding setup for a company
128
- #
128
+ # @return [CompanyParameterDetailModel[]]
129
+ def create_company_parameters(companyId, model) path = "/api/v2/companies/#{companyId}/parameters"
130
+ post(path, model, {}, "21.12.0") end
131
+
132
+ # Request managed returns funding setup for a company
133
+ #
129
134
  # This API is available by invitation only.
130
135
  # Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are
131
136
  # required to setup their funding configuration before Avalara can begin filing tax returns on their
@@ -140,27 +145,29 @@ module AvaTax
140
145
  # ### Security Policies
141
146
  #
142
147
  # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
143
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
148
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
149
+ # Swagger Name: AvaTaxClient
144
150
  # @param id [Integer] The unique identifier of the company
145
151
  # @param model [Object] The funding initialization request
146
- # @return [Object]
147
- def create_funding_request(id, model) path = "/api/v2/companies/#{id}/funding/setup"
148
- post(path, model) end
149
-
150
- # Delete a single company
151
- #
152
+ # @return [Object]
153
+ def create_funding_request(id, model) path = "/api/v2/companies/#{id}/funding/setup"
154
+ post(path, model, {}, "21.12.0") end
155
+
156
+ # Delete a single company
157
+ #
152
158
  # Deleting a company will delete all child companies, and all users attached to this company.
153
159
  #
154
160
  # ### Security Policies
155
161
  #
156
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
162
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
163
+ # Swagger Name: AvaTaxClient
157
164
  # @param id [Integer] The ID of the company you wish to delete.
158
- # @return [ErrorDetail[]]
159
- def delete_company(id) path = "/api/v2/companies/#{id}"
160
- delete(path) end
161
-
162
- # Delete a single company parameter
163
- #
165
+ # @return [ErrorDetail[]]
166
+ def delete_company(id) path = "/api/v2/companies/#{id}"
167
+ delete(path, {}, "21.12.0") end
168
+
169
+ # Delete a single company parameter
170
+ #
164
171
  # Delete a parameter of a company.
165
172
  # Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters".
166
173
  #
@@ -170,15 +177,16 @@ module AvaTax
170
177
  #
171
178
  # ### Security Policies
172
179
  #
173
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
180
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
181
+ # Swagger Name: AvaTaxClient
174
182
  # @param companyId [Integer] The company id
175
183
  # @param id [Integer] The parameter id
176
- # @return [ErrorDetail[]]
177
- def delete_company_parameter(companyId, id) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
178
- delete(path) end
179
-
180
- # Check the funding configuration of a company
181
- #
184
+ # @return [ErrorDetail[]]
185
+ def delete_company_parameter(companyId, id) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
186
+ delete(path, {}, "21.12.0") end
187
+
188
+ # Check the funding configuration of a company
189
+ #
182
190
  # This API is available by invitation only.
183
191
  # Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
184
192
  # Returns the funding configuration of the requested company.
@@ -187,14 +195,15 @@ module AvaTax
187
195
  # ### Security Policies
188
196
  #
189
197
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
190
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
198
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
199
+ # Swagger Name: AvaTaxClient
191
200
  # @param companyId [Integer] The unique identifier of the company
192
- # @return [Object]
193
- def funding_configuration_by_company(companyId) path = "/api/v2/companies/#{companyId}/funding/configuration"
194
- get(path) end
195
-
196
- # Check the funding configuration of a company
197
- #
201
+ # @return [Object]
202
+ def funding_configuration_by_company(companyId) path = "/api/v2/companies/#{companyId}/funding/configuration"
203
+ get(path, {}, "21.12.0") end
204
+
205
+ # Check the funding configuration of a company
206
+ #
198
207
  # This API is available by invitation only.
199
208
  # Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
200
209
  # Returns the funding configuration of the requested company.
@@ -203,15 +212,16 @@ module AvaTax
203
212
  # ### Security Policies
204
213
  #
205
214
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
206
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
215
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
216
+ # Swagger Name: AvaTaxClient
207
217
  # @param companyId [Integer] The unique identifier of the company
208
218
  # @param currency [String] The currency of the funding. USD and CAD are the only valid currencies
209
- # @return [FundingConfigurationModel[]]
210
- def funding_configurations_by_company_and_currency(companyId, options={}) path = "/api/v2/companies/#{companyId}/funding/configurations"
211
- get(path, options) end
212
-
213
- # Retrieve a single company
214
- #
219
+ # @return [FundingConfigurationModel[]]
220
+ def funding_configurations_by_company_and_currency(companyId, options={}) path = "/api/v2/companies/#{companyId}/funding/configurations"
221
+ get(path, options, "21.12.0") end
222
+
223
+ # Retrieve a single company
224
+ #
215
225
  # Get the company object identified by this URL.
216
226
  # A 'company' represents a single corporation or individual that is registered to handle transactional taxes.
217
227
  # 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:
@@ -228,15 +238,16 @@ module AvaTax
228
238
  #
229
239
  # ### Security Policies
230
240
  #
231
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
241
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
242
+ # Swagger Name: AvaTaxClient
232
243
  # @param id [Integer] The ID of the company to retrieve.
233
244
  # @param include [String] OPTIONAL: A comma separated list of special fetch options. * Child objects - Specify one or more of the following to retrieve objects related to each company: "Contacts", "FilingCalendars", "Items", "Locations", "Nexus", "TaxCodes", "NonReportingChildren" or "TaxRules". * Deleted objects - Specify "FetchDeleted" to retrieve information about previously deleted objects.
234
- # @return [Object]
235
- def get_company(id, options={}) path = "/api/v2/companies/#{id}"
236
- get(path, options) end
237
-
238
- # Get configuration settings for this company
239
- #
245
+ # @return [Object]
246
+ def get_company(id, options={}) path = "/api/v2/companies/#{id}"
247
+ get(path, options, "21.12.0") end
248
+
249
+ # Get configuration settings for this company
250
+ #
240
251
  # Retrieve a list of all configuration settings tied to this company.
241
252
  #
242
253
  # Configuration settings provide you with the ability to control features of your account and of your
@@ -252,14 +263,15 @@ module AvaTax
252
263
  #
253
264
  # ### Security Policies
254
265
  #
255
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
266
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
267
+ # Swagger Name: AvaTaxClient
256
268
  # @param id [Integer]
257
- # @return [CompanyConfigurationModel[]]
258
- def get_company_configuration(id) path = "/api/v2/companies/#{id}/configuration"
259
- get(path) end
260
-
261
- # Retrieve a single company parameter
262
- #
269
+ # @return [CompanyConfigurationModel[]]
270
+ def get_company_configuration(id) path = "/api/v2/companies/#{id}/configuration"
271
+ get(path, {}, "21.12.0") end
272
+
273
+ # Retrieve a single company parameter
274
+ #
263
275
  # Retrieves a single parameter of a company.
264
276
  #
265
277
  # Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters".
@@ -270,15 +282,16 @@ module AvaTax
270
282
  #
271
283
  # ### Security Policies
272
284
  #
273
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
285
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
286
+ # Swagger Name: AvaTaxClient
274
287
  # @param companyId [Integer]
275
288
  # @param id [Integer]
276
- # @return [Object]
277
- def get_company_parameter_detail(companyId, id) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
278
- get(path) end
279
-
280
- # Get this company's filing status
281
- #
289
+ # @return [Object]
290
+ def get_company_parameter_detail(companyId, id) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
291
+ get(path, {}, "21.12.0") end
292
+
293
+ # Get this company's filing status
294
+ #
282
295
  # Retrieve the current filing status of this company.
283
296
  #
284
297
  # For customers using Avalara's Managed Returns Service, each company within their account can request
@@ -296,14 +309,15 @@ module AvaTax
296
309
  #
297
310
  # ### Security Policies
298
311
  #
299
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
312
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
313
+ # Swagger Name: AvaTaxClient
300
314
  # @param id [Integer]
301
- # @return [String]
302
- def get_filing_status(id) path = "/api/v2/companies/#{id}/filingstatus"
303
- get(path) end
304
-
305
- # Retrieve parameters for a company
306
- #
315
+ # @return [String]
316
+ def get_filing_status(id) path = "/api/v2/companies/#{id}/filingstatus"
317
+ get(path, {}, "21.12.0") end
318
+
319
+ # Retrieve parameters for a company
320
+ #
307
321
  # Retrieve all parameters of a company.
308
322
  #
309
323
  # Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters".
@@ -317,18 +331,19 @@ module AvaTax
317
331
  #
318
332
  # ### Security Policies
319
333
  #
320
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
334
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
335
+ # Swagger Name: AvaTaxClient
321
336
  # @param companyId [Integer] The company id
322
337
  # @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:* name, unit
323
338
  # @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.
324
339
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
325
340
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
326
- # @return [FetchResult]
327
- def list_company_parameter_details(companyId, options={}) path = "/api/v2/companies/#{companyId}/parameters"
328
- get(path, options) end
329
-
330
- # Check managed returns funding status for a company
331
- #
341
+ # @return [FetchResult]
342
+ def list_company_parameter_details(companyId, options={}) path = "/api/v2/companies/#{companyId}/parameters"
343
+ get(path, options, "21.12.0") end
344
+
345
+ # Check managed returns funding status for a company
346
+ #
332
347
  # This API is available by invitation only.
333
348
  # Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
334
349
  # Returns a list of funding setup requests and their current status.
@@ -337,27 +352,29 @@ module AvaTax
337
352
  # ### Security Policies
338
353
  #
339
354
  # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
340
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
355
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
356
+ # Swagger Name: AvaTaxClient
341
357
  # @param id [Integer] The unique identifier of the company
342
- # @return [FundingStatusModel[]]
343
- def list_funding_requests_by_company(id) path = "/api/v2/companies/#{id}/funding"
344
- get(path) end
345
-
346
- # Retrieve a list of MRS Companies with account
347
- #
358
+ # @return [FundingStatusModel[]]
359
+ def list_funding_requests_by_company(id) path = "/api/v2/companies/#{id}/funding"
360
+ get(path, {}, "21.12.0") end
361
+
362
+ # Retrieve a list of MRS Companies with account
363
+ #
348
364
  # This API is available by invitation only.
349
365
  #
350
366
  # Get a list of companies with an active MRS service.
351
367
  #
352
368
  # ### Security Policies
353
369
  #
354
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
355
- # @return [FetchResult]
356
- def list_mrs_companies() path = "/api/v2/companies/mrs"
357
- get(path) end
358
-
359
- # Retrieve all companies
360
- #
370
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
371
+ # Swagger Name: AvaTaxClient
372
+ # @return [FetchResult]
373
+ def list_mrs_companies() path = "/api/v2/companies/mrs"
374
+ get(path, {}, "21.12.0") end
375
+
376
+ # Retrieve all companies
377
+ #
361
378
  # Get multiple company objects.
362
379
  #
363
380
  # A `company` represents a single corporation or individual that is registered to handle transactional taxes.
@@ -378,18 +395,19 @@ module AvaTax
378
395
  #
379
396
  # ### Security Policies
380
397
  #
381
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
398
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
399
+ # Swagger Name: AvaTaxClient
382
400
  # @param include [String] 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.
383
401
  # @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:* IsFein, contacts, items, locations, nexus, settings, taxCodes, taxRules, upcs, nonReportingChildCompanies, exemptCerts, parameters, supplierandcustomers
384
402
  # @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.
385
403
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
386
404
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
387
- # @return [FetchResult]
388
- def query_companies(options={}) path = "/api/v2/companies"
389
- get(path, options) end
390
-
391
- # Change configuration settings for this company
392
- #
405
+ # @return [FetchResult]
406
+ def query_companies(options={}) path = "/api/v2/companies"
407
+ get(path, options, "21.12.0") end
408
+
409
+ # Change configuration settings for this company
410
+ #
393
411
  # Update configuration settings tied to this company.
394
412
  #
395
413
  # Configuration settings provide you with the ability to control features of your account and of your
@@ -405,15 +423,16 @@ module AvaTax
405
423
  #
406
424
  # ### Security Policies
407
425
  #
408
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
426
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
427
+ # Swagger Name: AvaTaxClient
409
428
  # @param id [Integer]
410
429
  # @param model [CompanyConfigurationModel[]]
411
- # @return [CompanyConfigurationModel[]]
412
- def set_company_configuration(id, model) path = "/api/v2/companies/#{id}/configuration"
413
- post(path, model) end
414
-
415
- # Update a single company
416
- #
430
+ # @return [CompanyConfigurationModel[]]
431
+ def set_company_configuration(id, model) path = "/api/v2/companies/#{id}/configuration"
432
+ post(path, model, {}, "21.12.0") end
433
+
434
+ # Update a single company
435
+ #
417
436
  # Replace the existing company object at this URL with an updated object.
418
437
  #
419
438
  # A `CompanyModel` represents a single corporation or individual that is registered to handle transactional taxes.
@@ -428,15 +447,16 @@ module AvaTax
428
447
  #
429
448
  # ### Security Policies
430
449
  #
431
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
450
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
451
+ # Swagger Name: AvaTaxClient
432
452
  # @param id [Integer] The ID of the company you wish to update.
433
453
  # @param model [Object] The company object you wish to update.
434
- # @return [Object]
435
- def update_company(id, model) path = "/api/v2/companies/#{id}"
436
- put(path, model) end
437
-
438
- # Update a company parameter
439
- #
454
+ # @return [Object]
455
+ def update_company(id, model) path = "/api/v2/companies/#{id}"
456
+ put(path, model, {}, "21.12.0") end
457
+
458
+ # Update a company parameter
459
+ #
440
460
  # Update a parameter of a company.
441
461
  #
442
462
  # Some companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called "parameters".
@@ -447,13 +467,14 @@ module AvaTax
447
467
  #
448
468
  # ### Security Policies
449
469
  #
450
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
470
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
471
+ # Swagger Name: AvaTaxClient
451
472
  # @param companyId [Integer] The company id.
452
473
  # @param id [Integer] The company parameter id
453
474
  # @param model [Object] The company parameter object you wish to update.
454
- # @return [Object]
455
- def update_company_parameter_detail(companyId, id, model) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
456
- put(path, model) end
457
- end
458
- end
475
+ # @return [Object]
476
+ def update_company_parameter_detail(companyId, id, model) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
477
+ put(path, model, {}, "21.12.0") end
478
+ end
479
+ end
459
480
  end
@@ -1,16 +1,27 @@
1
- module AvaTax
2
- class Client
3
- module Compliance
4
-
5
-
6
- # API to modify the reference fields at the document and the line level.
1
+ module AvaTax
2
+ class Client
3
+ module Compliance
4
+
5
+
6
+ # Retrieve jurisdiction rate information for tax authority
7
+ #
8
+ # This API is available by invitation only.
7
9
  #
8
- #
9
- # @param companyId [Integer]
10
- # @param model [TransactionReferenceFieldModel[]]
11
- # @return [FetchResult]
12
- def tag_transaction(companyId, model) path = "/api/v2/companies/#{companyId}/transactions/tag"
13
- put(path, model) end
14
- end
15
- end
10
+ # ### Security Policies
11
+ #
12
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
13
+ # Swagger Name: AvaTaxClient
14
+ # @param taxAuthorityId [Integer] Used to limit the jurisdictions returned.
15
+ # @param effectiveDate [DateTime] Used to limit the jurisdictions returned.
16
+ # @param endDate [DateTime] Used to limit the jurisdictions returned.
17
+ # @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/).
18
+ # @param include [String] A comma separated list of objects to fetch underneath this jurisdiction.
19
+ # @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.
20
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
21
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
22
+ # @return [Object]
23
+ def query_tax_authority_jurisdiction_rates(options={}) path = "/api/v2/compliance/taxauthorityjurisdictionrates"
24
+ get(path, options, "21.12.0") end
25
+ end
26
+ end
16
27
  end