avatax 19.2.0 → 19.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|