avatax 21.8.0 → 22.2.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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +55 -55
  3. data/.rspec +1 -1
  4. data/.travis.yml +18 -18
  5. data/.vs/VSWorkspaceState.json +5 -5
  6. data/.yardopts +4 -4
  7. data/Gemfile +2 -2
  8. data/LICENSE +201 -201
  9. data/README.md +98 -98
  10. data/Rakefile +9 -9
  11. data/avatax.gemspec +38 -38
  12. data/example/avatax.rb +47 -47
  13. data/example/credentials.example.yaml +5 -5
  14. data/lib/avatax/api.rb +27 -27
  15. data/lib/avatax/client/accounts.rb +94 -83
  16. data/lib/avatax/client/addresses.rb +22 -20
  17. data/lib/avatax/client/advancedrules.rb +46 -41
  18. data/lib/avatax/client/ageverification.rb +29 -0
  19. data/lib/avatax/client/avafileforms.rb +46 -41
  20. data/lib/avatax/client/batches.rb +70 -62
  21. data/lib/avatax/client/certexpressinvites.rb +30 -27
  22. data/lib/avatax/client/certificates.rb +126 -111
  23. data/lib/avatax/client/companies.rb +192 -152
  24. data/lib/avatax/client/compliance.rb +25 -14
  25. data/lib/avatax/client/contacts.rb +54 -48
  26. data/lib/avatax/client/customers.rb +110 -97
  27. data/lib/avatax/client/datasources.rb +54 -48
  28. data/lib/avatax/client/definitions.rb +620 -446
  29. data/lib/avatax/client/distancethresholds.rb +54 -48
  30. data/lib/avatax/client/ecms.rb +73 -73
  31. data/lib/avatax/client/ecommercetoken.rb +20 -18
  32. data/lib/avatax/client/errortransactions.rb +61 -61
  33. data/lib/avatax/client/filingcalendars.rb +44 -20
  34. data/lib/avatax/client/filings.rb +24 -20
  35. data/lib/avatax/client/firmclientlinkages.rb +78 -69
  36. data/lib/avatax/client/free.rb +14 -13
  37. data/lib/avatax/client/fundingrequests.rb +22 -20
  38. data/lib/avatax/client/items.rb +206 -181
  39. data/lib/avatax/client/jurisdictionoverrides.rb +54 -48
  40. data/lib/avatax/client/locations.rb +102 -90
  41. data/lib/avatax/client/multidocument.rb +86 -76
  42. data/lib/avatax/client/nexus.rb +146 -103
  43. data/lib/avatax/client/notices.rb +30 -26
  44. data/lib/avatax/client/notifications.rb +30 -27
  45. data/lib/avatax/client/onboarding.rb +55 -55
  46. data/lib/avatax/client/pointofsale.rb +21 -21
  47. data/lib/avatax/client/provisioning.rb +22 -20
  48. data/lib/avatax/client/registrar.rb +94 -83
  49. data/lib/avatax/client/reports.rb +38 -34
  50. data/lib/avatax/client/settings.rb +54 -48
  51. data/lib/avatax/client/shippingverification.rb +66 -0
  52. data/lib/avatax/client/subscriptions.rb +30 -27
  53. data/lib/avatax/client/taxcodes.rb +54 -48
  54. data/lib/avatax/client/taxcontent.rb +46 -41
  55. data/lib/avatax/client/taxprofiles.rb +42 -42
  56. data/lib/avatax/client/taxrules.rb +56 -50
  57. data/lib/avatax/client/transactions.rb +174 -153
  58. data/lib/avatax/client/upcs.rb +54 -48
  59. data/lib/avatax/client/userdefinedfields.rb +52 -0
  60. data/lib/avatax/client/users.rb +70 -62
  61. data/lib/avatax/client/utilities.rb +30 -27
  62. data/lib/avatax/client.rb +37 -35
  63. data/lib/avatax/configuration.rb +76 -76
  64. data/lib/avatax/connection.rb +49 -49
  65. data/lib/avatax/request.rb +51 -42
  66. data/lib/avatax/version.rb +3 -3
  67. data/lib/avatax.rb +26 -26
  68. data/spec/avatax/client/accounts_spec.rb +13 -13
  69. data/spec/avatax/client/transactions_spec.rb +80 -80
  70. data/spec/avatax/request_spec.rb +25 -25
  71. data/spec/avatax_spec.rb +45 -45
  72. data/spec/credentials.yaml.example +4 -4
  73. data/spec/fixtures/accounts.json +15 -15
  74. data/spec/spec_helper.rb +27 -27
  75. metadata +9 -13
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module MultiDocument
4
-
5
-
6
- # Adjust a MultiDocument transaction
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module MultiDocument
4
+
5
+
6
+ # Adjust a MultiDocument transaction
7
+ #
8
8
  # Adjusts the current MultiDocument transaction uniquely identified by this URL.
9
9
  #
10
10
  # A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
@@ -27,17 +27,18 @@ module AvaTax
27
27
  # ### Security Policies
28
28
  #
29
29
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
30
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
30
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
31
+ # Swagger Name: AvaTaxClient
31
32
  # @param code [String] The transaction code for this MultiDocument transaction
32
33
  # @param type [String] The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
33
34
  # @param include [String] Specifies objects to include in this fetch call
34
35
  # @param model [Object] The adjust request you wish to execute
35
- # @return [Object]
36
- def adjust_multi_document_transaction(code, type, model, options={}) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/adjust"
37
- post(path, model, options) end
38
-
39
- # Get audit information about a MultiDocument transaction
40
- #
36
+ # @return [Object]
37
+ def adjust_multi_document_transaction(code, type, model, options={}) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/adjust"
38
+ post(path, model, options, "22.2.0") end
39
+
40
+ # Get audit information about a MultiDocument transaction
41
+ #
41
42
  # Retrieve audit information about a MultiDocument transaction stored in AvaTax.
42
43
  #
43
44
  # The audit API retrieves audit information related to a specific MultiDocument transaction. This audit
@@ -64,15 +65,16 @@ module AvaTax
64
65
  # ### Security Policies
65
66
  #
66
67
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
67
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
68
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
69
+ # Swagger Name: AvaTaxClient
68
70
  # @param code [String] The transaction code for this MultiDocument transaction
69
71
  # @param type [String] The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
70
- # @return [Object]
71
- def audit_multi_document_transaction(code, type) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/audit"
72
- get(path) end
73
-
74
- # Commit a MultiDocument transaction
75
- #
72
+ # @return [Object]
73
+ def audit_multi_document_transaction(code, type) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/audit"
74
+ get(path, {}, "22.2.0") end
75
+
76
+ # Commit a MultiDocument transaction
77
+ #
76
78
  # Marks a list of transactions by changing its status to `Committed`.
77
79
  #
78
80
  # Transactions that are committed are available to be reported to a tax authority by Avalara Managed Returns.
@@ -93,14 +95,15 @@ module AvaTax
93
95
  # ### Security Policies
94
96
  #
95
97
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.
96
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
98
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
99
+ # Swagger Name: AvaTaxClient
97
100
  # @param model [Object] The commit request you wish to execute
98
- # @return [Object]
99
- def commit_multi_document_transaction(model) path = "/api/v2/transactions/multidocument/commit"
100
- post(path, model) end
101
-
102
- # Create a new MultiDocument transaction
103
- #
101
+ # @return [Object]
102
+ def commit_multi_document_transaction(model) path = "/api/v2/transactions/multidocument/commit"
103
+ post(path, model, {}, "22.2.0") end
104
+
105
+ # Create a new MultiDocument transaction
106
+ #
104
107
  # Records a new MultiDocument transaction in AvaTax.
105
108
  #
106
109
  # A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can
@@ -145,15 +148,16 @@ module AvaTax
145
148
  # ### Security Policies
146
149
  #
147
150
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
148
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
151
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
152
+ # Swagger Name: AvaTaxClient
149
153
  # @param include [String] Specifies objects to include in the response after transaction is created
150
154
  # @param model [Object] the multi document transaction model
151
- # @return [Object]
152
- def create_multi_document_transaction(model, options={}) path = "/api/v2/transactions/multidocument"
153
- post(path, model, options) end
154
-
155
- # Retrieve a MultiDocument transaction
156
- #
155
+ # @return [Object]
156
+ def create_multi_document_transaction(model, options={}) path = "/api/v2/transactions/multidocument"
157
+ post(path, model, options, "22.2.0") end
158
+
159
+ # Retrieve a MultiDocument transaction
160
+ #
157
161
  # Get the current MultiDocument transaction identified by this URL.
158
162
  #
159
163
  # If this transaction was adjusted, the return value of this API will be the current transaction with this code.
@@ -178,16 +182,17 @@ module AvaTax
178
182
  # ### Security Policies
179
183
  #
180
184
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
181
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
185
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
186
+ # Swagger Name: AvaTaxClient
182
187
  # @param code [String] The multidocument code to retrieve
183
188
  # @param type [String] The transaction type to retrieve (See DocumentType::* for a list of allowable values)
184
189
  # @param include [String] Specifies objects to include in the response after transaction is created
185
- # @return [Object]
186
- def get_multi_document_transaction_by_code_and_type(code, type, options={}) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}"
187
- get(path, options) end
188
-
189
- # Retrieve a MultiDocument transaction by ID
190
- #
190
+ # @return [Object]
191
+ def get_multi_document_transaction_by_code_and_type(code, type, options={}) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}"
192
+ get(path, options, "22.2.0") end
193
+
194
+ # Retrieve a MultiDocument transaction by ID
195
+ #
191
196
  # Get the unique MultiDocument transaction identified by this URL.
192
197
  #
193
198
  # A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can
@@ -221,15 +226,16 @@ module AvaTax
221
226
  # ### Security Policies
222
227
  #
223
228
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
224
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
229
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
230
+ # Swagger Name: AvaTaxClient
225
231
  # @param id [Integer] The unique ID number of the MultiDocument transaction to retrieve
226
232
  # @param include [String] Specifies objects to include in the response after transaction is created
227
- # @return [Object]
228
- def get_multi_document_transaction_by_id(id, options={}) path = "/api/v2/transactions/multidocument/#{id}"
229
- get(path, options) end
230
-
231
- # Retrieve all MultiDocument transactions
232
- #
233
+ # @return [Object]
234
+ def get_multi_document_transaction_by_id(id, options={}) path = "/api/v2/transactions/multidocument/#{id}"
235
+ get(path, options, "22.2.0") end
236
+
237
+ # Retrieve all MultiDocument transactions
238
+ #
233
239
  # List all MultiDocument transactions within this account.
234
240
  #
235
241
  # This endpoint is limited to returning 1,000 MultiDocument transactions at a time. To retrieve more than 1,000 MultiDocument
@@ -261,18 +267,19 @@ module AvaTax
261
267
  # ### Security Policies
262
268
  #
263
269
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
264
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
270
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
271
+ # Swagger Name: AvaTaxClient
265
272
  # @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:* documents
266
273
  # @param include [String] Specifies objects to include in the response after transaction is created
267
274
  # @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.
268
275
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
269
276
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
270
- # @return [FetchResult]
271
- def list_multi_document_transactions(options={}) path = "/api/v2/transactions/multidocument"
272
- get(path, options) end
273
-
274
- # Create a refund for a MultiDocument transaction
275
- #
277
+ # @return [FetchResult]
278
+ def list_multi_document_transactions(options={}) path = "/api/v2/transactions/multidocument"
279
+ get(path, options, "22.2.0") end
280
+
281
+ # Create a refund for a MultiDocument transaction
282
+ #
276
283
  # Create a refund for a MultiDocument transaction.
277
284
  #
278
285
  # A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can
@@ -321,17 +328,18 @@ module AvaTax
321
328
  # ### Security Policies
322
329
  #
323
330
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
324
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
331
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
332
+ # Swagger Name: AvaTaxClient
325
333
  # @param code [String] The code of this MultiDocument transaction
326
334
  # @param type [String] The type of this MultiDocument transaction (See DocumentType::* for a list of allowable values)
327
335
  # @param include [String] Specifies objects to include in the response after transaction is created
328
336
  # @param model [Object] Information about the refund to create
329
- # @return [Object]
330
- def refund_multi_document_transaction(code, type, model, options={}) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/refund"
331
- post(path, model, options) end
332
-
333
- # Verify a MultiDocument transaction
334
- #
337
+ # @return [Object]
338
+ def refund_multi_document_transaction(code, type, model, options={}) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/refund"
339
+ post(path, model, options, "22.2.0") end
340
+
341
+ # Verify a MultiDocument transaction
342
+ #
335
343
  # Verifies that the MultiDocument transaction uniquely identified by this URL matches certain expected values.
336
344
  #
337
345
  # If the transaction does not match these expected values, this API will return an error code indicating which value did not match.
@@ -350,14 +358,15 @@ module AvaTax
350
358
  # ### Security Policies
351
359
  #
352
360
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
353
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
361
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
362
+ # Swagger Name: AvaTaxClient
354
363
  # @param model [Object] Information from your accounting system to verify against this MultiDocument transaction as it is stored in AvaTax
355
- # @return [Object]
356
- def verify_multi_document_transaction(model) path = "/api/v2/transactions/multidocument/verify"
357
- post(path, model) end
358
-
359
- # Void a MultiDocument transaction
360
- #
364
+ # @return [Object]
365
+ def verify_multi_document_transaction(model) path = "/api/v2/transactions/multidocument/verify"
366
+ post(path, model, {}, "22.2.0") end
367
+
368
+ # Void a MultiDocument transaction
369
+ #
361
370
  # Voids the current transaction uniquely identified by this URL.
362
371
  #
363
372
  # A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
@@ -379,13 +388,14 @@ module AvaTax
379
388
  # ### Security Policies
380
389
  #
381
390
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.
382
- # * This API depends on the following active services:*Required* (all): AvaTaxPro.
391
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
392
+ # Swagger Name: AvaTaxClient
383
393
  # @param code [String] The transaction code for this MultiDocument transaction
384
394
  # @param type [String] The transaction type for this MultiDocument transaction (See DocumentType::* for a list of allowable values)
385
395
  # @param model [Object] The void request you wish to execute
386
- # @return [Object]
387
- def void_multi_document_transaction(code, type, model) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/void"
388
- post(path, model) end
389
- end
390
- end
396
+ # @return [Object]
397
+ def void_multi_document_transaction(code, type, model) path = "/api/v2/transactions/multidocument/#{code}/type/#{type}/void"
398
+ post(path, model, {}, "22.2.0") end
399
+ end
400
+ end
391
401
  end