avatax 17.12.0 → 18.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/avatax/client/certexpressinvites.rb +9 -0
- data/lib/avatax/client/certificates.rb +39 -0
- data/lib/avatax/client/companies.rb +15 -0
- data/lib/avatax/client/customers.rb +27 -0
- data/lib/avatax/client/definitions.rb +116 -0
- data/lib/avatax/client/distancethresholds.rb +117 -0
- data/lib/avatax/client/items.rb +45 -4
- data/lib/avatax/client/transactions.rb +51 -17
- data/lib/avatax/connection.rb +5 -3
- data/lib/avatax/version.rb +1 -1
- data/spec/avatax_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -2
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 457c4dafa0d29a7d825c3d1277ca28a49a0168f86f5c9d643392f1e4900a8609
|
4
|
+
data.tar.gz: e7ea4c2f210a60e04ffe4b4313e6a6127a58a1ce9bae38054b88276eeb8d3752
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 298f0645027870cd7f6e3730a79852d23b78646b5befa0850b3108ff572bc629b41215e5ffae24cdb50a0e085bdcb06d7548d14083d3cdeef1923503cd2ed6e0
|
7
|
+
data.tar.gz: d8ef94982822bb32bdb210cb3057f4b14dee22a610cf92c88ce99f45391255ab5da2b375210e6c9724712bc81a89e0faedad15bf4a990028e481e2af9a1f4242
|
@@ -15,6 +15,9 @@ module AvaTax
|
|
15
15
|
# The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
|
16
16
|
# Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
|
17
17
|
# your company so that they can be used for tax exemptions.
|
18
|
+
#
|
19
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
20
|
+
# (as your account gets provisioned). Thank you for your patience.
|
18
21
|
# @param companyId [Integer] The unique ID number of the company that will record certificates
|
19
22
|
# @param customerCode [String] The number of the customer where the request is sent to
|
20
23
|
# @param model [CreateCertExpressInvitationModel[]] the requests to send out to customers
|
@@ -37,6 +40,9 @@ module AvaTax
|
|
37
40
|
# The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
|
38
41
|
# Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
|
39
42
|
# your company so that they can be used for tax exemptions.
|
43
|
+
#
|
44
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
45
|
+
# (as your account gets provisioned). Thank you for your patience.
|
40
46
|
# @param companyId [Integer] The unique ID number of the company that issued this invitation
|
41
47
|
# @param customerCode [String] The number of the customer where the request is sent to
|
42
48
|
# @param id [Integer] The unique ID number of this CertExpress invitation
|
@@ -60,6 +66,9 @@ module AvaTax
|
|
60
66
|
# The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
|
61
67
|
# Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
|
62
68
|
# your company so that they can be used for tax exemptions.
|
69
|
+
#
|
70
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
71
|
+
# (as your account gets provisioned). Thank you for your patience.
|
63
72
|
# @param companyId [Integer] The unique ID number of the company that issued this invitation
|
64
73
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
|
65
74
|
# @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/) .
|
@@ -19,6 +19,9 @@ module AvaTax
|
|
19
19
|
# * A list of exposure zones indicating where the certificate is valid
|
20
20
|
# * A link to the customer that is allowed to use this certificate
|
21
21
|
# * Your tax transaction must contain the correct customer code
|
22
|
+
#
|
23
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
24
|
+
# (as your account gets provisioned). Thank you for your patience.
|
22
25
|
# @param companyId [Integer] The ID number of the company recording this certificate
|
23
26
|
# @param model [CertificateModel[]] Certificates to be created
|
24
27
|
# @return [CertificateModel[]]
|
@@ -38,6 +41,9 @@ module AvaTax
|
|
38
41
|
# log onto the administrative website for the product you purchased.
|
39
42
|
#
|
40
43
|
# Revoked certificates can no longer be used.
|
44
|
+
#
|
45
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
46
|
+
# (as your account gets provisioned). Thank you for your patience.
|
41
47
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
42
48
|
# @param id [Integer] The unique ID number of this certificate
|
43
49
|
# @return [Object]
|
@@ -58,6 +64,9 @@ module AvaTax
|
|
58
64
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
59
65
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
60
66
|
# log onto the administrative website for the product you purchased.
|
67
|
+
#
|
68
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
69
|
+
# (as your account gets provisioned). Thank you for your patience.
|
61
70
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
62
71
|
# @param id [Integer] The unique ID number of this certificate
|
63
72
|
# @param page [Integer] If you choose `$type`=`Jpeg`, you must specify which page number to retrieve.
|
@@ -83,6 +92,9 @@ module AvaTax
|
|
83
92
|
# * Customers - Retrieves the list of customers linked to the certificate.
|
84
93
|
# * PoNumbers - Retrieves all PO numbers tied to the certificate.
|
85
94
|
# * Attributes - Retrieves all attributes applied to the certificate.
|
95
|
+
#
|
96
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
97
|
+
# (as your account gets provisioned). Thank you for your patience.
|
86
98
|
# @param companyId [Integer] The ID number of the company that recorded this certificate
|
87
99
|
# @param id [Integer] The unique ID number of this certificate
|
88
100
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * Customers - Retrieves the list of customers linked to the certificate. * PoNumbers - Retrieves all PO numbers tied to the certificate. * Attributes - Retrieves all attributes applied to the certificate.
|
@@ -104,6 +116,9 @@ module AvaTax
|
|
104
116
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
105
117
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
106
118
|
# log onto the administrative website for the product you purchased.
|
119
|
+
#
|
120
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
121
|
+
# (as your account gets provisioned). Thank you for your patience.
|
107
122
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
108
123
|
# @param id [Integer] The unique ID number of this certificate
|
109
124
|
# @param model [CertificateAttributeModel[]] The list of attributes to link to this certificate.
|
@@ -126,6 +141,9 @@ module AvaTax
|
|
126
141
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
127
142
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
128
143
|
# log onto the administrative website for the product you purchased.
|
144
|
+
#
|
145
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
146
|
+
# (as your account gets provisioned). Thank you for your patience.
|
129
147
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
130
148
|
# @param id [Integer] The unique ID number of this certificate
|
131
149
|
# @param model [Object] The list of customers needed be added to the Certificate for exemption
|
@@ -147,6 +165,9 @@ module AvaTax
|
|
147
165
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
148
166
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
149
167
|
# log onto the administrative website for the product you purchased.
|
168
|
+
#
|
169
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
170
|
+
# (as your account gets provisioned). Thank you for your patience.
|
150
171
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
151
172
|
# @param id [Integer] The unique ID number of this certificate
|
152
173
|
# @return [FetchResult]
|
@@ -167,6 +188,9 @@ module AvaTax
|
|
167
188
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
168
189
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
169
190
|
# log onto the administrative website for the product you purchased.
|
191
|
+
#
|
192
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
193
|
+
# (as your account gets provisioned). Thank you for your patience.
|
170
194
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
171
195
|
# @param id [Integer] The unique ID number of this certificate
|
172
196
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are currently available when fetching customers.
|
@@ -191,6 +215,9 @@ module AvaTax
|
|
191
215
|
# * Customers - Retrieves the list of customers linked to the certificate.
|
192
216
|
# * PoNumbers - Retrieves all PO numbers tied to the certificate.
|
193
217
|
# * Attributes - Retrieves all attributes applied to the certificate.
|
218
|
+
#
|
219
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
220
|
+
# (as your account gets provisioned). Thank you for your patience.
|
194
221
|
# @param companyId [Integer] The ID number of the company to search
|
195
222
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * Customers - Retrieves the list of customers linked to the certificate. * PoNumbers - Retrieves all PO numbers tied to the certificate. * Attributes - Retrieves all attributes applied to the certificate.
|
196
223
|
# @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/) .
|
@@ -215,6 +242,9 @@ module AvaTax
|
|
215
242
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
216
243
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
217
244
|
# log onto the administrative website for the product you purchased.
|
245
|
+
#
|
246
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
247
|
+
# (as your account gets provisioned). Thank you for your patience.
|
218
248
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
219
249
|
# @param id [Integer] The unique ID number of this certificate
|
220
250
|
# @param model [CertificateAttributeModel[]] The list of attributes to unlink from this certificate.
|
@@ -238,6 +268,9 @@ module AvaTax
|
|
238
268
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
239
269
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
240
270
|
# log onto the administrative website for the product you purchased.
|
271
|
+
#
|
272
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
273
|
+
# (as your account gets provisioned). Thank you for your patience.
|
241
274
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
242
275
|
# @param id [Integer] The unique ID number of this certificate
|
243
276
|
# @param model [Object] The list of customers to unlink from this certificate
|
@@ -256,6 +289,9 @@ module AvaTax
|
|
256
289
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
257
290
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
258
291
|
# log onto the administrative website for the product you purchased.
|
292
|
+
#
|
293
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
294
|
+
# (as your account gets provisioned). Thank you for your patience.
|
259
295
|
# @param companyId [Integer] The ID number of the company that recorded this certificate
|
260
296
|
# @param id [Integer] The unique ID number of this certificate
|
261
297
|
# @param model [Object] The new certificate object that will replace the existing one
|
@@ -277,6 +313,9 @@ module AvaTax
|
|
277
313
|
# can contain information about a customer's eligibility for exemption from sales or use taxes based on
|
278
314
|
# criteria you specify when you store the certificate. To view or manage your certificates directly, please
|
279
315
|
# log onto the administrative website for the product you purchased.
|
316
|
+
#
|
317
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
318
|
+
# (as your account gets provisioned). Thank you for your patience.
|
280
319
|
# @param companyId [Integer] The unique ID number of the company that recorded this certificate
|
281
320
|
# @param id [Integer] The unique ID number of this certificate
|
282
321
|
# @param file [Object] The exemption certificate file you wanted to upload. Accepted formats are: PDF, JPEG, TIFF, PNG.
|
@@ -108,6 +108,21 @@ module AvaTax
|
|
108
108
|
end
|
109
109
|
|
110
110
|
|
111
|
+
# Check the funding configuration of a company
|
112
|
+
#
|
113
|
+
# This API is available by invitation only.
|
114
|
+
# Requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
|
115
|
+
# Returns the funding configuration of the requested company.
|
116
|
+
# .
|
117
|
+
# @param companyId [Integer] The unique identifier of the company
|
118
|
+
# @param currency [String] The currency of the funding. USD and CAD are the only valid currencies
|
119
|
+
# @return [FundingConfigurationModel[]]
|
120
|
+
def funding_configurations_by_company_and_currency(companyId, options={})
|
121
|
+
path = "/api/v2/companies/#{companyId}/funding/configurations"
|
122
|
+
get(path, options)
|
123
|
+
end
|
124
|
+
|
125
|
+
|
111
126
|
# Retrieve a single company
|
112
127
|
#
|
113
128
|
# Get the company object identified by this URL.
|
@@ -12,6 +12,9 @@ module AvaTax
|
|
12
12
|
# record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
|
13
13
|
# identify any certificates linked to this `customer` object. If any certificate applies to the transaction,
|
14
14
|
# AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
|
15
|
+
#
|
16
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
17
|
+
# (as your account gets provisioned). Thank you for your patience.
|
15
18
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
16
19
|
# @param model [CustomerModel[]] The list of customer objects to be created
|
17
20
|
# @return [CustomerModel[]]
|
@@ -30,6 +33,9 @@ module AvaTax
|
|
30
33
|
# record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
|
31
34
|
# identify any certificates linked to this `customer` object. If any certificate applies to the transaction,
|
32
35
|
# AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
|
36
|
+
#
|
37
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
38
|
+
# (as your account gets provisioned). Thank you for your patience.
|
33
39
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
34
40
|
# @param customerCode [String] The unique code representing this customer
|
35
41
|
# @return [Object]
|
@@ -52,6 +58,9 @@ module AvaTax
|
|
52
58
|
# You can use the `$include` parameter to fetch the following additional objects for expansion:
|
53
59
|
#
|
54
60
|
# * Certificates - Fetch a list of certificates linked to this customer.
|
61
|
+
#
|
62
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
63
|
+
# (as your account gets provisioned). Thank you for your patience.
|
55
64
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
56
65
|
# @param customerCode [String] The unique code representing this customer
|
57
66
|
# @param include [String] Specify optional additional objects to include in this fetch request
|
@@ -71,6 +80,9 @@ module AvaTax
|
|
71
80
|
# record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
|
72
81
|
# identify any certificates linked to this `customer` object. If any certificate applies to the transaction,
|
73
82
|
# AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
|
83
|
+
#
|
84
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
85
|
+
# (as your account gets provisioned). Thank you for your patience.
|
74
86
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
75
87
|
# @param customerCode [String] The unique code representing this customer
|
76
88
|
# @param model [Object] The list of certificates to link to this customer
|
@@ -90,6 +102,9 @@ module AvaTax
|
|
90
102
|
# record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
|
91
103
|
# identify any certificates linked to this `customer` object. If any certificate applies to the transaction,
|
92
104
|
# AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
|
105
|
+
#
|
106
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
107
|
+
# (as your account gets provisioned). Thank you for your patience.
|
93
108
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
94
109
|
# @param customerCode [String] The unique code representing this customer
|
95
110
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * Customers - Retrieves the list of customers linked to the certificate. * PoNumbers - Retrieves all PO numbers tied to the certificate. * Attributes - Retrieves all attributes applied to the certificate.
|
@@ -116,6 +131,9 @@ module AvaTax
|
|
116
131
|
# If a customer does not have a certificate on file and they wish to provide one, you should send the customer
|
117
132
|
# a CertExpress invitation link so that the customer can upload proof of their exemption certificate. Please
|
118
133
|
# see the `CreateCertExpressInvitation` API to create an invitation link for this customer.
|
134
|
+
#
|
135
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
136
|
+
# (as your account gets provisioned). Thank you for your patience.
|
119
137
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
120
138
|
# @param customerCode [String] The unique code representing this customer
|
121
139
|
# @param country [String] Search for certificates matching this country. Uses the ISO 3166 two character country code.
|
@@ -140,6 +158,9 @@ module AvaTax
|
|
140
158
|
# You can use the `$include` parameter to fetch the following additional objects for expansion:
|
141
159
|
#
|
142
160
|
# * Certificates - Fetch a list of certificates linked to this customer.
|
161
|
+
#
|
162
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
163
|
+
# (as your account gets provisioned). Thank you for your patience.
|
143
164
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
144
165
|
# @param include [String] OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer.
|
145
166
|
# @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/) .
|
@@ -162,6 +183,9 @@ module AvaTax
|
|
162
183
|
# record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
|
163
184
|
# identify any certificates linked to this `customer` object. If any certificate applies to the transaction,
|
164
185
|
# AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
|
186
|
+
#
|
187
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
188
|
+
# (as your account gets provisioned). Thank you for your patience.
|
165
189
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
166
190
|
# @param customerCode [String] The unique code representing this customer
|
167
191
|
# @param model [Object] The list of certificates to link to this customer
|
@@ -181,6 +205,9 @@ module AvaTax
|
|
181
205
|
# record in your `CreateTransaction` API call. AvaTax will search for this `customerCode` value and
|
182
206
|
# identify any certificates linked to this `customer` object. If any certificate applies to the transaction,
|
183
207
|
# AvaTax will record the appropriate elements of the transaction as exempt and link it to the `certificate`.
|
208
|
+
#
|
209
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
210
|
+
# (as your account gets provisioned). Thank you for your patience.
|
184
211
|
# @param companyId [Integer] The unique ID number of the company that recorded this customer
|
185
212
|
# @param customerCode [String] The unique code representing this customer
|
186
213
|
# @param model [Object] The new customer model that will replace the existing record at this URL
|
@@ -3,6 +3,27 @@ module AvaTax
|
|
3
3
|
module Definitions
|
4
4
|
|
5
5
|
|
6
|
+
# Lists all parents of an HS Code.
|
7
|
+
#
|
8
|
+
# Retrieves the specified HS code and all of its parents, reflecting all sections, chapters, headings, and subheadings
|
9
|
+
#
|
10
|
+
# a list of HS Codes that are the parents and information branches of the HS Code for the given
|
11
|
+
# destination country, if lower detail is available.
|
12
|
+
#
|
13
|
+
# This API will include information branches if applicable. These do not have HS Codes and cannot be referenced,
|
14
|
+
# but can contain information relevant to deciding the correct HS Code.
|
15
|
+
#
|
16
|
+
# This API is intended to be useful to review the descriptive hierarchy of an HS Code, which can be particularly helpful
|
17
|
+
# when HS Codes can have multiple levels of generic descriptions.
|
18
|
+
# @param country [String] The name or code of the destination country.
|
19
|
+
# @param hsCode [String] The partial or full HS Code for which you would like to view all of the parents.
|
20
|
+
# @return [FetchResult]
|
21
|
+
def get_cross_border_code(country, hsCode)
|
22
|
+
path = "/api/v2/definitions/crossborder/#{country}/#{hsCode}/hierarchy"
|
23
|
+
get(path)
|
24
|
+
end
|
25
|
+
|
26
|
+
|
6
27
|
# Test whether a form supports online login verification
|
7
28
|
#
|
8
29
|
# This API is intended to be useful to identify whether the user should be allowed
|
@@ -21,6 +42,10 @@ module AvaTax
|
|
21
42
|
|
22
43
|
# Retrieve the full list of the AvaFile Forms available
|
23
44
|
#
|
45
|
+
# This API is deprecated.
|
46
|
+
#
|
47
|
+
# Please use the ListTaxForms API.
|
48
|
+
#
|
24
49
|
# Returns the full list of Avalara-supported AvaFile Forms
|
25
50
|
# This API is intended to be useful to identify all the different AvaFile Forms
|
26
51
|
# @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/) .
|
@@ -40,6 +65,9 @@ module AvaTax
|
|
40
65
|
#
|
41
66
|
# A certificate may have multiple attributes that control its behavior. You may apply or remove attributes to a
|
42
67
|
# certificate at any time.
|
68
|
+
#
|
69
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
70
|
+
# (as your account gets provisioned). Thank you for your patience.
|
43
71
|
# @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/) .
|
44
72
|
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
45
73
|
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
@@ -57,6 +85,9 @@ module AvaTax
|
|
57
85
|
#
|
58
86
|
# An exemption reason defines why a certificate allows a customer to be exempt
|
59
87
|
# for purposes of tax calculation.
|
88
|
+
#
|
89
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
90
|
+
# (as your account gets provisioned). Thank you for your patience.
|
60
91
|
# @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/) .
|
61
92
|
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
62
93
|
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
@@ -74,6 +105,9 @@ module AvaTax
|
|
74
105
|
#
|
75
106
|
# An exposure zone is a location where a certificate can be valid. Exposure zones may indicate a taxing
|
76
107
|
# authority or other legal entity to which a certificate may apply.
|
108
|
+
#
|
109
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
110
|
+
# (as your account gets provisioned). Thank you for your patience.
|
77
111
|
# @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/) .
|
78
112
|
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
79
113
|
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
@@ -154,6 +188,9 @@ module AvaTax
|
|
154
188
|
# The CoverLetter model represents a message sent along with an invitation to use CertExpress to
|
155
189
|
# upload certificates. An invitation allows customers to use CertExpress to upload their exemption
|
156
190
|
# certificates directly; this cover letter explains why the invitation was sent.
|
191
|
+
#
|
192
|
+
# You may experience up to a three minute delay on your very first call to the exemption related endpoints
|
193
|
+
# (as your account gets provisioned). Thank you for your patience.
|
157
194
|
# @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/) .
|
158
195
|
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
159
196
|
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
@@ -165,6 +202,40 @@ module AvaTax
|
|
165
202
|
end
|
166
203
|
|
167
204
|
|
205
|
+
# Lists the next level of HS Codes given a destination country and HS Code prefix.
|
206
|
+
#
|
207
|
+
# Retrieves a list of HS Codes that are the children of the prefix for the given destination country, if
|
208
|
+
# additional children are available.
|
209
|
+
#
|
210
|
+
# HS Code is interchangeable with "tariff code" and definitions are generally unique to a destination country.
|
211
|
+
# An HS Code describes an item and its eligibility/rate for tariffs. HS Codes are organized by
|
212
|
+
# Section/Chapter/Heading/Subheading/Classification.
|
213
|
+
#
|
214
|
+
# This API is intended to be useful to identify the correct HS Code to use for your item.
|
215
|
+
# @param country [String] The name or code of the destination country.
|
216
|
+
# @param hsCode [String] The Section or partial HS Code for which you would like to view the next level of HS Code detail, if more detail is available.
|
217
|
+
# @return [FetchResult]
|
218
|
+
def list_cross_border_codes(country, hsCode)
|
219
|
+
path = "/api/v2/definitions/crossborder/#{country}/#{hsCode}"
|
220
|
+
get(path)
|
221
|
+
end
|
222
|
+
|
223
|
+
|
224
|
+
# List top level HS Code Sections.
|
225
|
+
#
|
226
|
+
# Returns the full list of top level HS Code Sections. Sections are the broadest level of detail for
|
227
|
+
# classifying tariff codes and the items to which they apply. HS Codes are organized
|
228
|
+
# by Section/Chapter/Heading/Subheading/Classification.
|
229
|
+
#
|
230
|
+
# This API is intended to be useful to identify the top level Sections for
|
231
|
+
# further LandedCost HS Code lookups.
|
232
|
+
# @return [FetchResult]
|
233
|
+
def list_cross_border_sections()
|
234
|
+
path = "/api/v2/definitions/crossborder/sections"
|
235
|
+
get(path)
|
236
|
+
end
|
237
|
+
|
238
|
+
|
168
239
|
# Retrieve the full list of Avalara-supported entity use codes
|
169
240
|
#
|
170
241
|
# Returns the full list of Avalara-supported entity use codes.
|
@@ -568,6 +639,20 @@ module AvaTax
|
|
568
639
|
end
|
569
640
|
|
570
641
|
|
642
|
+
# Retrieve the full list of Avalara-supported postal codes.
|
643
|
+
#
|
644
|
+
# Retrieves the list of Avalara-supported postal codes.
|
645
|
+
# @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/) .
|
646
|
+
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
647
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
648
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
649
|
+
# @return [FetchResult]
|
650
|
+
def list_postal_codes(options={})
|
651
|
+
path = "/api/v2/definitions/postalcodes"
|
652
|
+
get(path, options)
|
653
|
+
end
|
654
|
+
|
655
|
+
|
571
656
|
# Retrieve the full list of rate types for each country
|
572
657
|
#
|
573
658
|
# Returns the full list of Avalara-supported rate type file types
|
@@ -746,6 +831,21 @@ module AvaTax
|
|
746
831
|
end
|
747
832
|
|
748
833
|
|
834
|
+
# Retrieve the full list of the Tax Forms available
|
835
|
+
#
|
836
|
+
# Returns the full list of Avalara-supported Tax Forms
|
837
|
+
# This API is intended to be useful to identify all the different Tax Forms
|
838
|
+
# @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/) .
|
839
|
+
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
840
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
841
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
842
|
+
# @return [FetchResult]
|
843
|
+
def list_tax_forms(options={})
|
844
|
+
path = "/api/v2/definitions/taxforms"
|
845
|
+
get(path, options)
|
846
|
+
end
|
847
|
+
|
848
|
+
|
749
849
|
# Retrieve the full list of tax sub types
|
750
850
|
#
|
751
851
|
# Returns the full list of Avalara-supported tax sub-types
|
@@ -775,6 +875,22 @@ module AvaTax
|
|
775
875
|
get(path, options)
|
776
876
|
end
|
777
877
|
|
878
|
+
|
879
|
+
# List all defined units of measurement
|
880
|
+
#
|
881
|
+
# List all units of measurement systems defined by Avalara.
|
882
|
+
#
|
883
|
+
# A unit of measurement system is a method of measuring a quantity, such as distance, mass, or others.
|
884
|
+
# @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/) .
|
885
|
+
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
886
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
887
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
888
|
+
# @return [FetchResult]
|
889
|
+
def list_unit_of_measurement(options={})
|
890
|
+
path = "/api/v2/definitions/unitofmeasurements"
|
891
|
+
get(path, options)
|
892
|
+
end
|
893
|
+
|
778
894
|
end
|
779
895
|
end
|
780
896
|
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
module AvaTax
|
2
|
+
class Client
|
3
|
+
module DistanceThresholds
|
4
|
+
|
5
|
+
|
6
|
+
# Create one or more DistanceThreshold objects
|
7
|
+
#
|
8
|
+
# Create one or more DistanceThreshold objects for this company.
|
9
|
+
#
|
10
|
+
# A company-distance-threshold model indicates the distance between a company
|
11
|
+
# and the taxing borders of various countries. Distance thresholds are necessary
|
12
|
+
# to correctly calculate some value-added taxes.
|
13
|
+
# @param companyId [Integer] The unique ID number of the company that owns this DistanceThreshold
|
14
|
+
# @param model [CompanyDistanceThresholdModel[]] The DistanceThreshold object or objects you wish to create.
|
15
|
+
# @return [CompanyDistanceThresholdModel[]]
|
16
|
+
def create_distance_threshold(companyId, model)
|
17
|
+
path = "/api/v2/companies/#{companyId}/distancethresholds"
|
18
|
+
post(path, model)
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
# Delete a single DistanceThreshold object
|
23
|
+
#
|
24
|
+
# Marks the DistanceThreshold object identified by this URL as deleted.
|
25
|
+
#
|
26
|
+
# A company-distance-threshold model indicates the distance between a company
|
27
|
+
# and the taxing borders of various countries. Distance thresholds are necessary
|
28
|
+
# to correctly calculate some value-added taxes.
|
29
|
+
# @param companyId [Integer] The unique ID number of the company that owns this DistanceThreshold
|
30
|
+
# @param id [Integer] The unique ID number of the DistanceThreshold object you wish to delete.
|
31
|
+
# @return [ErrorDetail[]]
|
32
|
+
def delete_distance_threshold(companyId, id)
|
33
|
+
path = "/api/v2/companies/#{companyId}/distancethresholds/#{id}"
|
34
|
+
delete(path)
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
# Retrieve a single DistanceThreshold
|
39
|
+
#
|
40
|
+
# Retrieves a single DistanceThreshold object defined by this URL.
|
41
|
+
#
|
42
|
+
# A company-distance-threshold model indicates the distance between a company
|
43
|
+
# and the taxing borders of various countries. Distance thresholds are necessary
|
44
|
+
# to correctly calculate some value-added taxes.
|
45
|
+
# @param companyId [Integer] The ID of the company that owns this DistanceThreshold object
|
46
|
+
# @param id [Integer] The unique ID number referring to this DistanceThreshold object
|
47
|
+
# @return [Object]
|
48
|
+
def get_distance_threshold(companyId, id)
|
49
|
+
path = "/api/v2/companies/#{companyId}/distancethresholds/#{id}"
|
50
|
+
get(path)
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
# Retrieve all DistanceThresholds for this company.
|
55
|
+
#
|
56
|
+
# Lists all DistanceThreshold objects that belong to this company.
|
57
|
+
#
|
58
|
+
# A company-distance-threshold model indicates the distance between a company
|
59
|
+
# and the taxing borders of various countries. Distance thresholds are necessary
|
60
|
+
# to correctly calculate some value-added taxes.
|
61
|
+
# @param companyId [Integer] The ID of the company whose DistanceThreshold objects you wish to list.
|
62
|
+
# @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/) .
|
63
|
+
# @param include [String] A comma separated list of additional data to retrieve.
|
64
|
+
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
65
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
66
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
67
|
+
# @return [FetchResult]
|
68
|
+
def list_distance_thresholds(companyId, options={})
|
69
|
+
path = "/api/v2/companies/#{companyId}/distancethresholds"
|
70
|
+
get(path, options)
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
# Retrieve all DistanceThreshold objects
|
75
|
+
#
|
76
|
+
# Lists all DistanceThreshold objects that belong to this company.
|
77
|
+
#
|
78
|
+
# A company-distance-threshold model indicates the distance between a company
|
79
|
+
# and the taxing borders of various countries. Distance thresholds are necessary
|
80
|
+
# to correctly calculate some value-added taxes.
|
81
|
+
#
|
82
|
+
# 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/) .
|
83
|
+
# Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
|
84
|
+
# @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/) .
|
85
|
+
# @param include [String] A comma separated list of additional data to retrieve.
|
86
|
+
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
87
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
|
88
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
89
|
+
# @return [FetchResult]
|
90
|
+
def query_distance_thresholds(options={})
|
91
|
+
path = "/api/v2/distancethresholds"
|
92
|
+
get(path, options)
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
# Update a DistanceThreshold object
|
97
|
+
#
|
98
|
+
# Replace the existing DistanceThreshold object at this URL with an updated object.
|
99
|
+
#
|
100
|
+
# A company-distance-threshold model indicates the distance between a company
|
101
|
+
# and the taxing borders of various countries. Distance thresholds are necessary
|
102
|
+
# to correctly calculate some value-added taxes.
|
103
|
+
#
|
104
|
+
# All data from the existing object will be replaced with data in the object you PUT.
|
105
|
+
# To set a field's value to null, you may either set its value to null or omit that field from the object you post.
|
106
|
+
# @param companyId [Integer] The unique ID number of the company that owns this DistanceThreshold object.
|
107
|
+
# @param id [Integer] The unique ID number of the DistanceThreshold object to replace.
|
108
|
+
# @param model [Object] The new DistanceThreshold object to store.
|
109
|
+
# @return [Object]
|
110
|
+
def update_distance_threshold(companyId, id, model)
|
111
|
+
path = "/api/v2/companies/#{companyId}/distancethresholds/#{id}"
|
112
|
+
put(path, model)
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
data/lib/avatax/client/items.rb
CHANGED
@@ -6,6 +6,12 @@ module AvaTax
|
|
6
6
|
# Create a new item
|
7
7
|
#
|
8
8
|
# Creates one or more new item objects attached to this company.
|
9
|
+
#
|
10
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
11
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
12
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
13
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
14
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
9
15
|
# @param companyId [Integer] The ID of the company that owns this item.
|
10
16
|
# @param model [ItemModel[]] The item you wish to create.
|
11
17
|
# @return [ItemModel[]]
|
@@ -18,6 +24,12 @@ module AvaTax
|
|
18
24
|
# Delete a single item
|
19
25
|
#
|
20
26
|
# Marks the item object at this URL as deleted.
|
27
|
+
#
|
28
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
29
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
30
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
31
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
32
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
21
33
|
# @param companyId [Integer] The ID of the company that owns this item.
|
22
34
|
# @param id [Integer] The ID of the item you wish to delete.
|
23
35
|
# @return [ErrorDetail[]]
|
@@ -30,7 +42,12 @@ module AvaTax
|
|
30
42
|
# Retrieve a single item
|
31
43
|
#
|
32
44
|
# Get the item object identified by this URL.
|
33
|
-
#
|
45
|
+
#
|
46
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
47
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
48
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
49
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
50
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
34
51
|
# @param companyId [Integer] The ID of the company that owns this item object
|
35
52
|
# @param id [Integer] The primary key of this item
|
36
53
|
# @return [Object]
|
@@ -44,10 +61,18 @@ module AvaTax
|
|
44
61
|
#
|
45
62
|
# List all items defined for the current company.
|
46
63
|
#
|
47
|
-
#
|
64
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
65
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
66
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
67
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
68
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
48
69
|
#
|
49
70
|
# 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/) .
|
50
71
|
# Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
|
72
|
+
#
|
73
|
+
# 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:
|
74
|
+
#
|
75
|
+
# * Attributes
|
51
76
|
# @param companyId [Integer] The ID of the company that defined these items
|
52
77
|
# @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/) .
|
53
78
|
# @param include [String] A comma separated list of additional data to retrieve.
|
@@ -64,10 +89,19 @@ module AvaTax
|
|
64
89
|
# Retrieve all items
|
65
90
|
#
|
66
91
|
# Get multiple item objects across all companies.
|
67
|
-
#
|
92
|
+
#
|
93
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
94
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
95
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
96
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
97
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
68
98
|
#
|
69
99
|
# 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/) .
|
70
100
|
# Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
|
101
|
+
#
|
102
|
+
# 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:
|
103
|
+
#
|
104
|
+
# * Attributes
|
71
105
|
# @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/) .
|
72
106
|
# @param include [String] A comma separated list of additional data to retrieve.
|
73
107
|
# @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
|
@@ -82,7 +116,14 @@ module AvaTax
|
|
82
116
|
|
83
117
|
# Update a single item
|
84
118
|
#
|
85
|
-
# Replace the existing
|
119
|
+
# Replace the existing `Item` object at this URL with an updated object.
|
120
|
+
#
|
121
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
122
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
123
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
124
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
125
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
126
|
+
#
|
86
127
|
# All data from the existing object will be replaced with data in the object you PUT.
|
87
128
|
# To set a field's value to null, you may either set its value to null or omit that field from the object you post.
|
88
129
|
# @param companyId [Integer] The ID of the company that this item belongs to.
|
@@ -136,32 +136,41 @@ module AvaTax
|
|
136
136
|
#
|
137
137
|
# After this API call succeeds, the transaction will have a new URL matching its new `code`.
|
138
138
|
#
|
139
|
+
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
140
|
+
#
|
139
141
|
# A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
|
140
142
|
# sales, purchases, inventory transfer, and returns (also called refunds).
|
141
143
|
# @param companyCode [String] The company code of the company that recorded this transaction
|
142
144
|
# @param transactionCode [String] The transaction code to change
|
145
|
+
# @param documentType [String] (Optional): The document type of the transaction to change document code. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
143
146
|
# @param model [Object] The code change request you wish to execute
|
144
147
|
# @return [Object]
|
145
|
-
def change_transaction_code(companyCode, transactionCode, model)
|
148
|
+
def change_transaction_code(companyCode, transactionCode, model, options={})
|
146
149
|
path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/changecode"
|
147
|
-
post(path, model)
|
150
|
+
post(path, model, options)
|
148
151
|
end
|
149
152
|
|
150
153
|
|
151
154
|
# Commit a transaction for reporting
|
152
155
|
#
|
153
|
-
# Marks a transaction by changing its status to
|
156
|
+
# Marks a transaction by changing its status to `Committed`.
|
157
|
+
#
|
154
158
|
# Transactions that are committed are available to be reported to a tax authority by Avalara Managed Returns.
|
159
|
+
#
|
155
160
|
# A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
|
156
161
|
# sales, purchases, inventory transfer, and returns (also called refunds).
|
162
|
+
#
|
163
|
+
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
164
|
+
#
|
157
165
|
# Any changes made to a committed transaction will generate a transaction history.
|
158
166
|
# @param companyCode [String] The company code of the company that recorded this transaction
|
159
167
|
# @param transactionCode [String] The transaction code to commit
|
168
|
+
# @param documentType [String] (Optional): The document type of the transaction to commit. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
160
169
|
# @param model [Object] The commit request you wish to execute
|
161
170
|
# @return [Object]
|
162
|
-
def commit_transaction(companyCode, transactionCode, model)
|
171
|
+
def commit_transaction(companyCode, transactionCode, model, options={})
|
163
172
|
path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/commit"
|
164
|
-
post(path, model)
|
173
|
+
post(path, model, options)
|
165
174
|
end
|
166
175
|
|
167
176
|
|
@@ -400,15 +409,18 @@ module AvaTax
|
|
400
409
|
#
|
401
410
|
# This API is only available to customers in Sandbox with AvaTaxPro subscription. On production servers, this API is available by invitation only.
|
402
411
|
#
|
412
|
+
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
413
|
+
#
|
403
414
|
# A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
|
404
415
|
# sales, purchases, inventory transfer, and returns (also called refunds).
|
405
416
|
# @param companyCode [String] The company code of the company that recorded this transaction
|
406
417
|
# @param transactionCode [String] The transaction code to lock
|
418
|
+
# @param documentType [String] (Optional): The document type of the transaction to lock. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
407
419
|
# @param model [Object] The lock request you wish to execute
|
408
420
|
# @return [Object]
|
409
|
-
def lock_transaction(companyCode, transactionCode, model)
|
421
|
+
def lock_transaction(companyCode, transactionCode, model, options={})
|
410
422
|
path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/lock"
|
411
|
-
post(path, model)
|
423
|
+
post(path, model, options)
|
412
424
|
end
|
413
425
|
|
414
426
|
|
@@ -448,6 +460,7 @@ module AvaTax
|
|
448
460
|
# @param companyCode [String] The code of the company that made the original sale
|
449
461
|
# @param transactionCode [String] The transaction code of the original sale
|
450
462
|
# @param include [String] Specifies objects to include in the response after transaction is created
|
463
|
+
# @param documentType [String] (Optional): The document type of the transaction to refund. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
451
464
|
# @param model [Object] Information about the refund to create
|
452
465
|
# @return [Object]
|
453
466
|
def refund_transaction(companyCode, transactionCode, model, options={})
|
@@ -458,47 +471,68 @@ module AvaTax
|
|
458
471
|
|
459
472
|
# Perform multiple actions on a transaction
|
460
473
|
#
|
461
|
-
# Performs
|
474
|
+
# Performs one or more actions against the current transaction uniquely identified by this URL.
|
475
|
+
#
|
476
|
+
# The `SettleTransaction` API call can perform the work of `ChangeCode`, `VerifyTransaction`, and `CommitTransaction`.
|
477
|
+
#
|
478
|
+
# A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
|
479
|
+
# sales, purchases, inventory transfer, and returns (also called refunds).
|
480
|
+
#
|
481
|
+
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
482
|
+
#
|
483
|
+
# This API is available for users who want to execute more than one action at a time.
|
462
484
|
# @param companyCode [String] The company code of the company that recorded this transaction
|
463
485
|
# @param transactionCode [String] The transaction code to settle
|
464
|
-
# @param
|
486
|
+
# @param documentType [String] (Optional): The document type of the transaction to settle. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
487
|
+
# @param model [Object] The data from an external system to reconcile against AvaTax
|
465
488
|
# @return [Object]
|
466
|
-
def settle_transaction(companyCode, transactionCode, model)
|
489
|
+
def settle_transaction(companyCode, transactionCode, model, options={})
|
467
490
|
path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/settle"
|
468
|
-
post(path, model)
|
491
|
+
post(path, model, options)
|
469
492
|
end
|
470
493
|
|
471
494
|
|
472
495
|
# Verify a transaction
|
473
496
|
#
|
474
497
|
# Verifies that the transaction uniquely identified by this URL matches certain expected values.
|
498
|
+
#
|
475
499
|
# If the transaction does not match these expected values, this API will return an error code indicating which value did not match.
|
500
|
+
#
|
501
|
+
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
502
|
+
#
|
476
503
|
# A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
|
477
504
|
# sales, purchases, inventory transfer, and returns (also called refunds).
|
478
505
|
# @param companyCode [String] The company code of the company that recorded this transaction
|
479
506
|
# @param transactionCode [String] The transaction code to settle
|
480
|
-
# @param
|
507
|
+
# @param documentType [String] (Optional): The document type of the transaction to verify. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
508
|
+
# @param model [Object] The data from an external system to reconcile against AvaTax
|
481
509
|
# @return [Object]
|
482
|
-
def verify_transaction(companyCode, transactionCode, model)
|
510
|
+
def verify_transaction(companyCode, transactionCode, model, options={})
|
483
511
|
path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/verify"
|
484
|
-
post(path, model)
|
512
|
+
post(path, model, options)
|
485
513
|
end
|
486
514
|
|
487
515
|
|
488
516
|
# Void a transaction
|
489
517
|
#
|
490
518
|
# Voids the current transaction uniquely identified by this URL.
|
519
|
+
#
|
491
520
|
# A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
|
492
521
|
# sales, purchases, inventory transfer, and returns (also called refunds).
|
493
|
-
#
|
522
|
+
#
|
523
|
+
# When you void a transaction, that transaction's status is recorded as `DocVoided`.
|
524
|
+
#
|
525
|
+
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
526
|
+
#
|
494
527
|
# Transactions that have been previously reported to a tax authority by Avalara Managed Returns are no longer available to be voided.
|
495
528
|
# @param companyCode [String] The company code of the company that recorded this transaction
|
496
529
|
# @param transactionCode [String] The transaction code to void
|
530
|
+
# @param documentType [String] (Optional): The document type of the transaction to void. If not provided, the default is SalesInvoice. (See DocumentType::* for a list of allowable values)
|
497
531
|
# @param model [Object] The void request you wish to execute
|
498
532
|
# @return [Object]
|
499
|
-
def void_transaction(companyCode, transactionCode, model)
|
533
|
+
def void_transaction(companyCode, transactionCode, model, options={})
|
500
534
|
path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/void"
|
501
|
-
post(path, model)
|
535
|
+
post(path, model, options)
|
502
536
|
end
|
503
537
|
|
504
538
|
end
|
data/lib/avatax/connection.rb
CHANGED
@@ -19,9 +19,11 @@ module AvaTax
|
|
19
19
|
}.merge(connection_options)
|
20
20
|
|
21
21
|
Faraday.new(options) do |faraday|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
if Gem::Version.new(RUBY_VERSION) > Gem::Version.new('2.2.2')
|
23
|
+
Oj.default_options = {
|
24
|
+
bigdecimal_load: :bigdecimal
|
25
|
+
}
|
26
|
+
end
|
25
27
|
|
26
28
|
faraday.response :oj, content_type: /\bjson$/
|
27
29
|
faraday.basic_auth(username, password)
|
data/lib/avatax/version.rb
CHANGED
data/spec/avatax_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../spec_helper', __FILE__)
|
2
|
-
|
2
|
+
if File.exist?(File.expand_path('../credentials.yaml', __FILE__))
|
3
3
|
credentials = YAML.load_file(File.expand_path('../credentials.yaml', __FILE__))
|
4
|
-
|
4
|
+
else
|
5
5
|
credentials = {
|
6
6
|
"endpoint" => 'https://sandbox-rest.avatax.com',
|
7
7
|
"username" => ENV['SANDBOX_USERNAME'],
|
data/spec/spec_helper.rb
CHANGED
@@ -4,12 +4,12 @@ require 'yaml'
|
|
4
4
|
|
5
5
|
|
6
6
|
AvaTax.configure do |config|
|
7
|
-
|
7
|
+
if File.exist?(File.expand_path('../credentials.yaml', __FILE__))
|
8
8
|
credentials = YAML.load_file(File.expand_path('../credentials.yaml', __FILE__))
|
9
9
|
config.endpoint = credentials['endpoint']
|
10
10
|
config.username = credentials['username']
|
11
11
|
config.password = credentials['password']
|
12
|
-
|
12
|
+
else
|
13
13
|
config.endpoint = 'https://sandbox-rest.avatax.com'
|
14
14
|
config.username = ENV['SANDBOX_USERNAME']
|
15
15
|
config.password = ENV['SANDBOX_PASSWORD']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avatax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 18.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcus Vorwaller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -152,6 +152,7 @@ files:
|
|
152
152
|
- lib/avatax/client/contacts.rb
|
153
153
|
- lib/avatax/client/customers.rb
|
154
154
|
- lib/avatax/client/definitions.rb
|
155
|
+
- lib/avatax/client/distancethresholds.rb
|
155
156
|
- lib/avatax/client/filingcalendars.rb
|
156
157
|
- lib/avatax/client/filings.rb
|
157
158
|
- lib/avatax/client/free.rb
|
@@ -217,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
217
218
|
version: 2.0.0
|
218
219
|
requirements: []
|
219
220
|
rubyforge_project:
|
220
|
-
rubygems_version: 2.
|
221
|
+
rubygems_version: 2.7.3
|
221
222
|
signing_key:
|
222
223
|
specification_version: 4
|
223
224
|
summary: Ruby wrapper for the AvaTax API
|