avatax 20.1.0 → 20.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avatax/client/accounts.rb +180 -116
  3. data/lib/avatax/client/addresses.rb +34 -34
  4. data/lib/avatax/client/advancedrules.rb +33 -142
  5. data/lib/avatax/client/avafileforms.rb +37 -37
  6. data/lib/avatax/client/batches.rb +122 -122
  7. data/lib/avatax/client/certexpressinvites.rb +70 -70
  8. data/lib/avatax/client/certificates.rb +313 -313
  9. data/lib/avatax/client/companies.rb +234 -232
  10. data/lib/avatax/client/compliance.rb +2 -2
  11. data/lib/avatax/client/contacts.rb +58 -58
  12. data/lib/avatax/client/customers.rb +279 -279
  13. data/lib/avatax/client/datasources.rb +51 -51
  14. data/lib/avatax/client/definitions.rb +448 -435
  15. data/lib/avatax/client/distancethresholds.rb +74 -74
  16. data/lib/avatax/client/filingcalendars.rb +10 -498
  17. data/lib/avatax/client/filings.rb +13 -13
  18. data/lib/avatax/client/firmclientlinkages.rb +54 -54
  19. data/lib/avatax/client/free.rb +73 -73
  20. data/lib/avatax/client/fundingrequests.rb +32 -32
  21. data/lib/avatax/client/items.rb +284 -284
  22. data/lib/avatax/client/jurisdictionoverrides.rb +70 -70
  23. data/lib/avatax/client/locations.rb +87 -84
  24. data/lib/avatax/client/multidocument.rb +294 -234
  25. data/lib/avatax/client/nexus.rb +283 -143
  26. data/lib/avatax/client/notifications.rb +48 -48
  27. data/lib/avatax/client/provisioning.rb +29 -29
  28. data/lib/avatax/client/registrar.rb +122 -122
  29. data/lib/avatax/client/reports.rb +63 -63
  30. data/lib/avatax/client/settings.rb +108 -108
  31. data/lib/avatax/client/subscriptions.rb +35 -35
  32. data/lib/avatax/client/taxcodes.rb +72 -72
  33. data/lib/avatax/client/taxcontent.rb +106 -106
  34. data/lib/avatax/client/taxrules.rb +122 -122
  35. data/lib/avatax/client/transactions.rb +654 -639
  36. data/lib/avatax/client/upcs.rb +63 -63
  37. data/lib/avatax/client/users.rb +121 -121
  38. data/lib/avatax/client/utilities.rb +34 -34
  39. data/lib/avatax/connection.rb +1 -1
  40. data/lib/avatax/request.rb +2 -0
  41. data/lib/avatax/version.rb +1 -1
  42. metadata +3 -3
@@ -5,417 +5,417 @@ module AvaTax
5
5
 
6
6
  # Delete all classifications for an item
7
7
  #
8
- # Delete all the classifications for a given item.
9
- #
10
- # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
11
- #
12
- # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
13
- #
14
- # ### Security Policies
15
- #
8
+ # Delete all the classifications for a given item.
9
+ #
10
+ # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
11
+ #
12
+ # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
13
+ #
14
+ # ### Security Policies
15
+ #
16
16
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
17
- # @param companyId [Integer] The ID of the company that owns this item.
18
- # @param itemId [Integer] The ID of the item you wish to delete the classifications.
17
+ # @param companyId [Integer] The ID of the company that owns this item.
18
+ # @param itemId [Integer] The ID of the item you wish to delete the classifications.
19
19
  # @return [ErrorDetail[]]
20
20
  def batch_delete_item_classifications(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
21
21
  delete(path) end
22
22
 
23
23
  # Delete all parameters for an item
24
24
  #
25
- # Delete all the parameters for a given item.
26
- #
27
- # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
28
- #
29
- # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
30
- #
31
- # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
32
- #
33
- # ### Security Policies
34
- #
25
+ # Delete all the parameters for a given item.
26
+ #
27
+ # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
28
+ #
29
+ # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
30
+ #
31
+ # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
32
+ #
33
+ # ### Security Policies
34
+ #
35
35
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
36
- # @param companyId [Integer] The ID of the company that owns this item.
37
- # @param itemId [Integer] The ID of the item you wish to delete the parameters.
36
+ # @param companyId [Integer] The ID of the company that owns this item.
37
+ # @param itemId [Integer] The ID of the item you wish to delete the parameters.
38
38
  # @return [ErrorDetail[]]
39
39
  def batch_delete_item_parameters(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
40
40
  delete(path) end
41
41
 
42
42
  # Add classifications to an item.
43
43
  #
44
- # Add classifications to an item.
45
- #
46
- # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
47
- #
48
- # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
49
- #
50
- # An item may only have one classification per tax system.
51
- #
52
- # ### Security Policies
53
- #
44
+ # Add classifications to an item.
45
+ #
46
+ # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
47
+ #
48
+ # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
49
+ #
50
+ # An item may only have one classification per tax system.
51
+ #
52
+ # ### Security Policies
53
+ #
54
54
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
55
- # @param companyId [Integer] The company id.
56
- # @param itemId [Integer] The item id.
57
- # @param model [ItemClassificationInputModel[]] The item classifications you wish to create.
55
+ # @param companyId [Integer] The company id.
56
+ # @param itemId [Integer] The item id.
57
+ # @param model [ItemClassificationInputModel[]] The item classifications you wish to create.
58
58
  # @return [ItemClassificationOutputModel[]]
59
59
  def create_item_classifications(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
60
60
  post(path, model) end
61
61
 
62
62
  # Add parameters to an item.
63
63
  #
64
- # Add parameters to an item.
65
- #
66
- # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
67
- #
68
- # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
69
- #
70
- # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
71
- #
72
- # To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Product`
73
- #
74
- # 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.
75
- #
76
- # ### Security Policies
77
- #
64
+ # Add parameters to an item.
65
+ #
66
+ # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
67
+ #
68
+ # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
69
+ #
70
+ # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
71
+ #
72
+ # To see available parameters for this item, call `/api/v2/definitions/parameters?$filter=attributeType eq Product`
73
+ #
74
+ # 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.
75
+ #
76
+ # ### Security Policies
77
+ #
78
78
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
79
- # @param companyId [Integer] The ID of the company that owns this item parameter.
80
- # @param itemId [Integer] The item id.
81
- # @param model [ItemParameterModel[]] The item parameters you wish to create.
79
+ # @param companyId [Integer] The ID of the company that owns this item parameter.
80
+ # @param itemId [Integer] The item id.
81
+ # @param model [ItemParameterModel[]] The item parameters you wish to create.
82
82
  # @return [ItemParameterModel[]]
83
83
  def create_item_parameters(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
84
84
  post(path, model) end
85
85
 
86
86
  # Create a new item
87
87
  #
88
- # Creates one or more new item objects attached to this company.
89
- #
90
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
91
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
92
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
93
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
94
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
95
- #
96
- # The tax code takes precedence over the tax code id if both are provided.
97
- #
98
- # ### Security Policies
99
- #
88
+ # Creates one or more new item objects attached to this company.
89
+ #
90
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
91
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
92
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
93
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
94
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
95
+ #
96
+ # The tax code takes precedence over the tax code id if both are provided.
97
+ #
98
+ # ### Security Policies
99
+ #
100
100
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
101
- # @param companyId [Integer] The ID of the company that owns this item.
102
- # @param model [ItemModel[]] The item you wish to create.
101
+ # @param companyId [Integer] The ID of the company that owns this item.
102
+ # @param model [ItemModel[]] The item you wish to create.
103
103
  # @return [ItemModel[]]
104
104
  def create_items(companyId, model) path = "/api/v2/companies/#{companyId}/items"
105
105
  post(path, model) end
106
106
 
107
107
  # Delete a single item
108
108
  #
109
- # Deletes the item object at this URL.
110
- #
111
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
112
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
113
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
114
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
115
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
116
- #
117
- # Deleting an item will also delete the parameters and classifications associated with that item.
118
- #
119
- # ### Security Policies
120
- #
109
+ # Deletes the item object at this URL.
110
+ #
111
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
112
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
113
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
114
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
115
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
116
+ #
117
+ # Deleting an item will also delete the parameters and classifications associated with that item.
118
+ #
119
+ # ### Security Policies
120
+ #
121
121
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
122
- # @param companyId [Integer] The ID of the company that owns this item.
123
- # @param id [Integer] The ID of the item you wish to delete.
122
+ # @param companyId [Integer] The ID of the company that owns this item.
123
+ # @param id [Integer] The ID of the item you wish to delete.
124
124
  # @return [ErrorDetail[]]
125
125
  def delete_item(companyId, id) path = "/api/v2/companies/#{companyId}/items/#{id}"
126
126
  delete(path) end
127
127
 
128
128
  # Delete a single item classification.
129
129
  #
130
- # Delete a single item classification.
131
- #
132
- # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
133
- #
134
- # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
135
- #
136
- # ### Security Policies
137
- #
130
+ # Delete a single item classification.
131
+ #
132
+ # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
133
+ #
134
+ # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
135
+ #
136
+ # ### Security Policies
137
+ #
138
138
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
139
- # @param companyId [Integer] The company id.
140
- # @param itemId [Integer] The item id.
141
- # @param id [Integer] The item classification id.
139
+ # @param companyId [Integer] The company id.
140
+ # @param itemId [Integer] The item id.
141
+ # @param id [Integer] The item classification id.
142
142
  # @return [ErrorDetail[]]
143
143
  def delete_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
144
144
  delete(path) end
145
145
 
146
146
  # Delete a single item parameter
147
147
  #
148
- # Delete a single item parameter.
149
- #
150
- # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
151
- #
152
- # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
153
- #
154
- # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
155
- #
156
- # ### Security Policies
157
- #
148
+ # Delete a single item parameter.
149
+ #
150
+ # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
151
+ #
152
+ # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
153
+ #
154
+ # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
155
+ #
156
+ # ### Security Policies
157
+ #
158
158
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
159
- # @param companyId [Integer] The company id
160
- # @param itemId [Integer] The item id
161
- # @param id [Integer] The parameter id
159
+ # @param companyId [Integer] The company id
160
+ # @param itemId [Integer] The item id
161
+ # @param id [Integer] The parameter id
162
162
  # @return [ErrorDetail[]]
163
163
  def delete_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
164
164
  delete(path) end
165
165
 
166
166
  # Retrieve a single item
167
167
  #
168
- # Get the `Item` object identified by this URL.
169
- #
170
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
171
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
172
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
173
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
174
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
175
- #
176
- # ### Security Policies
177
- #
168
+ # Get the `Item` object identified by this URL.
169
+ #
170
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
171
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
172
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
173
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
174
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
175
+ #
176
+ # ### Security Policies
177
+ #
178
178
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
179
- # @param companyId [Integer] The ID of the company that owns this item object
180
- # @param id [Integer] The primary key of this item
181
- # @param include [String] A comma separated list of additional data to retrieve.
179
+ # @param companyId [Integer] The ID of the company that owns this item object
180
+ # @param id [Integer] The primary key of this item
181
+ # @param include [String] A comma separated list of additional data to retrieve.
182
182
  # @return [Object]
183
183
  def get_item(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/items/#{id}"
184
184
  get(path, options) end
185
185
 
186
186
  # Retrieve a single item classification.
187
187
  #
188
- # Retrieve a single item classification.
189
- #
190
- # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
191
- #
192
- # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
193
- #
194
- # ### Security Policies
195
- #
188
+ # Retrieve a single item classification.
189
+ #
190
+ # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
191
+ #
192
+ # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
193
+ #
194
+ # ### Security Policies
195
+ #
196
196
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
197
- # @param companyId [Integer] The company id.
198
- # @param itemId [Integer] The item id.
199
- # @param id [Integer] The item classification id.
197
+ # @param companyId [Integer] The company id.
198
+ # @param itemId [Integer] The item id.
199
+ # @param id [Integer] The item classification id.
200
200
  # @return [Object]
201
201
  def get_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
202
202
  get(path) end
203
203
 
204
204
  # Retrieve a single item parameter
205
205
  #
206
- # Retrieve a single item parameter.
207
- #
208
- # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
209
- #
210
- # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
211
- #
212
- # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
213
- #
214
- # ### Security Policies
215
- #
206
+ # Retrieve a single item parameter.
207
+ #
208
+ # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
209
+ #
210
+ # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
211
+ #
212
+ # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
213
+ #
214
+ # ### Security Policies
215
+ #
216
216
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
217
- # @param companyId [Integer] The company id
218
- # @param itemId [Integer] The item id
219
- # @param id [Integer] The parameter id
217
+ # @param companyId [Integer] The company id
218
+ # @param itemId [Integer] The item id
219
+ # @param id [Integer] The parameter id
220
220
  # @return [Object]
221
221
  def get_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
222
222
  get(path) end
223
223
 
224
224
  # Retrieve classifications for an item.
225
225
  #
226
- # List classifications for an item.
227
- #
228
- # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
229
- #
230
- # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
231
- #
232
- # Search for specific objects using the criteria in the `$filter` classification; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
233
- # Paginate your results using the `$top`, `$skip`, and `$orderby` classifications.
234
- #
235
- # ### Security Policies
236
- #
226
+ # List classifications for an item.
227
+ #
228
+ # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
229
+ #
230
+ # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
231
+ #
232
+ # Search for specific objects using the criteria in the `$filter` classification; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
233
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` classifications.
234
+ #
235
+ # ### Security Policies
236
+ #
237
237
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
238
- # @param companyId [Integer] The company id.
239
- # @param itemId [Integer] The item id.
240
- # @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:* productCode, systemCode
241
- # @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.
242
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
243
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
238
+ # @param companyId [Integer] The company id.
239
+ # @param itemId [Integer] The item id.
240
+ # @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:* productCode, systemCode
241
+ # @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.
242
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
243
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
244
244
  # @return [FetchResult]
245
245
  def list_item_classifications(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
246
246
  get(path, options) end
247
247
 
248
248
  # Retrieve parameters for an item
249
249
  #
250
- # List parameters for an item.
251
- #
252
- # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
253
- #
254
- # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
255
- #
256
- # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
257
- #
258
- # 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/) .
259
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
260
- #
261
- # ### Security Policies
262
- #
250
+ # List parameters for an item.
251
+ #
252
+ # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
253
+ #
254
+ # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
255
+ #
256
+ # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
257
+ #
258
+ # 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/) .
259
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
260
+ #
261
+ # ### Security Policies
262
+ #
263
263
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
264
- # @param companyId [Integer] The company id
265
- # @param itemId [Integer] The item id
266
- # @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
267
- # @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
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
269
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
264
+ # @param companyId [Integer] The company id
265
+ # @param itemId [Integer] The item id
266
+ # @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
267
+ # @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
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
269
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
270
270
  # @return [FetchResult]
271
271
  def list_item_parameters(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
272
272
  get(path, options) end
273
273
 
274
274
  # Retrieve items for this company
275
275
  #
276
- # List all items defined for the current company.
277
- #
278
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
279
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
280
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
281
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
282
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
283
- #
284
- # 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/) .
285
- #
286
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
287
- #
288
- # 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:
289
- #
290
- # * Parameters
291
- # * Classifications
292
- #
293
- # ### Security Policies
294
- #
276
+ # List all items defined for the current company.
277
+ #
278
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
279
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
280
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
281
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
282
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
283
+ #
284
+ # 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/) .
285
+ #
286
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
287
+ #
288
+ # 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:
289
+ #
290
+ # * Parameters
291
+ # * Classifications
292
+ #
293
+ # ### Security Policies
294
+ #
295
295
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
296
- # @param companyId [Integer] The ID of the company that defined these items
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:* taxCode, classifications, parameters
298
- # @param include [String] A comma separated list of additional data to retrieve.
299
- # @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.
300
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
301
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
296
+ # @param companyId [Integer] The ID of the company that defined these items
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:* taxCode, classifications, parameters
298
+ # @param include [String] A comma separated list of additional data to retrieve.
299
+ # @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.
300
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
301
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
302
302
  # @return [FetchResult]
303
303
  def list_items_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/items"
304
304
  get(path, options) end
305
305
 
306
306
  # Retrieve all items
307
307
  #
308
- # Get multiple item objects across all companies.
309
- #
310
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
311
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
312
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
313
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
314
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
315
- #
316
- # 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/) .
317
- #
318
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
319
- #
320
- # ### Security Policies
321
- #
308
+ # Get multiple item objects across all companies.
309
+ #
310
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
311
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
312
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
313
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
314
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
315
+ #
316
+ # 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/) .
317
+ #
318
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
319
+ #
320
+ # ### Security Policies
321
+ #
322
322
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
323
- # @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:* taxCode, classifications, parameters
324
- # @param include [String] A comma separated list of additional data to retrieve.
325
- # @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.
326
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
327
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
323
+ # @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:* taxCode, classifications, parameters
324
+ # @param include [String] A comma separated list of additional data to retrieve.
325
+ # @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.
326
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
327
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
328
328
  # @return [FetchResult]
329
329
  def query_items(options={}) path = "/api/v2/items"
330
330
  get(path, options) end
331
331
 
332
332
  # Sync items from a product catalog
333
333
  #
334
- # Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs
335
- # with AvaTax.
336
- #
337
- # Any invalid or duplicate items will be ignored. To diagnose why an item is not created, use the normal create transaction API to receive validation information.
338
- #
339
- # This API is currently limited to 1000 items per call (the limit is subject to change).
340
- #
341
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
342
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
343
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
344
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
345
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
346
- #
347
- # ### Security Policies
348
- #
334
+ # Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs
335
+ # with AvaTax.
336
+ #
337
+ # Any invalid or duplicate items will be ignored. To diagnose why an item is not created, use the normal create transaction API to receive validation information.
338
+ #
339
+ # This API is currently limited to 1000 items per call (the limit is subject to change).
340
+ #
341
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
342
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
343
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
344
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
345
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
346
+ #
347
+ # ### Security Policies
348
+ #
349
349
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
350
- # @param companyId [Integer] The ID of the company that owns this item.
351
- # @param model [Object] The request object.
350
+ # @param companyId [Integer] The ID of the company that owns this item.
351
+ # @param model [Object] The request object.
352
352
  # @return [Object]
353
353
  def sync_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/sync"
354
354
  post(path, model) end
355
355
 
356
356
  # Update a single item
357
357
  #
358
- # Replace the existing `Item` object at this URL with an updated object.
359
- #
360
- # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
361
- # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
362
- # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
363
- # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
364
- # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
365
- #
366
- # All data from the existing object will be replaced with data in the object you PUT. To set a field's value to null,
367
- # you may either set its value to null or omit that field from the object you post.
368
- #
369
- # The tax code takes precedence over the tax code id if both are provided.
370
- #
371
- # ### Security Policies
372
- #
358
+ # Replace the existing `Item` object at this URL with an updated object.
359
+ #
360
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
361
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
362
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
363
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
364
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
365
+ #
366
+ # All data from the existing object will be replaced with data in the object you PUT. To set a field's value to null,
367
+ # you may either set its value to null or omit that field from the object you post.
368
+ #
369
+ # The tax code takes precedence over the tax code id if both are provided.
370
+ #
371
+ # ### Security Policies
372
+ #
373
373
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
374
- # @param companyId [Integer] The ID of the company that this item belongs to.
375
- # @param id [Integer] The ID of the item you wish to update
376
- # @param model [Object] The item object you wish to update.
374
+ # @param companyId [Integer] The ID of the company that this item belongs to.
375
+ # @param id [Integer] The ID of the item you wish to update
376
+ # @param model [Object] The item object you wish to update.
377
377
  # @return [Object]
378
378
  def update_item(companyId, id, model) path = "/api/v2/companies/#{companyId}/items/#{id}"
379
379
  put(path, model) end
380
380
 
381
381
  # Update an item classification.
382
382
  #
383
- # Update an item classification.
384
- #
385
- # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
386
- #
387
- # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
388
- #
389
- # An item may only have one classification per tax system.
390
- #
391
- # ### Security Policies
392
- #
383
+ # Update an item classification.
384
+ #
385
+ # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
386
+ #
387
+ # When an item is used in a transaction, the applicable classification will be used to determine the appropriate tax rate.
388
+ #
389
+ # An item may only have one classification per tax system.
390
+ #
391
+ # ### Security Policies
392
+ #
393
393
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
394
- # @param companyId [Integer] The company id.
395
- # @param itemId [Integer] The item id.
396
- # @param id [Integer] The item classification id.
397
- # @param model [Object] The item object you wish to update.
394
+ # @param companyId [Integer] The company id.
395
+ # @param itemId [Integer] The item id.
396
+ # @param id [Integer] The item classification id.
397
+ # @param model [Object] The item object you wish to update.
398
398
  # @return [Object]
399
399
  def update_item_classification(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
400
400
  put(path, model) end
401
401
 
402
402
  # Update an item parameter
403
403
  #
404
- # Update an item parameter.
405
- #
406
- # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
407
- #
408
- # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
409
- #
410
- # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
411
- #
412
- # ### Security Policies
413
- #
404
+ # Update an item parameter.
405
+ #
406
+ # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
407
+ #
408
+ # A parameter added to an item will be used by default in tax calculation but will not show on the transaction line referencing the item .
409
+ #
410
+ # A parameter specified on a transaction line will override an item parameter if they share the same parameter name.
411
+ #
412
+ # ### Security Policies
413
+ #
414
414
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
415
- # @param companyId [Integer] The company id.
416
- # @param itemId [Integer] The item id
417
- # @param id [Integer] The item parameter id
418
- # @param model [Object] The item object you wish to update.
415
+ # @param companyId [Integer] The company id.
416
+ # @param itemId [Integer] The item id
417
+ # @param id [Integer] The item parameter id
418
+ # @param model [Object] The item object you wish to update.
419
419
  # @return [Object]
420
420
  def update_item_parameter(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
421
421
  put(path, model) end