avatax 20.7.0 → 21.3.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/.vs/slnx.sqlite +0 -0
  3. data/lib/avatax/client/accounts.rb +22 -55
  4. data/lib/avatax/client/addresses.rb +7 -13
  5. data/lib/avatax/client/advancedrules.rb +10 -38
  6. data/lib/avatax/client/avafileforms.rb +15 -30
  7. data/lib/avatax/client/batches.rb +16 -40
  8. data/lib/avatax/client/certexpressinvites.rb +21 -30
  9. data/lib/avatax/client/certificates.rb +97 -142
  10. data/lib/avatax/client/companies.rb +137 -80
  11. data/lib/avatax/client/compliance.rb +2 -5
  12. data/lib/avatax/client/contacts.rb +12 -30
  13. data/lib/avatax/client/customers.rb +87 -126
  14. data/lib/avatax/client/datasources.rb +18 -36
  15. data/lib/avatax/client/definitions.rb +126 -303
  16. data/lib/avatax/client/distancethresholds.rb +12 -30
  17. data/lib/avatax/client/ecms.rb +26 -31
  18. data/lib/avatax/client/ecommercetoken.rb +37 -0
  19. data/lib/avatax/client/errortransactions.rb +27 -15
  20. data/lib/avatax/client/filingcalendars.rb +17 -5
  21. data/lib/avatax/client/filings.rb +15 -7
  22. data/lib/avatax/client/firmclientlinkages.rb +18 -45
  23. data/lib/avatax/client/free.rb +2 -84
  24. data/lib/avatax/client/fundingrequests.rb +6 -12
  25. data/lib/avatax/client/items.rb +38 -95
  26. data/lib/avatax/client/jurisdictionoverrides.rb +12 -30
  27. data/lib/avatax/client/locations.rb +128 -38
  28. data/lib/avatax/client/multidocument.rb +32 -62
  29. data/lib/avatax/client/nexus.rb +138 -37
  30. data/lib/avatax/client/notices.rb +47 -139
  31. data/lib/avatax/client/notifications.rb +6 -15
  32. data/lib/avatax/client/provisioning.rb +4 -10
  33. data/lib/avatax/client/registrar.rb +20 -50
  34. data/lib/avatax/client/reports.rb +17 -20
  35. data/lib/avatax/client/settings.rb +12 -30
  36. data/lib/avatax/client/subscriptions.rb +6 -15
  37. data/lib/avatax/client/taxcodes.rb +12 -30
  38. data/lib/avatax/client/taxcontent.rb +70 -16
  39. data/lib/avatax/client/taxprofiles.rb +14 -10
  40. data/lib/avatax/client/taxrules.rb +12 -30
  41. data/lib/avatax/client/transactions.rb +63 -126
  42. data/lib/avatax/client/upcs.rb +18 -36
  43. data/lib/avatax/client/users.rb +16 -40
  44. data/lib/avatax/client/utilities.rb +6 -15
  45. data/lib/avatax/configuration.rb +1 -1
  46. data/lib/avatax/request.rb +0 -2
  47. data/lib/avatax/version.rb +1 -1
  48. data/spec/avatax/request_spec.rb +25 -0
  49. metadata +4 -2
@@ -27,11 +27,8 @@ module AvaTax
27
27
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Provisioning:RequestNewAccount].
28
28
  # @param model [Object] Information about the account you wish to create and the selected product offerings.
29
29
  # @return [Object]
30
- def request_new_account(model)
31
- path = "/api/v2/accounts/request"
32
- post(path, model)
33
- end
34
-
30
+ def request_new_account(model) path = "/api/v2/accounts/request"
31
+ post(path, model) end
35
32
 
36
33
  # Request a new entitilement to an existing customer
37
34
  #
@@ -46,11 +43,8 @@ module AvaTax
46
43
  # @param id [Integer] The avatax account id of the customer
47
44
  # @param offer [String] The offer to be added to an already existing customer
48
45
  # @return [Object]
49
- def request_new_entitlement(id, offer)
50
- path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
51
- post(path)
52
- end
53
-
46
+ def request_new_entitlement(id, offer) path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
47
+ post(path) end
54
48
  end
55
49
  end
56
50
  end
@@ -16,11 +16,8 @@ module AvaTax
16
16
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
17
17
  # @param model [Object] The account you wish to create.
18
18
  # @return [AccountModel[]]
19
- def create_account(model)
20
- path = "/api/v2/accounts"
21
- post(path, model)
22
- end
23
-
19
+ def create_account(model) path = "/api/v2/accounts"
20
+ post(path, model) end
24
21
 
25
22
  # Create new notifications.
26
23
  #
@@ -44,11 +41,8 @@ module AvaTax
44
41
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
45
42
  # @param model [NotificationModel[]] The notifications you wish to create.
46
43
  # @return [NotificationModel[]]
47
- def create_notifications(model)
48
- path = "/api/v2/notifications"
49
- post(path, model)
50
- end
51
-
44
+ def create_notifications(model) path = "/api/v2/notifications"
45
+ post(path, model) end
52
46
 
53
47
  # Create a new subscription
54
48
  #
@@ -64,11 +58,8 @@ module AvaTax
64
58
  # @param accountId [Integer] The ID of the account that owns this subscription.
65
59
  # @param model [SubscriptionModel[]] The subscription you wish to create.
66
60
  # @return [SubscriptionModel[]]
67
- def create_subscriptions(accountId, model)
68
- path = "/api/v2/accounts/#{accountId}/subscriptions"
69
- post(path, model)
70
- end
71
-
61
+ def create_subscriptions(accountId, model) path = "/api/v2/accounts/#{accountId}/subscriptions"
62
+ post(path, model) end
72
63
 
73
64
  # Delete a single account
74
65
  #
@@ -83,11 +74,8 @@ module AvaTax
83
74
  # * This API requires the user role SystemAdmin.
84
75
  # @param id [Integer] The ID of the account you wish to delete.
85
76
  # @return [ErrorDetail[]]
86
- def delete_account(id)
87
- path = "/api/v2/accounts/#{id}"
88
- delete(path)
89
- end
90
-
77
+ def delete_account(id) path = "/api/v2/accounts/#{id}"
78
+ delete(path) end
91
79
 
92
80
  # Delete a single notification.
93
81
  #
@@ -108,11 +96,8 @@ module AvaTax
108
96
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
109
97
  # @param id [Integer] The id of the notification you wish to delete.
110
98
  # @return [ErrorDetail[]]
111
- def delete_notification(id)
112
- path = "/api/v2/notifications/#{id}"
113
- delete(path)
114
- end
115
-
99
+ def delete_notification(id) path = "/api/v2/notifications/#{id}"
100
+ delete(path) end
116
101
 
117
102
  # Delete a single subscription
118
103
  #
@@ -127,11 +112,8 @@ module AvaTax
127
112
  # @param accountId [Integer] The ID of the account that owns this subscription.
128
113
  # @param id [Integer] The ID of the subscription you wish to delete.
129
114
  # @return [ErrorDetail[]]
130
- def delete_subscription(accountId, id)
131
- path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
132
- delete(path)
133
- end
134
-
115
+ def delete_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
116
+ delete(path) end
135
117
 
136
118
  # Reset a user's password programmatically
137
119
  #
@@ -150,11 +132,8 @@ module AvaTax
150
132
  # @param unmigrateFromAi [Boolean] If user's password was migrated to AI, undo this.
151
133
  # @param model [Object] The new password for this user
152
134
  # @return [String]
153
- def reset_password(userId, model, options={})
154
- path = "/api/v2/passwords/#{userId}/reset"
155
- post(path, model, options)
156
- end
157
-
135
+ def reset_password(userId, model, options={}) path = "/api/v2/passwords/#{userId}/reset"
136
+ post(path, model, options) end
158
137
 
159
138
  # Update a single account
160
139
  #
@@ -169,11 +148,8 @@ module AvaTax
169
148
  # @param id [Integer] The ID of the account you wish to update.
170
149
  # @param model [Object] The account object you wish to update.
171
150
  # @return [Object]
172
- def update_account(id, model)
173
- path = "/api/v2/accounts/#{id}"
174
- put(path, model)
175
- end
176
-
151
+ def update_account(id, model) path = "/api/v2/accounts/#{id}"
152
+ put(path, model) end
177
153
 
178
154
  # Update a single notification.
179
155
  #
@@ -195,11 +171,8 @@ module AvaTax
195
171
  # @param id [Integer] The id of the notification you wish to update.
196
172
  # @param model [Object] The notification object you wish to update.
197
173
  # @return [Object]
198
- def update_notification(id, model)
199
- path = "/api/v2/notifications/#{id}"
200
- put(path, model)
201
- end
202
-
174
+ def update_notification(id, model) path = "/api/v2/notifications/#{id}"
175
+ put(path, model) end
203
176
 
204
177
  # Update a single subscription
205
178
  #
@@ -219,11 +192,8 @@ module AvaTax
219
192
  # @param id [Integer] The ID of the subscription you wish to update
220
193
  # @param model [Object] The subscription you wish to update.
221
194
  # @return [Object]
222
- def update_subscription(accountId, id, model)
223
- path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
224
- put(path, model)
225
- end
226
-
195
+ def update_subscription(accountId, id, model) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
196
+ put(path, model) end
227
197
  end
228
198
  end
229
199
  end
@@ -25,11 +25,8 @@ module AvaTax
25
25
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
26
26
  # @param id [Integer] The unique ID number of this report
27
27
  # @return [Object]
28
- def download_report(id)
29
- path = "/api/v2/reports/#{id}/attachment"
30
- get(path)
31
- end
32
-
28
+ def download_report(id) path = "/api/v2/reports/#{id}/attachment"
29
+ get(path) end
33
30
 
34
31
  # Retrieve a single report
35
32
  #
@@ -46,11 +43,8 @@ module AvaTax
46
43
  # This API call returns information about any report type.
47
44
  # @param id [Integer] The unique ID number of the report to retrieve
48
45
  # @return [Object]
49
- def get_report(id)
50
- path = "/api/v2/reports/#{id}"
51
- get(path)
52
- end
53
-
46
+ def get_report(id) path = "/api/v2/reports/#{id}"
47
+ get(path) end
54
48
 
55
49
  # Initiate an ExportDocumentLine report task
56
50
  #
@@ -66,17 +60,23 @@ module AvaTax
66
60
  #
67
61
  # The `ExportDocumentLine` report produces information about invoice lines recorded within your account.
68
62
  #
63
+ # To split large reports into multiple smaller partitions, use the numberOfPartitions and partition properties on ExportDocumentLineModel.
64
+ #
65
+ # Example - split a report into three partitions
66
+ #
67
+ # * Follow the steps above with numberOfPartitions = 3 and partition = 0
68
+ # * Follow the steps above with numberOfPartitions = 3 and partition = 1
69
+ # * Follow the steps above with numberOfPartitions = 3 and partition = 2
70
+ # * Once all three reports are downloaded merge the files on the client side.
71
+ #
69
72
  # ### Security Policies
70
73
  #
71
74
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
72
75
  # @param companyId [Integer] The unique ID number of the company to report on.
73
76
  # @param model [Object] Options that may be configured to customize the report.
74
77
  # @return [ReportModel[]]
75
- def initiate_export_document_line_report(companyId, model)
76
- path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
77
- post(path, model)
78
- end
79
-
78
+ def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
79
+ post(path, model) end
80
80
 
81
81
  # List all report tasks for account
82
82
  #
@@ -100,11 +100,8 @@ module AvaTax
100
100
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
101
101
  # @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.
102
102
  # @return [FetchResult]
103
- def list_reports(options={})
104
- path = "/api/v2/reports"
105
- get(path, options)
106
- end
107
-
103
+ def list_reports(options={}) path = "/api/v2/reports"
104
+ get(path, options) end
108
105
  end
109
106
  end
110
107
  end
@@ -22,11 +22,8 @@ module AvaTax
22
22
  # @param companyId [Integer] The ID of the company that owns this setting.
23
23
  # @param model [SettingModel[]] The setting you wish to create.
24
24
  # @return [SettingModel[]]
25
- def create_settings(companyId, model)
26
- path = "/api/v2/companies/#{companyId}/settings"
27
- post(path, model)
28
- end
29
-
25
+ def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
26
+ post(path, model) end
30
27
 
31
28
  # Delete a single setting
32
29
  #
@@ -47,11 +44,8 @@ module AvaTax
47
44
  # @param companyId [Integer] The ID of the company that owns this setting.
48
45
  # @param id [Integer] The ID of the setting you wish to delete.
49
46
  # @return [ErrorDetail[]]
50
- def delete_setting(companyId, id)
51
- path = "/api/v2/companies/#{companyId}/settings/#{id}"
52
- delete(path)
53
- end
54
-
47
+ def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
48
+ delete(path) end
55
49
 
56
50
  # Retrieve a single setting
57
51
  #
@@ -72,11 +66,8 @@ module AvaTax
72
66
  # @param companyId [Integer] The ID of the company that owns this setting
73
67
  # @param id [Integer] The primary key of this setting
74
68
  # @return [Object]
75
- def get_setting(companyId, id)
76
- path = "/api/v2/companies/#{companyId}/settings/#{id}"
77
- get(path)
78
- end
79
-
69
+ def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
70
+ get(path) end
80
71
 
81
72
  # Retrieve all settings for this company
82
73
  #
@@ -104,11 +95,8 @@ module AvaTax
104
95
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
105
96
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
106
97
  # @return [FetchResult]
107
- def list_settings_by_company(companyId, options={})
108
- path = "/api/v2/companies/#{companyId}/settings"
109
- get(path, options)
110
- end
111
-
98
+ def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
99
+ get(path, options) end
112
100
 
113
101
  # Retrieve all settings
114
102
  #
@@ -135,11 +123,8 @@ module AvaTax
135
123
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
136
124
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
137
125
  # @return [FetchResult]
138
- def query_settings(options={})
139
- path = "/api/v2/settings"
140
- get(path, options)
141
- end
142
-
126
+ def query_settings(options={}) path = "/api/v2/settings"
127
+ get(path, options) end
143
128
 
144
129
  # Update a single setting
145
130
  #
@@ -165,11 +150,8 @@ module AvaTax
165
150
  # @param id [Integer] The ID of the setting you wish to update
166
151
  # @param model [Object] The setting you wish to update.
167
152
  # @return [Object]
168
- def update_setting(companyId, id, model)
169
- path = "/api/v2/companies/#{companyId}/settings/#{id}"
170
- put(path, model)
171
- end
172
-
153
+ def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
154
+ put(path, model) end
173
155
  end
174
156
  end
175
157
  end
@@ -15,11 +15,8 @@ module AvaTax
15
15
  # @param accountId [Integer] The ID of the account that owns this subscription
16
16
  # @param id [Integer] The primary key of this subscription
17
17
  # @return [Object]
18
- def get_subscription(accountId, id)
19
- path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
20
- get(path)
21
- end
22
-
18
+ def get_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
19
+ get(path) end
23
20
 
24
21
  # Retrieve subscriptions for this account
25
22
  #
@@ -39,11 +36,8 @@ module AvaTax
39
36
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
40
37
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
41
38
  # @return [FetchResult]
42
- def list_subscriptions_by_account(accountId, options={})
43
- path = "/api/v2/accounts/#{accountId}/subscriptions"
44
- get(path, options)
45
- end
46
-
39
+ def list_subscriptions_by_account(accountId, options={}) path = "/api/v2/accounts/#{accountId}/subscriptions"
40
+ get(path, options) end
47
41
 
48
42
  # Retrieve all subscriptions
49
43
  #
@@ -62,11 +56,8 @@ module AvaTax
62
56
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
63
57
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
64
58
  # @return [FetchResult]
65
- def query_subscriptions(options={})
66
- path = "/api/v2/subscriptions"
67
- get(path, options)
68
- end
69
-
59
+ def query_subscriptions(options={}) path = "/api/v2/subscriptions"
60
+ get(path, options) end
70
61
  end
71
62
  end
72
63
  end
@@ -17,11 +17,8 @@ module AvaTax
17
17
  # @param companyId [Integer] The ID of the company that owns this tax code.
18
18
  # @param model [TaxCodeModel[]] The tax code you wish to create.
19
19
  # @return [TaxCodeModel[]]
20
- def create_tax_codes(companyId, model)
21
- path = "/api/v2/companies/#{companyId}/taxcodes"
22
- post(path, model)
23
- end
24
-
20
+ def create_tax_codes(companyId, model) path = "/api/v2/companies/#{companyId}/taxcodes"
21
+ post(path, model) end
25
22
 
26
23
  # Delete a single tax code
27
24
  #
@@ -33,11 +30,8 @@ module AvaTax
33
30
  # @param companyId [Integer] The ID of the company that owns this tax code.
34
31
  # @param id [Integer] The ID of the tax code you wish to delete.
35
32
  # @return [ErrorDetail[]]
36
- def delete_tax_code(companyId, id)
37
- path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
38
- delete(path)
39
- end
40
-
33
+ def delete_tax_code(companyId, id) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
34
+ delete(path) end
41
35
 
42
36
  # Retrieve a single tax code
43
37
  #
@@ -53,11 +47,8 @@ module AvaTax
53
47
  # @param companyId [Integer] The ID of the company that owns this tax code
54
48
  # @param id [Integer] The primary key of this tax code
55
49
  # @return [Object]
56
- def get_tax_code(companyId, id)
57
- path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
58
- get(path)
59
- end
60
-
50
+ def get_tax_code(companyId, id) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
51
+ get(path) end
61
52
 
62
53
  # Retrieve tax codes for this company
63
54
  #
@@ -80,11 +71,8 @@ module AvaTax
80
71
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
81
72
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
82
73
  # @return [FetchResult]
83
- def list_tax_codes_by_company(companyId, options={})
84
- path = "/api/v2/companies/#{companyId}/taxcodes"
85
- get(path, options)
86
- end
87
-
74
+ def list_tax_codes_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/taxcodes"
75
+ get(path, options) end
88
76
 
89
77
  # Retrieve all tax codes
90
78
  #
@@ -106,11 +94,8 @@ module AvaTax
106
94
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
107
95
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
108
96
  # @return [FetchResult]
109
- def query_tax_codes(options={})
110
- path = "/api/v2/taxcodes"
111
- get(path, options)
112
- end
113
-
97
+ def query_tax_codes(options={}) path = "/api/v2/taxcodes"
98
+ get(path, options) end
114
99
 
115
100
  # Update a single tax code
116
101
  #
@@ -129,11 +114,8 @@ module AvaTax
129
114
  # @param id [Integer] The ID of the tax code you wish to update
130
115
  # @param model [Object] The tax code you wish to update.
131
116
  # @return [Object]
132
- def update_tax_code(companyId, id, model)
133
- path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
134
- put(path, model)
135
- end
136
-
117
+ def update_tax_code(companyId, id, model) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
118
+ put(path, model) end
137
119
  end
138
120
  end
139
121
  end
@@ -32,14 +32,11 @@ module AvaTax
32
32
  # ### Security Policies
33
33
  #
34
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
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
35
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
36
36
  # @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
37
37
  # @return [Object]
38
- def build_tax_content_file(model)
39
- path = "/api/v2/pointofsaledata/build"
40
- post(path, model)
41
- end
42
-
38
+ def build_tax_content_file(model) path = "/api/v2/pointofsaledata/build"
39
+ post(path, model) end
43
40
 
44
41
  # Build a tax content file for a single location
45
42
  #
@@ -70,7 +67,7 @@ module AvaTax
70
67
  # ### Security Policies
71
68
  #
72
69
  # * 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.
73
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
70
+ # * This API depends on the following active services:*Required* (all): AvaTaxPro.
74
71
  # @param companyId [Integer] The ID number of the company that owns this location.
75
72
  # @param id [Integer] The ID number of the location to retrieve point-of-sale data.
76
73
  # @param date [DateTime] The date for which point-of-sale data would be calculated (today by default)
@@ -78,11 +75,8 @@ module AvaTax
78
75
  # @param partnerId [String] If specified, requests a custom partner-formatted version of the file. (See PointOfSalePartnerId::* for a list of allowable values)
79
76
  # @param includeJurisCodes [Boolean] When true, the file will include jurisdiction codes in the result.
80
77
  # @return [Object]
81
- def build_tax_content_file_for_location(companyId, id, options={})
82
- path = "/api/v2/companies/#{companyId}/locations/#{id}/pointofsaledata"
83
- get(path, options)
84
- end
85
-
78
+ def build_tax_content_file_for_location(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/locations/#{id}/pointofsaledata"
79
+ get(path, options) end
86
80
 
87
81
  # Download a file listing tax rates by postal code
88
82
  #
@@ -133,11 +127,71 @@ module AvaTax
133
127
  # @param date [DateTime] The date for which point-of-sale data would be calculated (today by default). Example input: 2016-12-31
134
128
  # @param region [String] A two character region code which limits results to a specific region.
135
129
  # @return [Object]
136
- def download_tax_rates_by_zip_code(date, options={})
137
- path = "/api/v2/taxratesbyzipcode/download/#{date}"
138
- get(path, options)
139
- end
130
+ def download_tax_rates_by_zip_code(date, options={}) path = "/api/v2/taxratesbyzipcode/download/#{date}"
131
+ get(path, options) end
132
+
133
+ # Sales tax rates for a specified address
134
+ #
135
+ # Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP
136
+ # response code 429 - `Too Many Requests`.
137
+ #
138
+ # This API assumes that you are selling general tangible personal property at a retail point-of-sale
139
+ # location in the United States only.
140
+ #
141
+ # For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API,
142
+ # which supports features including, but not limited to:
143
+ #
144
+ # * Nexus declarations
145
+ # * Taxability based on product/service type
146
+ # * Sourcing rules affecting origin/destination states
147
+ # * Customers who are exempt from certain taxes
148
+ # * States that have dollar value thresholds for tax amounts
149
+ # * Refunds for products purchased on a different date
150
+ # * Detailed jurisdiction names and state assigned codes
151
+ # * And more!
152
+ #
153
+ # Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
154
+ # for information on how to upgrade to the full AvaTax CreateTransaction API.
155
+ # @param line1 [String] The street address of the location.
156
+ # @param line2 [String] The street address of the location.
157
+ # @param line3 [String] The street address of the location.
158
+ # @param city [String] The city name of the location.
159
+ # @param region [String] Name or ISO 3166 code identifying the region within the country. This field supports many different region identifiers: * Two and three character ISO 3166 region codes * Fully spelled out names of the region in ISO supported languages * Common alternative spellings for many regions For a full list of all supported codes and names, please see the Definitions API `ListRegions`.
160
+ # @param postalCode [String] The postal code of the location.
161
+ # @param country [String] Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
162
+ # @return [Object]
163
+ def tax_rates_by_address(options={}) path = "/api/v2/taxrates/byaddress"
164
+ get(path, options) end
140
165
 
166
+ # Sales tax rates for a specified country and postal code. This API is only available for US postal codes.
167
+ #
168
+ # This API is only available for a US postal codes.
169
+ #
170
+ # Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP
171
+ # response code 429 - `Too Many Requests`.
172
+ #
173
+ # This API assumes that you are selling general tangible personal property at a retail point-of-sale
174
+ # location in the United States only.
175
+ #
176
+ # For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API,
177
+ # which supports features including, but not limited to:
178
+ #
179
+ # * Nexus declarations
180
+ # * Taxability based on product/service type
181
+ # * Sourcing rules affecting origin/destination states
182
+ # * Customers who are exempt from certain taxes
183
+ # * States that have dollar value thresholds for tax amounts
184
+ # * Refunds for products purchased on a different date
185
+ # * Detailed jurisdiction names and state assigned codes
186
+ # * And more!
187
+ #
188
+ # Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
189
+ # for information on how to upgrade to the full AvaTax CreateTransaction API.
190
+ # @param country [String] Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
191
+ # @param postalCode [String] The postal code of the location.
192
+ # @return [Object]
193
+ def tax_rates_by_postal_code(options={}) path = "/api/v2/taxrates/bypostalcode"
194
+ get(path, options) end
141
195
  end
142
196
  end
143
197
  end