avatax 19.2.0 → 19.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avatax/client/companies.rb +1 -1
- data/lib/avatax/client/compliance.rb +125 -0
- data/lib/avatax/client/ecms.rb +79 -0
- data/lib/avatax/client/filingcalendars.rb +37 -1
- data/lib/avatax/client/filings.rb +12 -0
- data/lib/avatax/client/items.rb +23 -0
- data/lib/avatax/client/nexus.rb +19 -0
- data/lib/avatax/client/notices.rb +17 -0
- data/lib/avatax/client/taxcontent.rb +15 -0
- data/lib/avatax/client/taxprofiles.rb +39 -0
- data/lib/avatax/client/users.rb +14 -0
- data/lib/avatax/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7036991d1debf93ee190b03da3a5ee97afb3bcdf548372583113ac0f1551f66
|
4
|
+
data.tar.gz: bea61c09d3465ad86757142b1f19c9dbd41fd3f1b14a8012aaaba657b658e329
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4868ae4a7f19e5c970c92bfe722c62c3c1c22b83b74ff763e0c95c2635820d4e315c12a1c1e922ff372a77d6a99847e917723dbec7601c0c2511e11c53e214b0
|
7
|
+
data.tar.gz: b04bb518ce96e97469d28b2a10d08158f3c9efa919031124b0829a3a73be4c98255e2b7afcfc60137d439cc9a386797dfaae5846b18055e9b30427f4131e0ca8
|
@@ -138,7 +138,7 @@ module AvaTax
|
|
138
138
|
# * TaxRules
|
139
139
|
# * UPC
|
140
140
|
# @param id [Integer] The ID of the company to retrieve.
|
141
|
-
# @param include [String] OPTIONAL: A comma separated list of special fetch options.
|
141
|
+
# @param include [String] OPTIONAL: A comma separated list of special fetch options. * Child objects - Specify one or more of the following to retrieve objects related to each company: "Contacts", "FilingCalendars", "Items", "Locations", "Nexus", "TaxCodes", or "TaxRules". * Deleted objects - Specify "FetchDeleted" to retrieve information about previously deleted objects.
|
142
142
|
# @return [Object]
|
143
143
|
def get_company(id, options={})
|
144
144
|
path = "/api/v2/companies/#{id}"
|
@@ -0,0 +1,125 @@
|
|
1
|
+
module AvaTax
|
2
|
+
class Client
|
3
|
+
module Compliance
|
4
|
+
|
5
|
+
|
6
|
+
# Retrieve a single tax rate.
|
7
|
+
#
|
8
|
+
# This API is available by invitation only.
|
9
|
+
# @param id [Integer] The ID of the tax rate to retrieve.
|
10
|
+
# @return [Object]
|
11
|
+
def get_tax_rate(id)
|
12
|
+
path = "/api/v2/compliance/taxrates/#{id}"
|
13
|
+
get(path)
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
# Retrieve a single tax region.
|
18
|
+
#
|
19
|
+
# This API is available by invitation only.
|
20
|
+
# @param id [Integer] The ID of the tax region to retrieve.
|
21
|
+
# @return [Object]
|
22
|
+
def get_tax_region(id)
|
23
|
+
path = "/api/v2/compliance/taxregions/#{id}"
|
24
|
+
get(path)
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
# Retrieve jurisdictions and rates in a combined format.
|
29
|
+
#
|
30
|
+
# This API is available by invitation only.
|
31
|
+
# @param effectiveDate [DateTime] Used to limit the jurisdictions returned.
|
32
|
+
# @param endDate [DateTime] Used to limit the jurisdictions returned.
|
33
|
+
# @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/).
|
34
|
+
# @param include [String] A comma separated list of objects to fetch underneath this jurisdiction.
|
35
|
+
# @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.
|
36
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
37
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
38
|
+
# @return [Object]
|
39
|
+
def query_jurisdiction_rates(options={})
|
40
|
+
path = "/api/v2/compliance/jurisdictionrates"
|
41
|
+
get(path, options)
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
# Retrieve all unique jurisdictions.
|
46
|
+
#
|
47
|
+
# This API is available by invitation only.
|
48
|
+
#
|
49
|
+
# 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:
|
50
|
+
#
|
51
|
+
# * TaxRates
|
52
|
+
# @param country [String] The two-character ISO-3166 code for the country.
|
53
|
+
# @param region [String] The two or three character region code for the region.
|
54
|
+
# @param effectiveDate [DateTime] Used to limit the jurisdictions or rates returned.
|
55
|
+
# @param endDate [DateTime] Used to limit the jurisdictions or rates returned.
|
56
|
+
# @param aggregationOption [String] Aggregation method used if rates are returned using the '$include' parameter. (See StackAggregationOption::* for a list of allowable values)
|
57
|
+
# @param include [String] A comma separated list of objects to fetch underneath this tax rate.
|
58
|
+
# @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.
|
59
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
60
|
+
# @return [Object]
|
61
|
+
def query_jurisdictions(country, region, options={})
|
62
|
+
path = "/api/v2/compliance/jurisdictions/#{country}/#{region}"
|
63
|
+
get(path, options)
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
# Retrieve all tax rates.
|
68
|
+
#
|
69
|
+
# This API is available by invitation only.
|
70
|
+
# @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/).
|
71
|
+
# @param include [String] A comma separated list of objects to fetch underneath this tax rate.
|
72
|
+
# @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.
|
73
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
74
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
75
|
+
# @return [Object]
|
76
|
+
def query_tax_rates(options={})
|
77
|
+
path = "/api/v2/compliance/taxrates"
|
78
|
+
get(path, options)
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
# Retrieve all tax region jurisdictions.
|
83
|
+
#
|
84
|
+
# This API is available by invitation only.
|
85
|
+
# @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/).
|
86
|
+
# @param include [String] A comma separated list of objects to fetch underneath this tax region jurisdiction.
|
87
|
+
# @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.
|
88
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
89
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
90
|
+
# @return [Object]
|
91
|
+
def query_tax_region_jurisdictions(options={})
|
92
|
+
path = "/api/v2/compliance/taxregionjurisdictions"
|
93
|
+
get(path, options)
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
# Retrieve all tax regions.
|
98
|
+
#
|
99
|
+
# This API is available by invitation only.
|
100
|
+
# @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/).
|
101
|
+
# @param include [String] A comma separated list of objects to fetch underneath this tax region.
|
102
|
+
# @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.
|
103
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
104
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
105
|
+
# @return [Object]
|
106
|
+
def query_tax_regions(options={})
|
107
|
+
path = "/api/v2/compliance/taxregions"
|
108
|
+
get(path, options)
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
# API to modify the reference fields at the document and the line level.
|
113
|
+
#
|
114
|
+
#
|
115
|
+
# @param companyId [Integer]
|
116
|
+
# @param model [TransactionReferenceFieldModel[]]
|
117
|
+
# @return [FetchResult]
|
118
|
+
def tag_transaction(companyId, model)
|
119
|
+
path = "/api/v2/companies/#{companyId}/transactions/tag"
|
120
|
+
put(path, model)
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module AvaTax
|
2
|
+
class Client
|
3
|
+
module ECMS
|
4
|
+
|
5
|
+
|
6
|
+
# Bridge API for integration of validated certificates
|
7
|
+
#
|
8
|
+
# This API is for use by invitation only.
|
9
|
+
# @param model [EcmsModel[]] Either a single exempt certificate or an array of certificates to create
|
10
|
+
# @return [EcmsModel[]]
|
11
|
+
def cert_capture_bridge(model)
|
12
|
+
path = "/api/v2/certcapturebridge"
|
13
|
+
post(path, model)
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
# Get an ECMS identified by company id and ECMS id
|
18
|
+
#
|
19
|
+
# Get an ECMS identified by company id and ECMS id.
|
20
|
+
# An ECMS data represents a documentation based on which companies can claim tax exemption
|
21
|
+
# You may attach nested data objects such as exempt cert detail, and those objects will be created with certificate.
|
22
|
+
# 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:
|
23
|
+
#
|
24
|
+
# * Details
|
25
|
+
# @param companyId [Integer] company to retrieve exempt certificate for
|
26
|
+
# @param ecmsId [Integer] exempt certificate Id
|
27
|
+
# @param include [String]
|
28
|
+
# @return [Object]
|
29
|
+
def get_e_c_m_s_by_id(companyId, ecmsId, options={})
|
30
|
+
path = "/api/v2/companies/#{companyId}/ecms/#{ecmsId}"
|
31
|
+
get(path, options)
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
# Get list of ECMS data for this company
|
36
|
+
#
|
37
|
+
# Get list of ECMS data for this company
|
38
|
+
# An ECMS data represents a documentation based on which companies can claim tax exemption
|
39
|
+
# You may attach nested data objects such as ECMS detail, and those objects will be created with certificate.
|
40
|
+
# 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:
|
41
|
+
#
|
42
|
+
# * Details
|
43
|
+
# @param companyId [Integer] which company to retrieve certificates from
|
44
|
+
# @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/).
|
45
|
+
# @param include [String]
|
46
|
+
# @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.
|
47
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
48
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
49
|
+
# @return [EcmsModel[]]
|
50
|
+
def list_e_c_m_s_by_company(companyId, options={})
|
51
|
+
path = "/api/v2/companies/#{companyId}/ecms"
|
52
|
+
get(path, options)
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
# Get all exempt certificates
|
57
|
+
#
|
58
|
+
# Get all ECMS currently available in database.
|
59
|
+
# An ECMS data represents a documentation based on which companies can claim tax exemption
|
60
|
+
# You may attach nested data objects such as ECMS detail, and those objects will be created with certificate.
|
61
|
+
# 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/) .
|
62
|
+
# Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
|
63
|
+
# 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:
|
64
|
+
#
|
65
|
+
# * Details
|
66
|
+
# @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/).
|
67
|
+
# @param include [String]
|
68
|
+
# @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.
|
69
|
+
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
70
|
+
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
71
|
+
# @return [EcmsModel[]]
|
72
|
+
def query_e_c_m_s(options={})
|
73
|
+
path = "/api/v2/ecms"
|
74
|
+
get(path, options)
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -218,6 +218,8 @@ module AvaTax
|
|
218
218
|
# Retrieve all filing calendars
|
219
219
|
#
|
220
220
|
# This API is available by invitation only.
|
221
|
+
#
|
222
|
+
# This API is deprecated - please use POST `/api/v2/filingrequests/query` API.
|
221
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/).<br />*Not filterable:* formCountry, formRegion, taxFormCode, taxAuthorityId, taxAuthorityName, taxAuthorityType, settings
|
222
224
|
# @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.
|
223
225
|
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
@@ -231,9 +233,28 @@ module AvaTax
|
|
231
233
|
end
|
232
234
|
|
233
235
|
|
236
|
+
# Retrieve all filing calendars
|
237
|
+
#
|
238
|
+
# This API is available by invitation only.
|
239
|
+
#
|
240
|
+
# This API is intended to replace the GET `/api/v2/filingcalendars` API. The fetch request object is posted on the body of the request instead of the URI, so it's not limited by a set number of characters.
|
241
|
+
# The documentation of the GET API shows how filtering, sorting and pagination works.
|
242
|
+
# @param returnCountry [String] If specified, fetches only filing calendars that apply to tax filings in this specific country. Uses ISO 3166 country codes.
|
243
|
+
# @param returnRegion [String] If specified, fetches only filing calendars that apply to tax filings in this specific region. Uses ISO 3166 region codes.
|
244
|
+
# @param model [Object] Query object to filter, sort and paginate the filing calendars.
|
245
|
+
# @return [FetchResult]
|
246
|
+
def query_filing_calendars_post(model, options={})
|
247
|
+
path = "/api/v2/filingcalendars/query"
|
248
|
+
post(path, model, options)
|
249
|
+
end
|
250
|
+
|
251
|
+
|
234
252
|
# Retrieve all filing requests
|
235
253
|
#
|
236
254
|
# This API is available by invitation only.
|
255
|
+
#
|
256
|
+
# This API is deprecated - please use POST `/api/v2/filingrequests/query` API.
|
257
|
+
#
|
237
258
|
# A "filing request" represents a request to change an existing filing calendar. Filing requests
|
238
259
|
# are reviewed and validated by Avalara Compliance before being implemented.
|
239
260
|
#
|
@@ -251,6 +272,21 @@ module AvaTax
|
|
251
272
|
end
|
252
273
|
|
253
274
|
|
275
|
+
# Retrieve all filing requests
|
276
|
+
#
|
277
|
+
# This API is available by invitation only.
|
278
|
+
#
|
279
|
+
# This API is intended to replace the GET `/api/v2/filingrequests` API. The fetch request object is posted on the body of the request instead of the URI, so it's not limited by a set number of characters.
|
280
|
+
# The documentation of the GET API shows how filtering, sorting and pagination works.
|
281
|
+
# @param filingCalendarId [Integer] Specific filing calendar id for the request
|
282
|
+
# @param model [Object] Query object to filter, sort and paginate the filing calendars.
|
283
|
+
# @return [FetchResult]
|
284
|
+
def query_filing_requests_post(model, options={})
|
285
|
+
path = "/api/v2/filingrequests/query"
|
286
|
+
post(path, model, options)
|
287
|
+
end
|
288
|
+
|
289
|
+
|
254
290
|
# Create a new filing request to edit a filing calendar
|
255
291
|
#
|
256
292
|
# This API is available by invitation only.
|
@@ -273,7 +309,7 @@ module AvaTax
|
|
273
309
|
# Edit existing Filing Calendar
|
274
310
|
#
|
275
311
|
# This API is available by invitation only.
|
276
|
-
# @param companyId [Integer] The unique ID of the company that owns the filing
|
312
|
+
# @param companyId [Integer] The unique ID of the company that owns the filing calendar object
|
277
313
|
# @param id [Integer] The unique ID of the filing calendar object
|
278
314
|
# @param model [Object] The filing calendar model you are wishing to update with.
|
279
315
|
# @return [Object]
|
@@ -206,6 +206,18 @@ module AvaTax
|
|
206
206
|
end
|
207
207
|
|
208
208
|
|
209
|
+
# Retrieve a list of filings for the specified accrual return.
|
210
|
+
#
|
211
|
+
#
|
212
|
+
# @param companyId [Integer] The ID of the company that owns these batches
|
213
|
+
# @param filingReturnId [Integer] The ID of the accrual return
|
214
|
+
# @return [FetchResult]
|
215
|
+
def get_accrual_fillings(companyId, filingReturnId)
|
216
|
+
path = "/api/v2/companies/#{companyId}/filings/accrual/#{filingReturnId}"
|
217
|
+
get(path)
|
218
|
+
end
|
219
|
+
|
220
|
+
|
209
221
|
# Retrieve a single attachment for a filing
|
210
222
|
#
|
211
223
|
# This API is available by invitation only.
|
data/lib/avatax/client/items.rb
CHANGED
@@ -280,6 +280,29 @@ module AvaTax
|
|
280
280
|
end
|
281
281
|
|
282
282
|
|
283
|
+
# Sync items from a product catalog
|
284
|
+
#
|
285
|
+
# Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs
|
286
|
+
# with AvaTax.
|
287
|
+
#
|
288
|
+
# 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.
|
289
|
+
#
|
290
|
+
# This API is currently limited to 1000 items per call (the limit is subject to change).
|
291
|
+
#
|
292
|
+
# Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
|
293
|
+
# can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
|
294
|
+
# and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
|
295
|
+
# from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
|
296
|
+
# team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
|
297
|
+
# @param companyId [Integer] The ID of the company that owns this item.
|
298
|
+
# @param model [Object] The request object.
|
299
|
+
# @return [Object]
|
300
|
+
def sync_items(companyId, model)
|
301
|
+
path = "/api/v2/companies/#{companyId}/items/sync"
|
302
|
+
post(path, model)
|
303
|
+
end
|
304
|
+
|
305
|
+
|
283
306
|
# Update a single item
|
284
307
|
#
|
285
308
|
# Replace the existing `Item` object at this URL with an updated object.
|
data/lib/avatax/client/nexus.rb
CHANGED
@@ -137,6 +137,25 @@ module AvaTax
|
|
137
137
|
end
|
138
138
|
|
139
139
|
|
140
|
+
# Summarize nexus by NexusTaxTypeGroup for this company
|
141
|
+
#
|
142
|
+
# Provides a summary of nexus information useful for quickly displaying key information.
|
143
|
+
#
|
144
|
+
# The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
|
145
|
+
# taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
|
146
|
+
# accountant or lawyer prior to declaring nexus.
|
147
|
+
#
|
148
|
+
# This API produces only basic information about your company's nexus declarations. For example, it will show
|
149
|
+
# the number of nexus declarations of each tax type. To request more information about your company's nexus
|
150
|
+
# declarations, please use `QueryNexus` or `ListNexusByCompany`.
|
151
|
+
# @param companyId [Integer] The ID of the company that owns these nexus objects
|
152
|
+
# @return [Object]
|
153
|
+
def nexus_summary(companyId)
|
154
|
+
path = "/api/v2/companies/#{companyId}/nexus/summary"
|
155
|
+
get(path)
|
156
|
+
end
|
157
|
+
|
158
|
+
|
140
159
|
# Retrieve all nexus
|
141
160
|
#
|
142
161
|
# Get multiple nexus objects across all companies.
|
@@ -277,6 +277,9 @@ module AvaTax
|
|
277
277
|
# Retrieve all notices.
|
278
278
|
#
|
279
279
|
# This API is available by invitation only.
|
280
|
+
#
|
281
|
+
# This API is deprecated - please use POST `/api/v2/notices/query` API.
|
282
|
+
#
|
280
283
|
# Get multiple notice objects across all companies.
|
281
284
|
# A 'notice' represents a letter sent to a business by a tax authority regarding tax filing issues. Avalara
|
282
285
|
# Returns customers often receive support and assistance from the Compliance Notices team in handling notices received by taxing authorities.
|
@@ -295,6 +298,20 @@ module AvaTax
|
|
295
298
|
end
|
296
299
|
|
297
300
|
|
301
|
+
# Retrieve all notices.
|
302
|
+
#
|
303
|
+
# This API is available by invitation only.
|
304
|
+
#
|
305
|
+
# This API is intended to replace the GET `/api/v2/notices` API. The fetch request object is posted on the body of the request instead of the URI, so it's not limited by a set number of characters.
|
306
|
+
# The documentation of the GET API shows how filtering, sorting and pagination works.
|
307
|
+
# @param model [Object] Query object to filter, sort and paginate the filing calendars.
|
308
|
+
# @return [FetchResult]
|
309
|
+
def query_notices_post(model)
|
310
|
+
path = "/api/v2/notices/query"
|
311
|
+
post(path, model)
|
312
|
+
end
|
313
|
+
|
314
|
+
|
298
315
|
# Update a single notice finance detail.
|
299
316
|
#
|
300
317
|
# This API is available by invitation only.
|
@@ -74,6 +74,21 @@ module AvaTax
|
|
74
74
|
end
|
75
75
|
|
76
76
|
|
77
|
+
# Retrieve send-sale tax content for this company.
|
78
|
+
#
|
79
|
+
# This API is available by invitation only.
|
80
|
+
# @param date [DateTime] The date for which we are fetching tax content.
|
81
|
+
# @param taxCode [String] The tax code for which we are fetching tax content.
|
82
|
+
# @param companyId [Integer] The unique ID number of the company which is fetching tax content.
|
83
|
+
# @param format [String] Requests a specific data format for this content file. (See SendSalesOutputFileFormat::* for a list of allowable values)
|
84
|
+
# @param type [String] Requests a specific encoding for this content file. (See SendSalesFileType::* for a list of allowable values)
|
85
|
+
# @return [Object]
|
86
|
+
def download_send_sales_rate_file(date, taxCode, companyId, options={})
|
87
|
+
path = "/api/v2/sendsalescontent/download/#{companyId}/#{taxCode}/#{date}"
|
88
|
+
get(path, options)
|
89
|
+
end
|
90
|
+
|
91
|
+
|
77
92
|
# Download a file listing tax rates by postal code
|
78
93
|
#
|
79
94
|
# Download a CSV file containing all five digit postal codes in the United States and their sales
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module AvaTax
|
2
|
+
class Client
|
3
|
+
module TaxProfiles
|
4
|
+
|
5
|
+
|
6
|
+
# Export the tax profile of this company to a backup file
|
7
|
+
#
|
8
|
+
# Exports the tax profile of a company to a file, containing all information that affects tax calculation for this company.
|
9
|
+
#
|
10
|
+
# A tax profile is a series of decisions and configuration choices that affect your company's tax calculation. These decisions
|
11
|
+
# include your nexus declarations, your item catalog, your custom tax rules, and so on.
|
12
|
+
#
|
13
|
+
# This API can be used to export a complete zip file containing your company's current tax profile, and you can then restore this
|
14
|
+
# profile to a different company or compare it over time to see if your profile has been changed.
|
15
|
+
# @param companyId [Integer] The unique ID number of the company whose profile you wish to retrieve.
|
16
|
+
# @return [Object]
|
17
|
+
def export_tax_profile(companyId)
|
18
|
+
path = "/api/v2/companies/#{companyId}/taxprofile"
|
19
|
+
get(path)
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
# Import a tax profile.
|
24
|
+
#
|
25
|
+
# Imports a tax profile to a new company, along with the option to import account settings.
|
26
|
+
# @param accountId [Integer] The account id of the account to which the tax profile will be imported.
|
27
|
+
# @param newCompanyCode [String] The companyCode to use for the imported company.
|
28
|
+
# @param replaceAccountSettings [Boolean] Replace the current account settings with the ones in the tax profile.
|
29
|
+
# @param bypassNexusValidation [Boolean] Enable invalid nexus to be imported.
|
30
|
+
# @param taxProfile [Object] The taxProfile
|
31
|
+
# @return [Object]
|
32
|
+
def import_tax_profile()
|
33
|
+
path = "/api/v2/taxprofile"
|
34
|
+
post(path)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/avatax/client/users.rb
CHANGED
@@ -97,6 +97,20 @@ module AvaTax
|
|
97
97
|
end
|
98
98
|
|
99
99
|
|
100
|
+
# Get information about a username.
|
101
|
+
#
|
102
|
+
# You may call this API prior to creating a user, to check if a particular username is available for use. Using this API, you can
|
103
|
+
# present a friendly experience prior to attempting to create a new user object.
|
104
|
+
#
|
105
|
+
# Please ensure that the query string is url encoded if you wish to check information for a user that contains url-sensitive characters.
|
106
|
+
# @param username [String] The username to search.
|
107
|
+
# @return [Object]
|
108
|
+
def get_username(options={})
|
109
|
+
path = "/api/v2/usernames"
|
110
|
+
get(path, options)
|
111
|
+
end
|
112
|
+
|
113
|
+
|
100
114
|
# Retrieve users for this account
|
101
115
|
#
|
102
116
|
# List all user objects attached to this account.
|
data/lib/avatax/version.rb
CHANGED
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: 19.
|
4
|
+
version: 19.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcus Vorwaller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -140,11 +140,13 @@ files:
|
|
140
140
|
- lib/avatax/client/certexpressinvites.rb
|
141
141
|
- lib/avatax/client/certificates.rb
|
142
142
|
- lib/avatax/client/companies.rb
|
143
|
+
- lib/avatax/client/compliance.rb
|
143
144
|
- lib/avatax/client/contacts.rb
|
144
145
|
- lib/avatax/client/customers.rb
|
145
146
|
- lib/avatax/client/datasources.rb
|
146
147
|
- lib/avatax/client/definitions.rb
|
147
148
|
- lib/avatax/client/distancethresholds.rb
|
149
|
+
- lib/avatax/client/ecms.rb
|
148
150
|
- lib/avatax/client/filingcalendars.rb
|
149
151
|
- lib/avatax/client/filings.rb
|
150
152
|
- lib/avatax/client/free.rb
|
@@ -164,6 +166,7 @@ files:
|
|
164
166
|
- lib/avatax/client/subscriptions.rb
|
165
167
|
- lib/avatax/client/taxcodes.rb
|
166
168
|
- lib/avatax/client/taxcontent.rb
|
169
|
+
- lib/avatax/client/taxprofiles.rb
|
167
170
|
- lib/avatax/client/taxrules.rb
|
168
171
|
- lib/avatax/client/transactions.rb
|
169
172
|
- lib/avatax/client/upcs.rb
|