avatax 20.5.0 → 20.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.vs/slnx.sqlite +0 -0
  3. data/avatax.gemspec +0 -1
  4. data/lib/avatax/client/accounts.rb +83 -83
  5. data/lib/avatax/client/addresses.rb +21 -21
  6. data/lib/avatax/client/advancedrules.rb +51 -41
  7. data/lib/avatax/client/avafileforms.rb +41 -41
  8. data/lib/avatax/client/batches.rb +101 -48
  9. data/lib/avatax/client/certexpressinvites.rb +39 -39
  10. data/lib/avatax/client/certificates.rb +163 -163
  11. data/lib/avatax/client/companies.rb +226 -121
  12. data/lib/avatax/client/compliance.rb +13 -13
  13. data/lib/avatax/client/contacts.rb +48 -48
  14. data/lib/avatax/client/customers.rb +145 -145
  15. data/lib/avatax/client/datasources.rb +48 -48
  16. data/lib/avatax/client/definitions.rb +422 -420
  17. data/lib/avatax/client/distancethresholds.rb +48 -48
  18. data/lib/avatax/client/ecms.rb +26 -31
  19. data/lib/avatax/client/ecommercetoken.rb +37 -0
  20. data/lib/avatax/client/errortransactions.rb +27 -15
  21. data/lib/avatax/client/filingcalendars.rb +28 -13
  22. data/lib/avatax/client/filings.rb +25 -14
  23. data/lib/avatax/client/firmclientlinkages.rb +69 -69
  24. data/lib/avatax/client/free.rb +27 -27
  25. data/lib/avatax/client/fundingrequests.rb +20 -20
  26. data/lib/avatax/client/items.rb +139 -139
  27. data/lib/avatax/client/jurisdictionoverrides.rb +48 -48
  28. data/lib/avatax/client/locations.rb +168 -57
  29. data/lib/avatax/client/multidocument.rb +98 -78
  30. data/lib/avatax/client/nexus.rb +104 -104
  31. data/lib/avatax/client/notices.rb +47 -139
  32. data/lib/avatax/client/notifications.rb +27 -27
  33. data/lib/avatax/client/provisioning.rb +20 -20
  34. data/lib/avatax/client/registrar.rb +76 -76
  35. data/lib/avatax/client/reports.rb +34 -34
  36. data/lib/avatax/client/settings.rb +48 -48
  37. data/lib/avatax/client/subscriptions.rb +27 -27
  38. data/lib/avatax/client/taxcodes.rb +48 -48
  39. data/lib/avatax/client/taxcontent.rb +27 -27
  40. data/lib/avatax/client/taxprofiles.rb +14 -10
  41. data/lib/avatax/client/taxrules.rb +48 -48
  42. data/lib/avatax/client/transactions.rb +185 -155
  43. data/lib/avatax/client/upcs.rb +48 -48
  44. data/lib/avatax/client/users.rb +62 -62
  45. data/lib/avatax/client/utilities.rb +27 -27
  46. data/lib/avatax/connection.rb +2 -2
  47. data/lib/avatax/version.rb +1 -1
  48. metadata +3 -16
@@ -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,14 @@ 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
35
  # @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
- #
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
+ #
42
42
  # Changes the current filing status of this company.
43
43
  #
44
44
  # For customers using Avalara's Managed Returns Service, each company within their account can request
@@ -55,15 +55,15 @@ module AvaTax
55
55
  #
56
56
  # ### Security Policies
57
57
  #
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.
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
59
  # @param id [Integer]
60
60
  # @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
- #
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
+ #
67
67
  # Shortcut to quickly setup a single-physical-location company with critical information and activate it.
68
68
  # This API provides quick and simple company setup functionality and does the following things:
69
69
  #
@@ -79,14 +79,14 @@ module AvaTax
79
79
  #
80
80
  # ### Security Policies
81
81
  #
82
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
82
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
83
83
  # @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
- #
84
+ # @return [Object]
85
+ def company_initialize(model) path = "/api/v2/companies/initialize"
86
+ post(path, model) end
87
+
88
+ # Create new companies
89
+ #
90
90
  # Create one or more new company objects.
91
91
  # A 'company' represents a single corporation or individual that is registered to handle transactional taxes.
92
92
  # 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 +95,37 @@ module AvaTax
95
95
  #
96
96
  # ### Security Policies
97
97
  #
98
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
98
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
99
99
  # @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
- # Request managed returns funding setup for a company
105
- #
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
+ #
106
+ # Add parameters to a company.
107
+ #
108
+ # 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".
109
+ #
110
+ # A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.
111
+ #
112
+ # A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.
113
+ #
114
+ # To see available parameters for this company, call `/api/v2/definitions/parameters?$filter=attributeType eq Company`
115
+ #
116
+ # Some parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter "$showSubscribed=true" to the parameter definition call above.
117
+ #
118
+ # ### Security Policies
119
+ #
120
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
121
+ # @param companyId [Integer] The ID of the company that owns this company parameter.
122
+ # @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
+ #
106
129
  # This API is available by invitation only.
107
130
  # Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are
108
131
  # required to setup their funding configuration before Avalara can begin filing tax returns on their
@@ -116,28 +139,46 @@ module AvaTax
116
139
  #
117
140
  # ### Security Policies
118
141
  #
119
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
120
- # * 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.
142
+ # * 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.
121
144
  # @param id [Integer] The unique identifier of the company
122
145
  # @param model [Object] The funding initialization request
123
- # @return [Object]
124
- def create_funding_request(id, model) path = "/api/v2/companies/#{id}/funding/setup"
125
- post(path, model) end
126
-
127
- # Delete a single company
128
- #
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
+ #
129
152
  # Deleting a company will delete all child companies, and all users attached to this company.
130
153
  #
131
154
  # ### Security Policies
132
155
  #
133
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
156
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
134
157
  # @param id [Integer] The ID of the company you wish to delete.
135
- # @return [ErrorDetail[]]
136
- def delete_company(id) path = "/api/v2/companies/#{id}"
137
- delete(path) end
138
-
139
- # Check the funding configuration of a company
140
- #
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
+ #
164
+ # Delete a parameter of a company.
165
+ # 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
+ #
167
+ # A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.
168
+ #
169
+ # A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.
170
+ #
171
+ # ### Security Policies
172
+ #
173
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.
174
+ # @param companyId [Integer] The company id
175
+ # @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
+ #
141
182
  # This API is available by invitation only.
142
183
  # Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
143
184
  # Returns the funding configuration of the requested company.
@@ -146,14 +187,14 @@ module AvaTax
146
187
  # ### Security Policies
147
188
  #
148
189
  # * 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
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
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.
150
191
  # @param companyId [Integer] The unique identifier of the company
151
- # @return [Object]
152
- def funding_configuration_by_company(companyId) path = "/api/v2/companies/#{companyId}/funding/configuration"
153
- get(path) end
154
-
155
- # Check the funding configuration of a company
156
- #
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
+ #
157
198
  # This API is available by invitation only.
158
199
  # Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
159
200
  # Returns the funding configuration of the requested company.
@@ -162,15 +203,15 @@ module AvaTax
162
203
  # ### Security Policies
163
204
  #
164
205
  # * 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.
165
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
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.
166
207
  # @param companyId [Integer] The unique identifier of the company
167
208
  # @param currency [String] The currency of the funding. USD and CAD are the only valid currencies
168
- # @return [FundingConfigurationModel[]]
169
- def funding_configurations_by_company_and_currency(companyId, options={}) path = "/api/v2/companies/#{companyId}/funding/configurations"
170
- get(path, options) end
171
-
172
- # Retrieve a single company
173
- #
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
+ #
174
215
  # Get the company object identified by this URL.
175
216
  # A 'company' represents a single corporation or individual that is registered to handle transactional taxes.
176
217
  # 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:
@@ -187,15 +228,15 @@ module AvaTax
187
228
  #
188
229
  # ### Security Policies
189
230
  #
190
- # * 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.
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.
191
232
  # @param id [Integer] The ID of the company to retrieve.
192
233
  # @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.
193
- # @return [Object]
194
- def get_company(id, options={}) path = "/api/v2/companies/#{id}"
195
- get(path, options) end
196
-
197
- # Get configuration settings for this company
198
- #
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
+ #
199
240
  # Retrieve a list of all configuration settings tied to this company.
200
241
  #
201
242
  # Configuration settings provide you with the ability to control features of your account and of your
@@ -211,14 +252,33 @@ module AvaTax
211
252
  #
212
253
  # ### Security Policies
213
254
  #
214
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
255
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
215
256
  # @param id [Integer]
216
- # @return [CompanyConfigurationModel[]]
217
- def get_company_configuration(id) path = "/api/v2/companies/#{id}/configuration"
218
- get(path) end
219
-
220
- # Get this company's filing status
221
- #
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
+ #
263
+ # Retrieves a single parameter of a company.
264
+ #
265
+ # 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".
266
+ #
267
+ # A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.
268
+ #
269
+ # A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.
270
+ #
271
+ # ### Security Policies
272
+ #
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.
274
+ # @param companyId [Integer]
275
+ # @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
+ #
222
282
  # Retrieve the current filing status of this company.
223
283
  #
224
284
  # For customers using Avalara's Managed Returns Service, each company within their account can request
@@ -235,14 +295,39 @@ module AvaTax
235
295
  #
236
296
  # ### Security Policies
237
297
  #
238
- # * 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.
298
+ # * 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.
239
299
  # @param id [Integer]
240
- # @return [String]
241
- def get_filing_status(id) path = "/api/v2/companies/#{id}/filingstatus"
242
- get(path) end
243
-
244
- # Check managed returns funding status for a company
245
- #
300
+ # @return [String]
301
+ def get_filing_status(id) path = "/api/v2/companies/#{id}/filingstatus"
302
+ get(path) end
303
+
304
+ # Retrieve parameters for a company
305
+ #
306
+ # Retrieve all parameters of a company.
307
+ #
308
+ # 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".
309
+ #
310
+ # A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.
311
+ #
312
+ # A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.
313
+ #
314
+ # 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/) .
315
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
316
+ #
317
+ # ### Security Policies
318
+ #
319
+ # * 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.
320
+ # @param companyId [Integer] The company id
321
+ # @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
322
+ # @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.
323
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
324
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
325
+ # @return [FetchResult]
326
+ def list_company_parameter_details(companyId, options={}) path = "/api/v2/companies/#{companyId}/parameters"
327
+ get(path, options) end
328
+
329
+ # Check managed returns funding status for a company
330
+ #
246
331
  # This API is available by invitation only.
247
332
  # Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
248
333
  # Returns a list of funding setup requests and their current status.
@@ -250,28 +335,28 @@ module AvaTax
250
335
  #
251
336
  # ### Security Policies
252
337
  #
253
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
254
- # * 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.
338
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
339
+ # * 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.
255
340
  # @param id [Integer] The unique identifier of the company
256
- # @return [FundingStatusModel[]]
257
- def list_funding_requests_by_company(id) path = "/api/v2/companies/#{id}/funding"
258
- get(path) end
259
-
260
- # Retrieve a list of MRS Companies with account
261
- #
341
+ # @return [FundingStatusModel[]]
342
+ def list_funding_requests_by_company(id) path = "/api/v2/companies/#{id}/funding"
343
+ get(path) end
344
+
345
+ # Retrieve a list of MRS Companies with account
346
+ #
262
347
  # This API is available by invitation only.
263
348
  #
264
349
  # Get a list of companies with an active MRS service.
265
350
  #
266
351
  # ### Security Policies
267
352
  #
268
- # * 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.
269
- # @return [FetchResult]
270
- def list_mrs_companies() path = "/api/v2/companies/mrs"
271
- get(path) end
272
-
273
- # Retrieve all companies
274
- #
353
+ # * 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.
354
+ # @return [FetchResult]
355
+ def list_mrs_companies() path = "/api/v2/companies/mrs"
356
+ get(path) end
357
+
358
+ # Retrieve all companies
359
+ #
275
360
  # Get multiple company objects.
276
361
  #
277
362
  # A `company` represents a single corporation or individual that is registered to handle transactional taxes.
@@ -292,18 +377,18 @@ module AvaTax
292
377
  #
293
378
  # ### Security Policies
294
379
  #
295
- # * 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.
380
+ # * 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.
296
381
  # @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.
297
- # @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
382
+ # @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
298
383
  # @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.
299
384
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
300
385
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
301
- # @return [FetchResult]
302
- def query_companies(options={}) path = "/api/v2/companies"
303
- get(path, options) end
304
-
305
- # Change configuration settings for this company
306
- #
386
+ # @return [FetchResult]
387
+ def query_companies(options={}) path = "/api/v2/companies"
388
+ get(path, options) end
389
+
390
+ # Change configuration settings for this company
391
+ #
307
392
  # Update configuration settings tied to this company.
308
393
  #
309
394
  # Configuration settings provide you with the ability to control features of your account and of your
@@ -319,15 +404,15 @@ module AvaTax
319
404
  #
320
405
  # ### Security Policies
321
406
  #
322
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
407
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
323
408
  # @param id [Integer]
324
409
  # @param model [CompanyConfigurationModel[]]
325
- # @return [CompanyConfigurationModel[]]
326
- def set_company_configuration(id, model) path = "/api/v2/companies/#{id}/configuration"
327
- post(path, model) end
328
-
329
- # Update a single company
330
- #
410
+ # @return [CompanyConfigurationModel[]]
411
+ def set_company_configuration(id, model) path = "/api/v2/companies/#{id}/configuration"
412
+ post(path, model) end
413
+
414
+ # Update a single company
415
+ #
331
416
  # Replace the existing company object at this URL with an updated object.
332
417
  #
333
418
  # A `CompanyModel` represents a single corporation or individual that is registered to handle transactional taxes.
@@ -342,12 +427,32 @@ module AvaTax
342
427
  #
343
428
  # ### Security Policies
344
429
  #
345
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
430
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
346
431
  # @param id [Integer] The ID of the company you wish to update.
347
432
  # @param model [Object] The company object you wish to update.
348
- # @return [Object]
349
- def update_company(id, model) path = "/api/v2/companies/#{id}"
350
- put(path, model) end
351
- end
352
- end
433
+ # @return [Object]
434
+ def update_company(id, model) path = "/api/v2/companies/#{id}"
435
+ put(path, model) end
436
+
437
+ # Update a company parameter
438
+ #
439
+ # Update a parameter of a company.
440
+ #
441
+ # 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".
442
+ #
443
+ # A parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.
444
+ #
445
+ # A company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.
446
+ #
447
+ # ### Security Policies
448
+ #
449
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
450
+ # @param companyId [Integer] The company id.
451
+ # @param id [Integer] The company parameter id
452
+ # @param model [Object] The company parameter object you wish to update.
453
+ # @return [Object]
454
+ def update_company_parameter_detail(companyId, id, model) path = "/api/v2/companies/#{companyId}/parameters/#{id}"
455
+ put(path, model) end
456
+ end
457
+ end
353
458
  end