avatax 19.7.0 → 19.8.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.
@@ -0,0 +1,151 @@
1
+ module AvaTax
2
+ class Client
3
+ module FirmClientLinkages
4
+
5
+
6
+ # Approves linkage to a firm for a client account
7
+ #
8
+ # This API enables the account admin of a client account to approve linkage request by a firm.
9
+ #
10
+ # ### Security Policies
11
+ #
12
+ # * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
13
+ # @param id [Integer]
14
+ # @return [Object]
15
+ def approve_firm_client_linkage(id)
16
+ path = "/api/v2/firmclientlinkages/#{id}/approve"
17
+ post(path)
18
+ end
19
+
20
+
21
+ # Request a new FirmClient account and create an approved linkage to it
22
+ #
23
+ # This API is for use by Firms only.
24
+ #
25
+ # Avalara allows firms to manage returns for clients without the clients needing to use AvaTax service.
26
+ # Firms can create accounts of FirmClient for customers they are managing using this API.
27
+ #
28
+ # Calling this API creates an account with the specified product subscriptions, but without a new user for account.
29
+ # Account is then linked to the Firm so they can managed their returns.
30
+ # You should call this API when a customer does not have an AvaTax account and is to be managed only by the firm.
31
+ #
32
+ # The created account will be created in `Active` status but there will be no user or license key associated with account.
33
+ #
34
+ # ### Security Policies
35
+ #
36
+ # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SystemAdmin.
37
+ # @param model [Object] Information about the account you wish to create.
38
+ # @return [Object]
39
+ def create_and_link_new_firm_client_account(model)
40
+ path = "/api/v2/firmclientlinkages/createandlinkclient"
41
+ post(path, model)
42
+ end
43
+
44
+
45
+ # Links a firm account with the client account
46
+ #
47
+ # This API enables the firm admins/firm users to request the linkage of a firm account and a client account.
48
+ #
49
+ # ### Security Policies
50
+ #
51
+ # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
52
+ # @param model [Object] FirmClientLinkageInputModel
53
+ # @return [Object]
54
+ def create_firm_client_linkage(model)
55
+ path = "/api/v2/firmclientlinkages"
56
+ post(path, model)
57
+ end
58
+
59
+
60
+ # Delete a linkage
61
+ #
62
+ # This API marks a linkage between a firm and client as deleted.
63
+ #
64
+ # ### Security Policies
65
+ #
66
+ # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
67
+ # @param id [Integer]
68
+ # @return [ErrorDetail[]]
69
+ def delete_firm_client_linkage(id)
70
+ path = "/api/v2/firmclientlinkages/#{id}"
71
+ delete(path)
72
+ end
73
+
74
+
75
+ # Get linkage between a firm and client by id
76
+ #
77
+ # This API enables the firm admins/firm users to request the linkage of a firm account and a client account.
78
+ #
79
+ # ### Security Policies
80
+ #
81
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
82
+ # @param id [Integer]
83
+ # @return [Object]
84
+ def get_firm_client_linkage(id)
85
+ path = "/api/v2/firmclientlinkages/#{id}"
86
+ get(path)
87
+ end
88
+
89
+
90
+ # List client linkages for a firm or client
91
+ #
92
+ # This API enables the firm or account users to request the associated linkages to the account.
93
+ #
94
+ # ### Security Policies
95
+ #
96
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
97
+ # @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:* firmAccountName, clientAccountName
98
+ # @return [FetchResult]
99
+ def list_firm_client_linkage(options={})
100
+ path = "/api/v2/firmclientlinkages"
101
+ get(path, options)
102
+ end
103
+
104
+
105
+ # Rejects linkage to a firm for a client account
106
+ #
107
+ # This API enables the account admin of a client account to reject linkage request by a firm.
108
+ #
109
+ # ### Security Policies
110
+ #
111
+ # * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
112
+ # @param id [Integer]
113
+ # @return [Object]
114
+ def reject_firm_client_linkage(id)
115
+ path = "/api/v2/firmclientlinkages/#{id}/reject"
116
+ post(path)
117
+ end
118
+
119
+
120
+ # Reset linkage status between a client and firm back to requested
121
+ #
122
+ # This API enables the firm admin of a client account to reset a previously created linkage request by a firm.
123
+ #
124
+ # ### Security Policies
125
+ #
126
+ # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
127
+ # @param id [Integer]
128
+ # @return [Object]
129
+ def reset_firm_client_linkage(id)
130
+ path = "/api/v2/firmclientlinkages/#{id}/reset"
131
+ post(path)
132
+ end
133
+
134
+
135
+ # Revokes previously approved linkage to a firm for a client account
136
+ #
137
+ # This API enables the account admin of a client account to revoke a previously approved linkage request by a firm.
138
+ #
139
+ # ### Security Policies
140
+ #
141
+ # * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
142
+ # @param id [Integer]
143
+ # @return [Object]
144
+ def revoke_firm_client_linkage(id)
145
+ path = "/api/v2/firmclientlinkages/#{id}/revoke"
146
+ post(path)
147
+ end
148
+
149
+ end
150
+ end
151
+ end
@@ -21,8 +21,8 @@ module AvaTax
21
21
  # ### Security Policies
22
22
  #
23
23
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
24
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
25
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
24
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
25
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
26
26
  # @param id [Integer] The unique ID number of this funding request
27
27
  # @return [Object]
28
28
  def activate_funding_request(id)
@@ -47,8 +47,8 @@ module AvaTax
47
47
  # ### Security Policies
48
48
  #
49
49
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
50
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.
51
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request host address whitelisting for [Returns] for your servers.
50
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
51
+ # * This API is available by invitation only.<br />*Exempt security roles*: ComplianceRootUser, ComplianceAdmin, ComplianceUser, TechnicalSupportAdmin, TechnicalSupportUser.
52
52
  # @param id [Integer] The unique ID number of this funding request
53
53
  # @return [Object]
54
54
  def funding_request_status(id)
@@ -374,6 +374,33 @@ module AvaTax
374
374
  end
375
375
 
376
376
 
377
+ # Sync items from a product catalog
378
+ #
379
+ # Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs
380
+ # with AvaTax.
381
+ #
382
+ # 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.
383
+ #
384
+ # This API is currently limited to 1000 items per call (the limit is subject to change).
385
+ #
386
+ # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
387
+ # can provide `itemCode` values for each `CreateTransaction()` API call rather than specifying tax codes, parameters, descriptions,
388
+ # and other data fields. AvaTax will automatically look up each `itemCode` and apply the correct tax codes and parameters
389
+ # from the item table instead. This allows your CreateTransaction call to be as simple as possible, and your tax compliance
390
+ # team can manage your item catalog and adjust the tax behavior of items without having to modify your software.
391
+ #
392
+ # ### Security Policies
393
+ #
394
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
395
+ # @param companyId [Integer] The ID of the company that owns this item.
396
+ # @param model [Object] The request object.
397
+ # @return [Object]
398
+ def sync_items(companyId, model)
399
+ path = "/api/v2/companies/#{companyId}/items/sync"
400
+ post(path, model)
401
+ end
402
+
403
+
377
404
  # Update a single item
378
405
  #
379
406
  # Replace the existing `Item` object at this URL with an updated object.
@@ -18,6 +18,8 @@ module AvaTax
18
18
  # dismissed. You can then later review which employees of your company dismissed notifications to
19
19
  # determine if they were resolved appropriately.
20
20
  #
21
+ # A Global notification with null accountId and companyId cannot be dismissed and will expire within a given time span.
22
+ #
21
23
  # ### Security Policies
22
24
  #
23
25
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
@@ -32,6 +32,9 @@ module AvaTax
32
32
  # to regularly review notifications and then dismiss them when you are certain that you have addressed
33
33
  # any relevant concerns raised by this notification.
34
34
  #
35
+ # A Global notification is a message which is directed to all the accounts and is set to expire within
36
+ # a certain time and cannot be dismissed by the user. Make accountId and companyId null to create a global notification.
37
+ #
35
38
  # An example of a notification would be a message about new software, or a change to AvaTax that may
36
39
  # affect you, or a potential issue with your company's tax profile.
37
40
  #
@@ -1,3 +1,3 @@
1
1
  module AvaTax
2
- VERSION = '19.7.0'.freeze unless defined?(::AvaTax::VERSION)
2
+ VERSION = '19.8.0'.freeze unless defined?(::AvaTax::VERSION)
3
3
  end
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.7.0
4
+ version: 19.8.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-07-16 00:00:00.000000000 Z
11
+ date: 2019-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -149,6 +149,7 @@ files:
149
149
  - lib/avatax/client/ecms.rb
150
150
  - lib/avatax/client/filingcalendars.rb
151
151
  - lib/avatax/client/filings.rb
152
+ - lib/avatax/client/firmclientlinkages.rb
152
153
  - lib/avatax/client/free.rb
153
154
  - lib/avatax/client/fundingrequests.rb
154
155
  - lib/avatax/client/items.rb