The CData Sync App provides a straightforward way to continuously pipeline your Avalara data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The Avalara connector can be used from the CData Sync application to pull data from Avalara and move it to any of the supported destinations.
Create a connection to Avalara by navigating to the Connections page in the Sync App application and selecting the corresponding icon in the Add Connections panel. If the Avalara icon is not available, click the Add More icon to download and install the Avalara connector from the CData site.
Required properties are listed under the Settings tab. The Advanced tab lists connection properties that are not typically required.
By default, the Sync App connects to a production environment. Set UseSandbox to true to configure the Sync App to connect to a Avalara sandbox environment.
There are two authentication methods available for connecting to the Avalara data source: Basic and LicenseKey.
To use login credentials for authentication, set the following:
Alternatively, you can authenticate using your account number and license key. Connect to the data source using the following:
You can use the following properties to gain more control over the data returned from Avalara:
This section details a selection of advanced features of the Avalara Sync App.
The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
The Sync App offloads as much of the SELECT statement processing as possible to Avalara and then processes the rest of the query in memory (client-side).
See Query Processing for more information.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.
In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.
Set the following properties:
This section shows the available API objects and provides more information on executing SQL to Avalara APIs.
Tables describes the available tables. Tables are statically defined to model Accounts, Transactions, Users, and more.
Views describes the available views. Views are statically defined to model Reports, Subscriptions, and more.
Stored Procedures are function-like interfaces to Avalara. Stored procedures allow you to execute operations to Avalara, including downloading documents and moving envelopes.
The Sync App models the data in Avalara into a list of tables that can be queried using standard SQL statements.
Generally, querying Avalara tables is the same as querying a table in a relational database. Sometimes there are special cases, for example, including a certain column in the WHERE clause might be required to get data for certain columns in the table. This is typically needed for situations where a separate request must be made for each row to get certain columns. These types of situations are clearly documented at the top of the table page linked below.
Name | Description |
Accounts | Accounts table for AvalaraAvatax data provider. |
Batches | Batches table for AvalaraAvatax data provider. |
Companies | Companies table for AvalaraAvatax data provider. |
Contacts | Contacts table for AvalaraAvatax data provider. |
Customers | Customers table for AvalaraAvatax data provider. |
DataSources | DataSources table for AvalaraAvatax data provider. |
DistanceThresholds | DistanceThresholds table for AvalaraAvatax data provider. |
FilingCalendars | FilingCalendars table for AvalaraAvatax data provider. |
Items | Items table for AvalaraAvatax data provider. |
Locations | Locations table for AvalaraAvatax data provider. |
MultiDocument | MultiDocument table for AvalaraAvatax data provider. |
Nexus | Nexus table for AvalaraAvatax data provider. |
Notices | Notices table for AvalaraAvatax data provider. |
Notifications | Notifications table for AvalaraAvatax data provider. |
Settings | Settings table for AvalaraAvatax data provider. |
TaxCodes | TaxCodes table for AvalaraAvatax data provider. |
TaxRules | TaxRules table for AvalaraAvatax data provider. |
TransactionLines | TransactionLines view for AvalaraAvatax data provider. |
Transactions | Transactions table for AvalaraAvatax data provider. |
Upcs | Upcs table for AvalaraAvatax data provider. |
Users | Users table for AvalaraAvatax data provider. |
Accounts table for AvalaraAvatax data provider.
The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,IN,NOT,IN,AND,OR,LIKE. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM Accounts WHERE accountStatusId = 'Active' AND accountTypeId = 'Regular1'
To add an Account.
INSERT INTO Accounts (id,name,effectiveDate,accountStatusId,accountTypeId) VALUES ('12345','Test Account','2019-06-24T00:00:00+00:00','Test','Regular')
Avalara allows updates Accounts columns.
UPDATE Accounts SET crmid = '0010b000Ardit' WHERE Id = 2000137504
In order to update AccountsSubscriptions #TEMP table should be used.
INSERT INTO AccountsSubscriptions#TEMP (subscriptionDescription,id) VALUES ('Avacert2','567961') UPDATE Accounts SET linkedSubscriptions = 'AccountsSubscriptions#TEMP', crmid = '0010b000Ardit' WHERE Id = 2000137504
Accounts can be deleted by providing the Id of the address and issuing a DELETE statement.
DELETE FROM Accounts WHERE Id = 100
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number assigned to this account. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
AccountTypeId | String | False |
The type of this account. |
AccountStatusId | String | False |
The current status of this account. |
CrmId | String | False |
For system registrar use only. |
LinkedSubscriptions | String | False |
A list of subscriptions granted to this account. |
Name | String | False |
The name of this account. |
LinkedUsers | String | False |
A list of all the users belonging to this account. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
EndDate | Datetime | False |
If this account has been closed, this is the last date the account was open. |
EffectiveDate | Datetime | False |
The earliest date on which this account may be used. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
Batches table for AvalaraAvatax data provider.
Create batch objects attached to a company. Each batch object must have one file object. When a batch is created, it is added to the AvaTax Batch Queue and will be processed as quickly as possible in the order it was received. As a result of this operation you will get the status of a batch.
First insert the file, referencing the local path of the file on your machine, using #Temp table:
INSERT INTO File#Temp (Name, FileLocalPath, ContentType) VALUES ('samplebatch.csv','C:\\Users\\User\\Desktop\\BatchFile.csv', 'text/csv')Then insert in the main Batches table. The following fielda are required:
INSERT INTO Batches (CompanyId, Name, LinkedFiles, Type) VALUES ('247015', 'TestBatch2', 'File#Temp', 'TransactionImport')
Update operation is not supported for Batches table.
If you attempt to delete a batch that is being processed, you will receive an error message. Deleting a batch does not delete any transactions that were created by importing the batch. Deleting a batch requires one of the following user roles: CSPAdmin, CSPTester, SSTAdmin, SystemAdmin, SystemOperator, TechnicalSupportAdmin; Companyid and Id should be specified in the WHERE clause.
DELETE FROM Batches WHERE Id= 9030440 AND CompanyId = 247015
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this batch. |
CompanyId [KEY] | Int | False |
The Company ID number of the company that owns this batch. |
BatchAgent | String | False |
The agent used to create this batch. |
CurrentRecord | Int | False |
The current record being processed |
CompletedDate | Datetime | False |
The date/time when this batch was completely processed. |
LinkedFiles | String | False |
The list of files contained in this batch. |
Name | String | False |
The user-friendly readable name for this batch. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
Status | String | False |
This batch's current processing status. |
RecordCount | Int | False |
The number of records in this batch; determined by the server. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
AccountId | Int | False |
The Account ID number of the account that owns this batch. |
Type | String | False |
The type of this batch.Possible values are:ItemImport, CompanyLocationImport, ExemptCertImport, TaxRuleImport, TransactionImport, UPCBulkImport. |
StartedDate | Datetime | False |
The date/time when this batch started processing. |
CreatedDate | Datetime | False |
The date when this record was created. |
Options | String | False |
Any optional flags provided for this batch. |
PageKey | String | False |
Companies table for AvalaraAvatax data provider.
To insert a new company to an existing account you need to specify AccountId, CompanyCode, Name and DefaultCountry fields.
INSERT INTO Companies (AccountId,CompanyCode, Name, defaultCountry) VALUES ('2000137504', 'SAB', 'SAB&Co', 'US')
Avalara allows updates on Companies columns, expect for aggregate columns. Aggregate columns can not be updated.
UPDATE Companies SET Name='UpdatedName' WHERE Id = 283040
A company can be deleted by providing the Id of the company and issuing a DELETE statement.
DELETE FROM Companies WHERE Id = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this company. |
DefaultLocationId | Int | False |
If set, this is the unique ID number of the default location for this company. |
LinkedNexus | String | False |
Optional: A list of nexus defined for this company. To fetch this list, add the query string `?$include=Nexus` to your URL. |
NonReportingChildCompanies | String | False | |
TaxDependencyLevelId | String | False |
Used to apply tax detail dependency at a jurisdiction level. |
DefaultCountry | String | False |
The two character ISO-3166 country code of the default country for this company. |
LinkedTaxRules | String | False |
Optional: A list of tax rules defined for this company. |
Name | String | False |
The name of this company, as shown to customers. |
CreatedDate | Datetime | False |
The date when this record was created. |
MossCountry | String | False |
The country code of the mini-one-stop-shop used for Value Added Tax (VAT) processing. |
LinkedContacts | String | False |
Optional: A list of contacts defined for this company. |
CompanyCode | String | False |
A unique code that references this company within your account. |
WarningsEnabled | Bool | False |
Set this value to true to receive warnings in API calls via SOAP. |
LinkedLocations | String | False |
Optional: A list of locations defined for this company. |
LinkedItems | String | False |
Optional: A list of items defined for this company. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
AccountId | Int | False |
The unique ID number of the account this company belongs to. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
RoundingLevelId | String | False |
Indicates whether this company prefers to round amounts at the document level or line level. |
BusinessIdentificationNo | String | False |
Business Identification No. |
LinkedUpcs | String | False |
Optional: A list of UPCs defined for this company. |
InProgress | Bool | False |
Set this value to true to indicate that you are still working to finish configuring this company. While this value is true, no tax reporting will occur and the company will not be usable for transactions. |
IsReportingEntity | Bool | False |
Set this flag to true if this company must file its own tax returns. For users who have Returns enabled, this flag turns on monthly Worksheet generation for the company. |
LinkedTaxCodes | String | False |
Optional: A list of tax codes defined for this company. |
ParentCompanyId | Int | False |
If this company is fully owned by another company, this is the unique identity of the parent company. |
BaseCurrencyCode | String | False |
This is the three character ISO-4217 currency code of the default currency used by this company. |
IsTest | Bool | False |
Set this flag to true to indicate that this company is a test company. If you have Returns enabled, Test companies will not file tax returns and can be used for validation purposes. |
IsActive | Bool | False |
This flag indicates whether tax activity can occur for this company. Set this flag to true to permit the company to process transactions. |
SstEffectiveDate | Date | False |
If this company participates in Streamlined Sales Tax, this is the date when the company joined the SST program. |
MossId | String | False |
The unique identifier of the mini-one-stop-shop used for Value Added Tax (VAT) processing. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
LinkedSettings | String | False |
Optional: A list of settings defined for this company. |
SstPid | String | False |
If this company files Streamlined Sales Tax, this is the PID of this company as defined by the Streamlined Sales Tax governing board. |
TaxpayerIdNumber | String | False |
For United States companies, this field contains your Taxpayer Identification Number. This is a nine digit number that is usually called an EIN for an Employer Identification Number if this company is a corporation, or SSN for a Social Security Number if this company is a person. This value is required if the address provided is inside the US and if you subscribed to the Avalara Managed Returns or SST Certified Service Provider service. Otherwise it is optional. |
IsDefault | Bool | False |
This flag is true if this company is the default company for this account. Only one company may be set as the default. |
HasProfile | Bool | False |
Set this flag to true to give this company its own unique tax profile. If this flag is true, this company will have its own Nexus, TaxRule, TaxCode, and Item definitions. If this flag is false, this company will inherit all profile values from its parent. |
Contacts table for AvalaraAvatax data provider.
The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,IN,NOT,IN,AND,OR,LIKE. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM Contacts WHERE companyid = 247015 SELECT * FROM Contacts WHERE companyid = 247015 AND region = 'NY'
To add a Contact, ContactCode is a required field.
INSERT INTO Contacts (companyId,contactCode,firstName,lastName,title,line1,city,region,postalCode,country,email,phone) VALUES ('247015','TestContactc7356131ca2442'," + "'Bob','McExample','Owner','2000 Main Street','Irvine','CA','92614','US','[email protected]','714 555-1212')
Avalara allows updates Contacts columns. To update a Contact, Id and CompanyId should be specified in the WHERE clause of the Update statement.
UPDATE Contacts SET firstName = 'tidra' WHERE CompanyId = 247015 AND Id = 175596
Contacts can be deleted by providing the Companyid and Id of the Contact and issuing a DELETE statement.
DELETE FROM Contacts WHERE Id = 100
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this contact. |
FirstName | String | False |
The first or given name of this contact. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
Mobile | String | False |
The mobile phone number for this contact. |
Region | String | False |
Name or ISO 3166 code identifying the region within the country. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
Phone | String | False |
The main phone number for this contact. |
Line3 | String | False |
The third line of the postal mailing address of this contact. |
PostalCode | String | False |
The postal code or zip code of the postal mailing address of this contact. |
Line2 | String | False |
The second line of the postal mailing address of this contact. |
Line1 | String | False |
The first line of the postal mailing address of this contact. |
LastName | String | False |
The last or family name of this contact. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CompanyId [KEY] | Int | False |
The unique ID number of the company to which this contact belongs. |
String | False |
The email address of this contact. | |
Country | String | False |
Name or ISO 3166 code identifying the country. |
City | String | False |
The city of the postal mailing address of this contact. |
MiddleName | String | False |
The middle name of this contact. |
Fax | String | False |
The facsimile phone number for this contact. |
CreatedDate | Datetime | False |
The date when this record was created. |
Title | String | False |
Professional title of this contact. |
ContactCode | String | False |
A unique code for this contact. |
PageKey | String | False |
Customers table for AvalaraAvatax data provider.
To retrieve Customer records from Customers table, at least CompanyId or CompanyId and CustomerCode should be specified in the WHERE clause. The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. CompanyId and CustomerCode fields support server side filtering with the = operator. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM Customers WHERE CompanyId = '247015' SELECT * FROM Contacts WHERE CompanyId = 247015 AND CustomerCode = 'CC001'
Name | Type | ReadOnly | Description |
Id | Int | False |
Unique ID number of this customer. |
CompanyId [KEY] | Int | False |
The unique ID number of the AvaTax company that recorded this customer. |
CustomerCode [KEY] | String | False |
The unique code identifying this customer. Must be unique within your company. |
AlternateId | String | False |
A customer-configurable alternate ID number for this customer. You may set this value to match any other system that would like to reference this customer record. |
IsShip | Bool | False |
True if this customer record is specifically used for ship-to purposes. |
LinkedShipTos | String | False |
A list of ship-to customer records that are connected to this bill-to customer. |
Region | String | False |
ISO 3166 code identifying the region within the country. |
IsBill | Bool | False |
True if this customer record is specifically used for bill-to purposes. |
EmailAddress | String | False |
The main email address for this customer. |
LinkedCustomFields | String | False |
A list of custom fields defined on this customer. |
TaxpayerIdNumber | String | False |
For customers in the United States, this field is the federal taxpayer ID number. For businesses, this is a Federal Employer Identification Number. For individuals, this will be a Social Security Number. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
LinkedCertificates | String | False |
A list of exemption certficates that apply to this customer. |
FaxNumber | String | False |
The fax phone number for this customer, if any. |
AttnName | String | False |
Indicates the 'Attn' component of the address for this customer, if this customer requires mailings to be shipped to the attention of a specific person or department name. |
PhoneNumber | String | False |
The main phone number for this customer. |
PostalCode | String | False |
Postal Code / Zip Code component of the address of this customer. |
Line2 | String | False |
Second line of the street address of this customer. |
Line1 | String | False |
First line of the street address of this customer. |
LastTransaction | Datetime | False |
Date when this customer last executed a transaction. |
Country | String | False |
Name or ISO 3166 code identifying the country. |
City | String | False |
City component of the street address of this customer. |
LinkedExposureZones | String | False |
A list of exposure zones where you do business with this customer. |
ContactName | String | False |
The name of the main contact person for this customer. |
CreatedDate | Datetime | False |
The date when this record was created. |
Name | String | False |
A friendly name identifying this customer. |
DataSources table for AvalaraAvatax data provider.
To create a data source at least CompanyId and Source should be specified.
INSERT INTO DataSources (CompanyId, Source) VALUES (247015, 'Amazon v2 Extractor')
To update a data source, you need to specify Id and CompanyId in WHERE clause.
UPDATE DataSources SET isEnabled = true WHERE Id = 297 AND CompanyId = 247015
To delete a user, you need to specify Id and AccountId in WHERE clause.
DELETE FROM DataSources WHERE Id = 297 AND CompanyId = 247015
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The id of the datasource. |
CompanyId [KEY] | Int | False |
The id of the company to which the datasource belongs to. |
Source | String | False |
The extractor/connector id. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
IsAuthorized | Bool | False |
True if this data source is authorized. |
LastSyncedDate | Datetime | False |
The date when the information was last synched. |
IsSynced | Bool | False |
If all the information has been transferred from the extractor to the database. |
DeletedDate | Datetime | False |
The date when this record was deleted. |
IsEnabled | Bool | False |
The connection using the connectionMyUserd is enabled. The customer is responsible to enable or disable. |
Instance | String | False |
The unique ID number of this connection. |
CreatedDate | Datetime | False |
The date when this record was created. |
Recalculate | Bool | False |
Specifies whether transactions created by this data source needs to re-calculate tax or not |
PageKey | String | False |
DistanceThresholds table for AvalaraAvatax data provider.
A company-distance-threshold model indicates the distance between a company and the taxing borders of various countries. Distance thresholds are necessary to correctly calculate some value-added taxes.
To create a distance-threshold object you need one of the following user roles: AccountAdmin, CompanyAdmin, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin. At least the following fields should be specified:
INSERT INTO DistanceThresholds (companyId,originCountry,destinationCountry, type) VALUES (283040,'FR','BR', 'Purchase')
To update a distance-threshold, you need to specify Id and CompanyId in WHERE clause.
UPDATE DistanceThresholds SET EffDate = '2019/11/08' WHERE Id = 11785 AND CompanyId = 283040
To delete a distance-threshold, you need to specify Id and AccountId in WHERE clause.
DELETE FROM DistanceThresholds WHERE Id = 11785 AND CompanyId = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
A unique ID number representing this distance threshold object. |
CompanyId [KEY] | Int | False |
The ID number of the company that defined this distance threshold. |
OriginCountry | String | False |
The origin country for this threshold. |
DestinationCountry | String | False |
The destination country for this threshold. |
Type | String | False |
Indicates the distance threshold type. This value can be either `Sale` or `Purchase`. |
EffDate | Datetime | False |
For distance threshold values that change over time, this is the earliest date for which this distance threshold is valid. If null, this distance threshold is valid for all dates earlier than the `endDate` field. |
EndDate | Datetime | False |
For distance threshold values that change over time, this is the latest date for which this distance threshold is valid. If null, this distance threshold is valid for all dates later than the `effDate` field. |
ThresholdExceeded | Bool | False |
True if your tax professional has determined that the value-added tax distance threshold is exceeded for this pair of countries. If you set this value to `false`, your value added taxes will be calculated using the origin country. Otherwise, value added taxes will be calculated on the destination country. |
PageKey | String | False |
FilingCalendars table for AvalaraAvatax data provider.
To retrieve records from FilingCalendar table, at least CompanyId should be specified in the WHERE clause. The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,IN,NOT,IN,AND,OR,LIKE. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM FilingCalendars WHERE CompanyId = '247015' AND Success = False
Name | Type | ReadOnly | Description |
CompanyId [KEY] | Int | False |
CompanyId of the request |
ActivePoa | Bool | False |
Notes if there is an actice POA |
ExpirationDate | Datetime | False |
End Date of POA |
LinkedAvailablePOA | String | False |
POA download |
Bytes | String | False |
Bytes of the file |
Filename | String | False |
Original filename |
Success | Bool | False |
True if this download succeeded |
ContentType | String | False |
Mime content type |
Region | String | False |
Region POA is for |
EffectiveDate | Datetime | False |
Effective Date of the POA |
Country | String | False |
Country POA is for |
Items table for AvalaraAvatax data provider.
The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,IN,NOT,IN,AND,OR,LIKE. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM Items WHERE CompanyId = 247015 AND Description LIKE '%MUG' SELECT * FROM Items WHERE CompanyId = 247015 AND ModifiedUserId IN (289767, 1354)
To add an Item.
INSERT INTO Items (companyId,itemCode,taxCode,description,itemGroup) VALUES ('247015','CERMUG1','P0000000','Ceramic Mug','Mugs')")
In order to add an item with ItemsClassifications #TEMP table should be used
INSERT INTO Itemsclassifications#TEMP (productCode,systemCode) VALUES ('P0000000','TARIC')") INSERT INTO Items (companyId,itemCode,taxCode,description,itemGroup,Linkedclassifications) VALUES ('247015','CERMUG','P0000000','Ceramic Mug','Mugs','Itemsclassifications#TEMP')") INSERT INTO Items (companyId,itemCode,taxCode,description,itemGroup) VALUES ('247015','CERMUG1','P0000000','Ceramic Mug','Mugs')")
Avalara allows updates to Items columns.
UPDATE Items SET Description = 'description',itemcode = 'CERMUG' WHERE Id = '189117938' AND CompanyId = '247015'
In order to update ItemsClassifications, a #TEMP table should be used.
INSERT INTO Itemsclassifications#TEMP (systemcode,productcode) VALUES ('P0000001','AVATAXCEDE')") UPDATE items SET description = 'description',itemcode = 'CERMUG',linkedclassifications = 'Itemsclassifications#TEMP' WHERE id = '189117938' AND companyId = '247015'")
Items can be deleted by providing the Id of the address and issuing a DELETE statement.
DELETE FROM Items WHERE Id = 100
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this item. |
CompanyId [KEY] | Int | False |
The unique ID number of the company that owns this item. |
ItemCode | String | False |
A unique code representing this item. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
LinkedClassifications | String | False |
List of classifications that belong to this item. A single classification consists of a productCode and a systemCode for a particular item. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
ItemGroup | String | False |
A way to group similar items. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
Description | String | False |
A friendly description of this item in your product catalog. |
LinkedParameters | String | False |
List of item parameters. |
CreatedDate | Datetime | False |
The date when this record was created. |
TaxCode | String | False |
Locations table for AvalaraAvatax data provider.
To create a location at least the following fields should be specified.
INSERT INTO Locations (CompanyId, Line1, LocationCode, AddressTypeId, AddressCategoryId, PostalCode, Country) VALUES (247015, '2000 Main Street', 'L001', 'Location', 'MainOffice', 92614, 'US')
To update a location, you need to specify Id and CompanyId in WHERE clause.
UPDATE Locations SET City = 'Irvine' WHERE Id = 56789 AND CompanyId = 247015
To delete a location, you need to specify Id and AccountId in WHERE clause.
DELETE FROM Locations WHERE Id = 56789 AND CompanyId = 247015
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this location. |
CompanyId [KEY] | Int | False |
The unique ID number of the company that operates at this location. |
RegisteredDate | Datetime | False |
The date when this location was registered with a tax authority. Not required. |
DbaName | String | False |
If this location has a different business name from its legal entity name, specify the 'Doing Business As' name for this location. |
EffectiveDate | Date | False |
The date when this location was opened for business, or null if not known. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
AddressCategoryId | String | False |
Indicates the type of place of business represented by this location. |
Region | String | False |
Name or ISO 3166 code identifying the region within the country of the physical address of this location. |
LastTransactionDate | Datetime | False |
The most recent date when a transaction was processed for this location. Set by AvaTax. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
OutletName | String | False |
A friendly name for this location. |
IsRegistered | Bool | False |
Set this flag to true to indicate that this location has been registered with a tax authority. |
Line3 | String | False |
The third line of the physical address of this location. |
LocationCode | String | False |
A code that identifies this location. Must be unique within your company. |
PostalCode | String | False |
The postal code or zip code of the physical address of this location. |
Line2 | String | False |
The second line of the physical address of this location. |
Line1 | String | False |
The first line of the physical address of this location. |
AddressTypeId | String | False |
Indicates whether this location is a physical place of business or a temporary salesperson location. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
Country | String | False |
Name or ISO 3166 code identifying the country of the physical address of this location. |
City | String | False |
The city of the physical address of this location. |
Description | String | False |
A friendly name for this location. |
County | String | False |
The county name of the physical address of this location. Not required. |
IsDefault | Bool | False |
Set this flag to true to indicate that this is the default location for this company. |
EndDate | Date | False |
If this place of business has closed, the date when this location closed business. |
LinkedSettings | String | False |
Extra information required by certain jurisdictions for filing. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
MultiDocument table for AvalaraAvatax data provider.
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this MultiDocument object. |
Code [KEY] | String | False |
The transaction code of the MultiDocument transaction. All individual transactions within this MultiDocument object will have this code as a prefix. |
Type [KEY] | String | False |
Indicates the type of MultiDocument transaction. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CreatedUserId | Int | False |
The user ID of the user who created this record. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
AccountId | Int | False |
The unique ID number of the AvaTax customer account that created this MultiDocument object. |
LinkedDocuments | String | False |
A separate document will exist for each unique combination of buyer and seller in this MultiDocument transaction. |
CreatedDate | Datetime | False |
The date/time when this record was created. |
Nexus table for AvalaraAvatax data provider.
To create a nexus declaration for your company, you must first obtain a list of Avalara-defined nexus querying NexusDefinitions table. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are CompanyId, EffectiveDate, EndDate, LocalNexusTypeId, TaxId, NexusTypeId, HasPermanentEstablishment, and IsSellerImporterOfRecord.
When calling CreateNexus or UpdateNexus, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. If any data does not match, AvaTax may not recognize your nexus declaration. To create a Nexus you must specify Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup of an existing Avalara-defined system nexus object and optionally any other selectable field.
INSERT INTO Nexus (CompanyId, Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup, EffectiveDate) VALUES (283040,'US','US','Country','US','UNITED STATES','UNITED STATES','Hospitality', '2019-11-08')
Only user selectable fields can be updated. To update a nexus object, you need to specify Id and CompanyId in WHERE clause.
UPDATE Nexus SET HasPermanentEstablishment = true WHERE Id = 20684351 AND CompanyId = 283040
To delete a nexus object, you need to specify Id and CompanyId in WHERE clause.
DELETE FROM Nexus WHERE Id = 20684351 AND CompanyId = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this declaration of nexus. |
CompanyId [KEY] | Int | False |
The unique ID number of the company that declared nexus. |
TaxAuthorityId | Int | False |
A unique ID number of the tax authority that is associated with this nexus. |
IsSellerImporterOfRecord | Bool | False |
For nexus declarations at the country level, specifies whether this company is considered the importer of record in this nexus region. Set this value to `true` to consider your company as the importer of record and collect these taxes. Leave this value as false or null and taxes will be calculated as if your company is not the importer of record. |
StateAssignedNo | String | False |
The state assigned number of this jurisdiction. |
Sourcing | String | False |
Indicates whether this nexus is defined as origin or destination nexus. |
JurisName | String | False |
The common name of the jurisdiction in which this company declared nexus. |
TaxId | String | False |
Optional - the tax identification number under which you declared nexus. |
JurisCode | String | False |
The code identifying the jurisdiction in which this company declared nexus. |
EffectiveDate | Date | False |
The date when this nexus began. If not known, set to null. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
Region | String | False |
Name or ISO 3166 code identifying the region within the country. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
NexusTaxTypeGroup | String | False |
The type of nexus that this company is declaring. Replaces NexusTypeId. |
ShortName | String | False |
The short name of the jurisdiction. |
IsSSTActive | Bool | False |
For the United States, this flag indicates whether this particular nexus falls within a U.S. |
JurisdictionTypeId | String | False |
The type of the jurisdiction in which this company declared nexus. |
HasLocalNexus | Bool | False |
True if you are also declaring local nexus within this jurisdiction. Many U.S. states have options for declaring nexus in local jurisdictions as well as within the state. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
Country | String | False |
Name or ISO 3166 code identifying the country in which this company declared nexus. |
HasPermanentEstablishment | Bool | False |
Set this value to true if your company has a permanent establishment within this jurisdiction. |
NexusTypeId | String | False |
The type of nexus that this company is declaring. |
EndDate | Date | False |
If this nexus will end or has ended on a specific date, set this to the date when this nexus ends. |
LocalNexusTypeId | String | False |
If you are declaring local nexus within this jurisdiction, this indicates whether you are declaring only a specified list of local jurisdictions, all state-administered local jurisdictions, or all local jurisdictions. |
SignatureCode | String | False |
The signature code of the boundary region as defined by Avalara. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
Nexus table for AvalaraAvatax data provider.
To create a nexus declaration for your company, you must first obtain a list of Avalara-defined nexus querying NexusDefinitions table. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are CompanyId, EffectiveDate, EndDate, LocalNexusTypeId, TaxId, NexusTypeId, HasPermanentEstablishment, and IsSellerImporterOfRecord.
When calling CreateNexus or UpdateNexus, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. If any data does not match, AvaTax may not recognize your nexus declaration. To create a Nexus you must specify Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup of an existing Avalara-defined system nexus object and optionally any other selectable field.
INSERT INTO Nexus (CompanyId, Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup, EffectiveDate) VALUES (283040,'US','US','Country','US','UNITED STATES','UNITED STATES','Hospitality', '2019-11-08')
Only user selectable fields can be updated. To update a nexus object, you need to specify Id and CompanyId in WHERE clause.
UPDATE Nexus SET HasPermanentEstablishment = true WHERE Id = 20684351 AND CompanyId = 283040
To delete a nexus object, you need to specify Id and CompanyId in WHERE clause.
DELETE FROM Nexus WHERE Id = 20684351 AND CompanyId = 283040
Name | Type | Description |
Id [KEY] | Int | The unique ID number of this declaration of nexus. |
TaxAuthorityId | Int | A unique ID number of the tax authority that is associated with this nexus. |
IsSellerImporterOfRecord | Bool | For nexus declarations at the country level, specifies whether this company is considered the importer of record in this nexus region. Set this value to `true` to consider your company as the importer of record and collect these taxes. Leave this value as false or null and taxes will be calculated as if your company is not the importer of record. |
StateAssignedNo | String | The state assigned number of this jurisdiction. |
Sourcing | String | Indicates whether this nexus is defined as origin or destination nexus. |
JurisName | String | The common name of the jurisdiction in which this company declared nexus. |
TaxId | String | Optional - the tax identification number under which you declared nexus. |
JurisCode | String | The code identifying the jurisdiction in which this company declared nexus. |
EffectiveDate | Date | The date when this nexus began. If not known, set to null. |
CreatedUserId | Int | The User ID of the user who created this record. |
Region | String | Name or ISO 3166 code identifying the region within the country. |
ModifiedDate | Datetime | The date/time when this record was last modified. |
NexusTaxTypeGroup | String | The type of nexus that this company is declaring. Replaces NexusTypeId. |
ShortName | String | The short name of the jurisdiction. |
IsSSTActive | Bool | For the United States, this flag indicates whether this particular nexus falls within a U.S. |
JurisdictionTypeId | String | The type of the jurisdiction in which this company declared nexus. |
HasLocalNexus | Bool | True if you are also declaring local nexus within this jurisdiction. Many U.S. states have options for declaring nexus in local jurisdictions as well as within the state. |
ModifiedUserId | Int | The user ID of the user who last modified this record. |
Country | String | Name or ISO 3166 code identifying the country in which this company declared nexus. |
HasPermanentEstablishment | Bool | Set this value to true if your company has a permanent establishment within this jurisdiction. |
NexusTypeId | String | The type of nexus that this company is declaring. |
EndDate | Date | If this nexus will end or has ended on a specific date, set this to the date when this nexus ends. |
LocalNexusTypeId | String | If you are declaring local nexus within this jurisdiction, this indicates whether you are declaring only a specified list of local jurisdictions, all state-administered local jurisdictions, or all local jurisdictions. |
SignatureCode | String | The signature code of the boundary region as defined by Avalara. |
CreatedDate | Datetime | The date when this record was created. |
PageKey | String |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
Rows@Next | String | Identifier for the next page of results. Do not set this value manually. |
Notices table for AvalaraAvatax data provider.
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this notice. |
CompanyId [KEY] | Int | False |
The unique ID number of the company to which this notice belongs. |
TicketReferenceNo | String | False |
The ticket reference number of the notice. |
ExpectedResolutionDate | Datetime | False |
Expected resolution date of the notice. |
ShowResolutionDateToCustomer | Bool | False |
Indicator to show customer this resolution date. |
ClosedDate | Datetime | False |
The closed date of the notice. |
FilingFrequency | String | False |
The filing frequency of the notice. |
LinkedComments | String | False |
Additional comments on the notice. |
CustomerTypeId | String | False |
NoticeCustomerTypeID can be retrieved from the definitions API. |
ReceivedDate | Datetime | False |
The received date of the notice. |
PriorityId | String | False |
The priority of the notice. |
TypeId | Int | False |
The tax notice type id. |
JurisdictionType | String | False |
The jurisdiction type of the notice. |
SalesForceCaseUrl | String | False |
The URL to the sales force case. |
Description | String | False |
The description of the notice. |
Reason | String | False |
The notice reason. |
TaxPeriod | String | False |
The tax period of the notice. |
CreatedDate | Datetime | False |
The date when this record was created. |
TotalRemit | String | False |
The total remmitance amount for the notice. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
StatusId | Int | False |
The status id of the notice. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
JurisdictionName | String | False |
The jurisdiction name of the notice. |
FilingTypeId | String | False |
The filing type of the notice. |
ComplianceContactId | Int | False |
The id of the compliance contact. |
Status | String | False |
The status of the notice. |
TaxAuthorityId | Int | False |
The tax authority id of the notice. |
CustomerComment | String | False |
Comments from the customer on this notice. |
TaxFormCode | String | False |
The tax form code of the notice. |
RevenueContactId | Int | False |
The id of the revenue contact. |
DocumentReference | String | False |
The document reference of the notice. |
ReasonId | Int | False |
The notice reason id. |
LinkedRootCause | String | False |
Notice Root Cause Details. |
ClosedByUserId | Int | False |
The unique ID number of the user that closed the notice. |
Country | String | False |
Name or ISO 3166 code identifying the country that sent this notice. |
TicketReferenceUrl | String | False |
The ticket reference url of the notice. |
CreatedByUserName | String | False |
The user who created the notice. |
OwnedByUserId | Int | False |
The unique ID number of the user that owns the notice. |
HideFromCustomer | Bool | False |
Indicator to hide from customer. |
LinkedResponsibility | String | False |
Notice Responsibility Details. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
Region | String | False |
Name or ISO 3166 code identifying the region within the country that sent this notice. |
CustomerFundingOptionId | String | False |
The notice customer funding options. |
AvaFileFormId | Int | False |
The ava file form id of the notice. |
SalesForceCase | String | False |
The sales force case of the notice. |
LinkedFinances | String | False |
Finance details of the notice. |
Type | String | False |
The tax notice type description. |
PageKey | String | False |
Notifications table for AvalaraAvatax data provider.
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique id of the notification. |
CompanyId | Int | False |
If this notification was tied to a specific company, this will be the unique ID number of the company that received the notification. |
CreatedUserId | Int | False |
The unique ID number of the user who created the notification. |
ActionDueDate | Datetime | False |
If there is a specific action suggested by this notification, and if this action is requested by a specific due date, this value will be the due date for the action. |
ActionName | String | False |
If there is a specific action suggested by this notification, this is the name of the action. |
ReferenceObject | String | False |
The type name of object referred to by this notification, if any. |
Dismissed | Bool | False |
Wether the notification is dismissed. |
ModifiedDate | Datetime | False |
The UTC timestamp of the time when this notification was last modified. |
ReferenceId | Int | False |
The unique reference Id number of the object referred to by this notification, if any. |
Message | String | False |
The message for this notification. This is a friendly description of the notification and any relevant information that can help you decide what kind of action, if any, to take in response. |
ActionLink | String | False |
If there is a specific action suggested by this notification, this is the URL of the action. |
DismissedDate | Datetime | False |
If this notification has been dismissed, this indicates the timestamp (in UTC time) when the user dismissed the notification. |
ModifiedUserId | Int | False |
The unique ID number of the user who most recently modified this notification. |
ExpireDate | Datetime | False |
If this notification is time sensitive, this is the latest date when the notification should be displayed to the user. |
NeedsAction | Bool | False |
If this notification object requires user action to resolve, this value will be set to true. |
DismissedByUserId | Int | False |
If this notification has been dismissed, this indicates the unique ID number of the user that dismissed the notification. |
Category | String | False |
The category of this notification. |
Topic | String | False |
The topic of this notification. |
AccountId | Int | False |
The unique ID number of the account that received this notification. |
CreatedDate | Datetime | False |
The UTC timestamp of the time when this notification was created. |
SeverityLevelId | String | False |
The severity level of the notification. |
PageKey | String | False |
Settings table for AvalaraAvatax data provider.
The company settings system is a metadata system that you can use to store extra information about a company. Your integration or connector could use this data storage to keep track of preference information, reminders, or any other storage that would need to persist even if the customer uninstalls your application.
A setting can refer to any type of data you need to remember about this company object. When creating this object, you may define your own set, name, and value parameters. To define your own values, please choose a set name that begins with X- to indicate an extension. CompanyId, Set and Name are required fields.
INSERT INTO Settings (CompanyId, Set, Name) VALUES (283040, 'ItemsToRemember', 'Texas')
To update a setting, you need to specify Id and CompanyId in WHERE clause.
UPDATE Settings SET Value = 'Alamo' WHERE Id = 297847 AND CompanyId = 283040
To delete a setting, you need to specify Id and CompanyId in WHERE clause.
DELETE FROM Settings WHERE Id = 297847 AND CompanyId = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this setting. |
CompanyId [KEY] | Int | False |
The unique ID number of the company this setting refers to. |
Name | String | False |
A user-defined name for this name-value pair. |
Value | String | False |
The value of this name-value pair. |
Set | String | False |
A user-defined set containing this setting. |
PageKey | String | False |
TaxCodes table for AvalaraAvatax data provider.
Create one or more new taxcode objects attached to a company specifying at least CompanyId, TaxCode, TaxCodeTypeId:
INSERT INTO TaxCodes (TaxCode, taxCodeTypeId, CompanyId) VALUES ('PS081283', 'P', '283040')
Avalara allows one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin to update TaxCode objects. CompanyId and Id should be specified in the WHERE clause.
UPDATE TaxCodes SET Description='Yarn' WHERE Id = 85083 AND CompanyId = 283040
To delete a TaxCode object CompanyId and Id should be specified in the WHERE clause:
DELETE FROM TaxCodes WHERE Id = 85083 AND CompanyId = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this tax code. |
CompanyId [KEY] | Int | False |
The unique ID number of the company that owns this tax code. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
EntityUseCode | String | False |
The Avalara Entity Use Code represented by this tax code. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
TaxCodeTypeId | String | False |
The type of this tax code. |
GoodsServiceCode | Int | False |
The Avalara Goods and Service Code represented by this tax code. |
IsSSTCertified | Bool | False |
True if this tax code has been certified by the Streamlined Sales Tax governing board. |
TaxCode | String | False |
A code string that identifies this tax code. |
Description | String | False |
A friendly description of this tax code. |
IsPhysical | Bool | False |
True if this tax code type refers to a physical object. Read only field. |
IsActive | Bool | False |
True if this tax code is active and can be used in transactions. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
TaxRules table for AvalaraAvatax data provider.
You can create custom tax rules to customize the behavior of AvaTax to match specific rules that are custom to your business. If you have obtained a ruling from a tax auditor that requires custom tax calculations, you can use custom tax rules to redefine the behavior for your company or item.
INSERT INTO TaxRules (CompanyId, JurisCode, JurisName, JurisdictionTypeId, TaxRuleTypeId, Country, TaxTypeId, TaxCode, TaxCodeId, TaxTypeGroup, TaxSubType) VALUES ('283040','013','MARICOPA','County','ProductTaxabilityRule', 'US', 'BothSalesAndUseTax','PS081283','85083', 'SalesAndUse', 'ALL')
To update a tax rule, you need to specify Id and CompanyId in WHERE clause.
UPDATE TaxRules SET Description='Freight' WHERE Id = 56789 AND CompanyId = 247015
To delete a tax rule, you need to specify Id and AccountId in WHERE clause.
DELETE FROM TaxRules WHERE Id=56789 AND CompanyId = 247015
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this tax rule. |
CompanyId [KEY] | Int | False |
The unique ID number of the company that owns this tax rule. |
UomId | Int | False |
For tax rules that are calculated using units of measurement, this indicates the unit of measurement type used to calculate the amounts for this rule. |
Threshold | String | False |
The per-unit threshold that must be met before this rule applies. |
TaxRuleTypeId | String | False |
This type value determines the behavior of the tax rule. |
JurisCode | String | False |
The code of the jurisdiction to which this tax rule applies. |
EntityUseCode | String | False |
The entity use code to which this rule applies. |
NonPassthroughExpression | String | False |
Reserved for Avalara internal usage. Leave this field null. |
Description | String | False |
A friendly name for this tax rule. |
CreatedDate | Datetime | False |
The date when this record was created. |
CountyFIPS | String | False |
For U.S. tax rules, this is the county's Federal Information Processing Standard (FIPS) code. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
EndDate | Date | False |
The last date for which this rule applies. If `null`, this rule will apply to all dates after the effective date. |
TaxSubType | String | False |
This field has different behavior based on the type of rule. For a product taxability rule, if the rule applies to an item, this value will override the tax sub type of the original product. For other rules, this value determines what tax sub types will be affected by the rule. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
TaxCode | String | False |
For rules that apply to a specific tax code only, this specifies which tax code is affected by this rule. |
Options | String | False |
Supports custom options for your tax rule. |
JurisName | String | False |
The name of the jurisdiction to which this tax rule applies. |
TaxTypeGroup | String | False |
This field has different behavior based on the type of rule. For a product taxability rule, if the rule applies to an item, this value will override the tax type group of the original product. For other rules, this value determines what tax type groups will be affected by the rule. |
JurisdictionTypeId | String | False |
The type of the jurisdiction to which this tax rule applies. |
Cap | String | False |
The maximum cap for the price of this item according to this rule. Any amount above this cap will not be subject to this rule. |
Country | String | False |
Name or ISO 3166 code identifying the country where this rule will apply. |
Value | String | False |
This field has different behavior based on the type of the tax rule. For a product taxability rule, this value is either 1 or 0, indicating taxable or non-taxable. For a rate override rule, this value is the corrected rate stored as a decimal, for example, a rate of 5% would be stored as 0.05 decimal. If you use the special value of 1.0, only the cap and threshold values will be applied and the rate will be left alone. |
PreferredProgramId | Int | False |
Reserved for Avalara internal usage. Leave this field null. |
CurrencyCode | String | False |
The currency code to use for this rule. |
EffectiveDate | Date | False |
The first date at which this rule applies. If `null`, this rule will apply to all dates prior to the end date. |
StateFIPS | String | False |
For U.S. tax rules, this is the state's Federal Information Processing Standard (FIPS) code. |
RateTypeCode | String | False |
Indicates the code of the rate type that applies to this rule. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
Region | String | False |
Name or ISO 3166 code identifying the region where this rule will apply. |
TaxTypeId | String | False |
Some tax type groups contain multiple different types of tax. To create a rule that affects only one type of tax within a tax type group, set this value to the code matching the specific tax type within that group. |
Sourcing | String | False |
The sourcing types to which this rule applies. |
TaxCodeId | Int | False |
For rules that apply to a specific tax code only, this specifies which tax code is affected by this rule. |
IsAllJuris | Bool | False |
Allows you to make tax rules apply to lower jurisdictions. This feature is only available in the United States and Canada. |
PageKey | String | False |
TransactionLines view for AvalaraAvatax data provider.
The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App. By default the lines of Adjusted transactions will not be listed. If you want to include them, you need to set IncludeAdjustedTransactions to true.
For example, the following query is processed server side:
SELECT * FROM TransactionLines WHERE TransactionCode IN ('Code1', 'Code2')
To delete a TransactionLine item, you need to specify the TransactionCode and LineNumber in the WHERE clause.
Delete FROM TransactionLines WHERE TransactionCode = 'TC001' AND LineNumber = 1
Name | Type | ReadOnly | Description |
Id | Long | False |
The unique ID number of this transaction line item. |
TransactionId | Long | False |
The unique ID number of the transaction to which this line item belongs. |
TransactionStatus | String | False |
The status of the transaction to which this line item belongs. |
TransactionCode [KEY] | String | False |
A unique customer-provided code identifying this transaction. |
DestinationAddressId | Long | False |
The unique ID number of the destination address where this line was delivered or sold. In the case of a point-of-sale transaction, the destination address and origin address will be the same. In the case of a shipped transaction, they will be different. |
TaxCalculated | String | False |
The amount of tax that AvaTax calculated for the transaction. |
DiscountAmount | String | False |
The amount of discount that was applied to this line item. |
HsCode | String | False |
The cross-border harmonized system code (HSCode) used to calculate tariffs and duties for this line item. |
DiscountTypeId | Int | False |
The type of discount, if any, that was applied to this line item. |
TaxableAmount | String | False |
The taxable amount of this line item. |
CostInsuranceFreight | String | False |
Indicates the cost of insurance and freight for this line. |
CertificateId | String | False |
The CertCapture Certificate ID |
TaxDate | Date | False |
The date that was used for calculating tax amounts for this line item. |
Ref2 | String | False |
A user-defined reference identifier for this transaction line item. |
EntityUseCode | String | False |
The entity use code for this line item. Usage type often affects taxability rules. |
Description | String | False |
A description of the item or service represented by this line. |
Ref1 | String | False |
A user-defined reference identifier for this transaction line item. |
ExemptNo | String | False |
The customer Tax Id Number (tax_number) associated with a certificate. |
Quantity | String | False |
The quantity of products sold on this line item. |
TaxCode | String | False |
The code string for the tax code that was used to calculate this line item. |
TaxOverrideType | String | False |
If a tax override was specified, this indicates the type of tax override. |
LineNumber [KEY] | String | False |
The line number or code indicating the line on this invoice or receipt or document. |
BusinessIdentificationNo | String | False |
VAT business identification number used for this transaction. |
ReportingDate | Date | False |
The date when this transaction should be reported. By default, all transactions are reported on the date when the actual transaction took place. In some cases, line items may be reported later due to delayed shipments or other business reasons. |
VatNumberTypeId | Int | False |
Indicates the VAT number type for this line item. |
VatCode | String | False |
Indicates the VAT code for this line item. |
LineAmount | String | False |
The total amount of the transaction, including both taxable and exempt. |
Tax | String | False |
The tax for this line in this transaction. |
LinkedLineLocationTypes | String | False |
Optional: A list of location types for this line item. |
IsItemTaxable | Bool | False |
True if this item is taxable. |
TaxOverrideAmount | String | False |
If a tax override was specified, this indicates the amount of tax that was requested. |
ExemptCertId | Int | False |
The unique ID number of the exemption certificate that applied to this line item. It is the calc_id associated with a certificate in CertCapture. |
ItemCode | String | False |
The code string of the item represented by this line item. |
BoundaryOverrideId | Int | False |
The unique ID number of the boundary override applied to this line item. |
OriginAddressId | Long | False |
The unique ID number of the origin address where this line was delivered or sold. |
TaxOverrideReason | String | False |
If a tax override was specified, represents the reason for the tax override. |
ExemptAmount | String | False |
The amount of this line item that was exempt. |
TaxIncluded | Bool | False |
Indicates whether the amount for this line already includes tax. |
IsSSTP | Bool | False |
True if this item is a Streamlined Sales Tax line item. |
Sourcing | String | False |
Indicates whether this line item was taxed according to the origin or destination. |
TaxEngine | String | False |
The tax engine identifier that was used to calculate this line item. |
TaxCodeId | Int | False |
The unique ID number for the tax code that was used to calculate this line item. |
RevAccount | String | False |
The revenue account number for this line item. |
Transactions table for AvalaraAvatax data provider.
The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,IN,NOT,IN,AND,OR,LIKE. The rest of the filter is executed client side within the Sync App. By default the Adjusted transactions will not be listed. If you want to include them, you need to set IncludeAdjustedTransactions to true.
For example, the following query is processed server side:
SELECT * FROM Transactions WHERE AdjustmentReason = 'PriceAdjusted' SELECT * FROM Items WHERE Status = 'Cancelled'
To add a new Transaction item, the following columns need to be specified: CustomerCode, Date, Type, LinkedLines, Code, LinkedAddresses. If you want to commit the transaction, set the Commit flag in the request to true. The linked columns can be inserted using a #Temp table or by passing the aggregate value.
The LinkedAddresses aggregate must include information about the origin and destination address. If this transaction occurred at a retail point-of-sale location, provide that single address here and leave all other address types null. If origin differs from destination, insert both ShipFrom and ShipTo address types. If you wish to use the address of an existing location for the actual company, specify the address in the addressType_locationCode field.
The examples below illustrate the aforementioned scenarios.
Inserting LinkedAddresses aggregate through #Temp table with SingleLocation:
INSERT INTO Addresses#Temp (SingleLocation_line1, SingleLocation_City, SingleLocation_County, SingleLocation_PostalCode) VALUES ('2000 Main Street', 'Irvine', 'US', 92614)") INSERT INTO Addresses#Temp (SingleLocation_locationCode) VALUES ('LC001')")
Inserting LinkedAddresses aggregate through #Temp table with ShipFrom and ShipTo locations:
INSERT INTO Addresses#Temp (shipTo_line1, shipTo_City, shipTo_County, shipTo_PostalCode, shipFrom_line1, shipFrom_City, shipFrom_Country, shipFrom_PostalCode) VALUES ('2000 Main Street', 'Irvine', 'US', 92614, '', '', 'US', '')") INSERT INTO Addresses#Temp (shipTo_locationCode, shipFrom_locationCode) VALUES ('LC001','LC002')")
Insert line items aggregate using #Temp table. For a list of the columns you can insert into the temporary table, refer to TransactionLines table.
INSERT INTO TransactionLines#Temp (ItemCode, Quantity, LineAmount) VALUES ('IC005', 3, 300)")
Insert into the main Transactions table :
INSERT INTO Transactions (LinkedLines,LinkedAddresses, Code, CompanyId, CustomerCode, Date, Type, Commit, TotalTax) VALUES (TransactionLines#Temp, Addresses#Temp, DC008, 247015, 'CC002', '09/30/2019', 'SalesInvoice', true, 12.0)")
Avalara allows updates on Transactions. To update a transaction, AdjustmentReason and Adjustment description are required fields. Additionally, you need to specify the Code of the transaction you are updating in the WHERE clause.
Similarly, to Insert, you can update line items using temporary tables. To update an existing line, include the LineNumber of the line you wish to update. To insert a new line in the transaction, set the LineNumber to a new, non-existing value.
When a transaction is updated, the actual transaction's status changes to Adjusted and a new transaction with the updated information is created. The new transaction will have the same document code, but a different id and status: Saved or Commited. If you wish to commit the new updated transaction, set the Commit flag in the request to true.
INSERT INTO TransactionLines#Temp (ItemCode, Quantity, LineAmount, LineNumber) VALUES (IC007, 3, 300, 3) UPDATE Transactions SET LinkedLines = 'TransactionLines#Temp', AdjustmentDescription = 'MyDescription', AdjustmentReason = 'PriceAdjusted' WHERE Code = '051349'
Name | Type | ReadOnly | Description |
Id | Long | False |
The unique ID number of this transaction. |
Code [KEY] | String | False |
A unique customer-provided code identifying this transaction. |
CompanyId | Int | False |
The unique ID number of the company that recorded this transaction. |
ExchangeRateEffectiveDate | Date | False |
If this transaction included foreign currency exchange, this is the date as of which the exchange rate was calculated. |
SalespersonCode | String | False |
The salesperson who provided this transaction. Not required. |
AdjustmentDescription | String | False |
If this transaction was adjusted, indicates a description of the reason why the transaction was adjusted. |
DestinationAddressId | Long | False |
The unique ID number of the destination address for this transaction. |
LinkedLocationTypes | String | False |
A list of location types in this transaction. |
IsSellerImporterOfRecord | Bool | False |
By default, the value is null, when the value is null, the value can be set at nexus level and used. If the value is not null, it will override the value at nexus level. If true, this seller was considered the importer of record of a product shipped internationally. |
BatchCode | String | False |
If this transaction was created as part of a batch, this code indicates which batch. |
LinkedTaxDetailsByTaxType | String | False |
Contains the tax details per tax type |
TaxDate | Datetime | False |
Tax date for this transaction |
EntityUseCode | String | False |
The entity use code for this transaction. Entity use codes often affect exemption or taxability rules. |
LinkedInvoiceMessages | String | False |
Invoice messages associated with this transaction. Currently, this stores legally-required VAT messages. |
Description | String | False |
Description of this transaction. Field permits unicode values. |
LinkedAddresses | String | False |
A list of addreses used in this transaction. |
TotalTax | String | False |
The total tax for all lines in this transaction. |
LinkedMessages | String | False |
List of informational and warning messages regarding this API call. These messages are only relevant to the current API call. |
ExemptNo | String | False |
The customer Tax Id Number (taxMyUserumber) associated with a certificate. |
TotalTaxable | String | False |
The portion of the total amount of this transaction that was taxable. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
String | False |
Email address associated with this transaction. | |
TaxOverrideType | String | False |
If a tax override was applied to this transaction, indicates what type of tax override was applied. |
BusinessIdentificationNo | String | False |
VAT business identification number used for this transaction. |
ReportingLocationCode | String | False |
For customers who use location-based tax reporting, this field controls how this transaction will be filed for multi-location tax filings. |
TotalTaxCalculated | String | False |
The amount of tax that AvaTax calculated for the transaction. |
ExchangeRate | String | False |
If this transaction included foreign currency exchange, this is the exchange rate that was used. |
CustomerCode | String | False |
Unique code identifying the customer that requested this transaction. |
Locked | Bool | False |
If this transaction has been reported to a tax authority, this transaction is considered locked and may not be adjusted after reporting. |
Status | String | False |
The status of the transaction. |
TotalAmount | String | False |
The total amount of this transaction. |
LinkedLines | String | False |
A list of line items in this transaction. |
TotalDiscount | String | False |
The total amount of discounts applied to all lines within this transaction. |
AdjustmentReason | String | False |
If this transaction was adjusted, indicates the unique ID number of the reason why the transaction was adjusted. |
TaxOverrideAmount | String | False |
If a tax override was applied to this transaction, indicates the amount of tax that was requested by the customer. |
SoftwareVersion | String | False |
The software version used to calculate this transaction. |
Country | String | False |
The two-character ISO 3166 code of the country for this transaction. |
CurrencyCode | String | False |
The three-character ISO 4217 currency code that was used for payment for this transaction. |
OriginAddressId | Long | False |
The unique ID number of the origin address for this transaction. |
TotalExempt | String | False |
The amount of this transaction that was exempt. |
PurchaseOrderNo | String | False |
The customer-supplied purchase order number of this transaction. |
TaxOverrideReason | String | False |
If a tax override was applied to this transaction, indicates the reason for the tax override. |
TaxOverrideDate | Date | False |
The override tax date to use |
LinkedParameters | String | False |
Contains a list of extra parameters that were set when the transaction was created. |
LinkedSummary | String | False |
Contains a summary of tax on this transaction. |
Version | Int | False |
If this transaction was adjusted, this indicates the version number of this transaction. Incremented each time the transaction is adjusted. |
Date | Date | False |
The date on which this transaction occurred. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
Region | String | False |
The two-or-three character ISO region code of the region for this transaction. |
ReferenceCode | String | False |
A user-defined reference code for this transaction. |
Reconciled | Bool | False |
If this transaction has been reconciled against the company's ledger, this value is set to true. |
Type [KEY] | String | False |
The type of the transaction. |
Commit | Boolean | False |
Wether to commit a transaction on creation. Used only on inserts |
Upcs table for AvalaraAvatax data provider.
A UPC represents a single Universal Product Code in your catalog and matches this product to the tax code identified by this UPC.
To create a UPC object CompanyId, Upc and Description are required fields.
INSERT INTO Upcs (CompanyId, Upc, Description) VALUES (283040, '023032550992', 'Yarn')
To update a Upc, you need to specify Id and CompanyId in WHERE clause.
UPDATE Upcs SET LegacyTaxCode = 'PS081282' WHERE Id = 123456789 AND CompanyId = 283040
To delete a Upc, you need to specify Id and CompanyId in WHERE clause.
DELETE FROM Upcs WHERE Id = 123456789 AND CompanyId = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number for this UPC. |
CompanyId [KEY] | Int | False |
The unique ID number of the company to which this UPC belongs. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
Upc | String | False |
The 12-14 character Universal Product Code, European Article Number, or Global Trade Identification Number. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
EndDate | Date | False |
If this UPC expired or will expire on a certain date, this contains the last date on which the UPC was effective. |
LegacyTaxCode | String | False |
Legacy Tax Code applied to any product sold with this UPC. |
Usage | Int | False |
A usage identifier for this UPC code. |
IsSystem | Int | False |
A flag indicating whether this UPC code is attached to the AvaTax system or to a company. |
EffectiveDate | Date | False |
If this UPC became effective on a certain date, this contains the first date on which the UPC was effective. |
Description | String | False |
Description of the product to which this UPC applies. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
Users table for AvalaraAvatax data provider.
To create a new user the following fields should be specified. A newly created user will receive an email inviting them to create their password. This means that you must provide a valid email address for all user accounts created.
INSERT INTO Users (AccountId, UserName, FirstName, LastName, Email, securityRoleId) VALUES (2000137504, 'user123', 'James', 'Smith', '[email protected]', 'AccountUser')
Only user selectable fields can be updated. To update a user, you need to specify Id and AccountId in WHERE clause.
UPDATE Users SET IsActive = true WHERE Id = 332668 AND AccountId = 2000137504
To delete a user, you need to specify Id and AccountId in WHERE clause.
DELETE FROM Users WHERE Id = 332668 AND AccountId = 2000137504
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this user. |
AccountId [KEY] | Int | False |
The unique ID number of the account to which this user belongs. |
PostalCode | String | False |
The postal code in which this user resides. |
SecurityRoleId | String | False |
The security level for this user. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
PasswordStatus | String | False |
The status of the user's password. For a new user created, this is always going to be `UserMustChange`. |
String | False |
The email address to be used to contact this user. If the user has forgotten a password, an email can be sent to this email address with information on how to reset this password. | |
UserName | String | False |
The username which is used to log on to the AvaTax website, or to authenticate against API calls. |
CompanyId | Int | False |
If this user is locked to one company (and its children), this is the unique ID number of the company to which this user belongs. |
FirstName | String | False |
The first or given name of the user. |
LastName | String | False |
The last or family name of the user. |
IsActive | Bool | False |
True if this user is currently active. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.
Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard.
Dynamic views, such as queries exposed as views, and views for looking up specific combinations of project_team work items are supported.
Name | Description |
BatchFiles | BatchFiles view for AvalaraAvatax data provider. |
CustomerCustomFields | CustomerCustomFields view for AvalaraAvatax data provider. |
CustomerExposureZones | CustomerExposureZones view for AvalaraAvatax data provider. |
FilingCalendarAvailablePOA | FilingCalendarAvailablePOA view for AvalaraAvatax data provider. |
ItemClassifications | ItemClassifications view for AvalaraAvatax data provider. |
ItemParameters | ItemParameters view for AvalaraAvatax data provider. |
LocationSettings | LocationSettings view for AvalaraAvatax data provider. |
Nexus | Nexus table for AvalaraAvatax data provider. |
NoticeComments | NoticeComments view for AvalaraAvatax data provider. |
NoticeFinances | NoticeFinances view for AvalaraAvatax data provider. |
NoticeResponsibility | NoticeResponsibility view for AvalaraAvatax data provider. |
NoticeRootCause | NoticeRootCause view for AvalaraAvatax data provider. |
ReportParameters | ReportParameters view for AvalaraAvatax data provider. |
Reports | Reports table for AvalaraAvatax data provider. |
Subscriptions | Subscriptions table for AvalaraAvatax data provider. |
TransactionAddresses | TransactionAddresses view for AvalaraAvatax data provider. |
TransactionInvoiceMessages | TransactionInvoicemessages view for AvalaraAvatax data provider. |
TransactionLocationTypes | TransactionLocationTypes view for AvalaraAvatax data provider. |
TransactionMessages | TransactionMessages view for AvalaraAvatax data provider. |
TransactionParameters | TransactionParameters view for AvalaraAvatax data provider. |
TransactionSummary | TransactionSummary view for AvalaraAvatax data provider. |
TransactionTaxDetailsByTaxType | TransactionTaxdetailsbytaxtype view for AvalaraAvatax data provider. |
BatchFiles view for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The unique ID number assigned to this batch file. |
BatchId | Int | The unique ID number of the batch that this file belongs to. |
CompanyId [KEY] | Int | The Company ID number of the company that owns this batch. |
Name | String | Logical Name of file. |
ContentLength | Int | Size of content, in bytes. |
FilePath | String | Path to the file - name/S3 key. |
FileExtension | String | File extension (e.g. CSV). |
FileLocalPath | String | Local path of the file. |
ErrorCount | Int | Number of errors that occurred when processing this file. |
ContentType | String | Content mime type (e.g. text/csv). This is used for HTTP downloading. |
CustomerCustomFields view for AvalaraAvatax data provider.
To retrieve records from CustomerCustomFields view, at least CompanyId or CompanyId and CompanyCode should be specified in the WHERE clause. The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. CompanyId and CompanyCode support server side filtering with the = operator. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM CustomerCustomFields WHERE CompanyId = '247015' AND CustomerCode = 'CC001'
Name | Type | Description |
CompanyId [KEY] | String | The company Id of the parent record. |
CustomerCode [KEY] | String | The customer code this record is associated to. |
Name | String | The name of the custom field. |
Value | String | The value of the custom field. |
CustomerExposureZones view for AvalaraAvatax data provider.
To retrieve records from CustomerExposureZones view, at least CompanyId or CompanyId and CompanyCode should be specified in the WHERE clause. The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. CompanyId and CompanyCode support server side filtering with the = operator. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM CustomerExposureZones WHERE CompanyId = '247015' AND CustomerCode = 'CC001'
Name | Type | Description |
Id | Int | A unique ID number representing this exposure zone. |
CompanyId [KEY] | Int | The unique ID number of the AvaTax company that recorded this customer. |
CustomerCode [KEY] | String | The customer code this record is associated to. |
Name | String | The short name of this exposure zone, suitable for use in a drop-down list. |
Country | String | Two character ISO 3166 county code for the country component of this exposure zone. |
Created | Datetime | The date when this record was created. |
Region | String | Two or three character ISO 3166 region, province, or state name of this exposure zone. |
Description | String | A more complete description of this exposure zone, suitable for use as a tooltip or help text. |
Modified | Datetime | The date/time when this record was last modified. |
Tag | String | A tag indicating |
FilingCalendarAvailablePOA view for AvalaraAvatax data provider.
Name | Type | Description |
CompanyId [KEY] | String | Company Id of the parent record. |
Bytes | String | Bytes of the file. |
Filename | String | Original filename. |
Success | Bool | True if this download succeeded. |
ContentType | String | Mime content type. |
ItemClassifications view for AvalaraAvatax data provider.
Name | Type | Description |
CompanyId [KEY] | String | The CompanyId of the parent record. |
ItemId [KEY] | String | The unique ID number of the item this product belongs to. |
SystemCode | String | The system code in which the product belongs. |
ProductCode | String | The product code of an item in a given system. |
ItemParameters view for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The id of the parameter. |
CompanyId [KEY] | String | The CompanyId of the parent record. |
ItemId [KEY] | Int | The item id. |
Name | String | The parameter's name. |
Unit | String | The unit of measurement code for the parameter. |
Value | String | The value for the parameter. |
LocationSettings view for AvalaraAvatax data provider.
Name | Type | Description |
CompanyId [KEY] | String | CompanyId of the parent record. |
LocationId [KEY] | String | The LocationId that this setting is associated to. |
QuestionId | Int | The unique ID number of the location question answered. |
QuestionName | String | The name of the question. |
Value | String | The answer the user provided. |
Nexus table for AvalaraAvatax data provider.
To create a nexus declaration for your company, you must first obtain a list of Avalara-defined nexus querying NexusDefinitions table. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are CompanyId, EffectiveDate, EndDate, LocalNexusTypeId, TaxId, NexusTypeId, HasPermanentEstablishment, and IsSellerImporterOfRecord.
When calling CreateNexus or UpdateNexus, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. If any data does not match, AvaTax may not recognize your nexus declaration. To create a Nexus you must specify Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup of an existing Avalara-defined system nexus object and optionally any other selectable field.
INSERT INTO Nexus (CompanyId, Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup, EffectiveDate) VALUES (283040,'US','US','Country','US','UNITED STATES','UNITED STATES','Hospitality', '2019-11-08')
Only user selectable fields can be updated. To update a nexus object, you need to specify Id and CompanyId in WHERE clause.
UPDATE Nexus SET HasPermanentEstablishment = true WHERE Id = 20684351 AND CompanyId = 283040
To delete a nexus object, you need to specify Id and CompanyId in WHERE clause.
DELETE FROM Nexus WHERE Id = 20684351 AND CompanyId = 283040
Name | Type | ReadOnly | Description |
Id [KEY] | Int | False |
The unique ID number of this declaration of nexus. |
CompanyId [KEY] | Int | False |
The unique ID number of the company that declared nexus. |
TaxAuthorityId | Int | False |
A unique ID number of the tax authority that is associated with this nexus. |
IsSellerImporterOfRecord | Bool | False |
For nexus declarations at the country level, specifies whether this company is considered the importer of record in this nexus region. Set this value to `true` to consider your company as the importer of record and collect these taxes. Leave this value as false or null and taxes will be calculated as if your company is not the importer of record. |
StateAssignedNo | String | False |
The state assigned number of this jurisdiction. |
Sourcing | String | False |
Indicates whether this nexus is defined as origin or destination nexus. |
JurisName | String | False |
The common name of the jurisdiction in which this company declared nexus. |
TaxId | String | False |
Optional - the tax identification number under which you declared nexus. |
JurisCode | String | False |
The code identifying the jurisdiction in which this company declared nexus. |
EffectiveDate | Date | False |
The date when this nexus began. If not known, set to null. |
CreatedUserId | Int | False |
The User ID of the user who created this record. |
Region | String | False |
Name or ISO 3166 code identifying the region within the country. |
ModifiedDate | Datetime | False |
The date/time when this record was last modified. |
NexusTaxTypeGroup | String | False |
The type of nexus that this company is declaring. Replaces NexusTypeId. |
ShortName | String | False |
The short name of the jurisdiction. |
IsSSTActive | Bool | False |
For the United States, this flag indicates whether this particular nexus falls within a U.S. |
JurisdictionTypeId | String | False |
The type of the jurisdiction in which this company declared nexus. |
HasLocalNexus | Bool | False |
True if you are also declaring local nexus within this jurisdiction. Many U.S. states have options for declaring nexus in local jurisdictions as well as within the state. |
ModifiedUserId | Int | False |
The user ID of the user who last modified this record. |
Country | String | False |
Name or ISO 3166 code identifying the country in which this company declared nexus. |
HasPermanentEstablishment | Bool | False |
Set this value to true if your company has a permanent establishment within this jurisdiction. |
NexusTypeId | String | False |
The type of nexus that this company is declaring. |
EndDate | Date | False |
If this nexus will end or has ended on a specific date, set this to the date when this nexus ends. |
LocalNexusTypeId | String | False |
If you are declaring local nexus within this jurisdiction, this indicates whether you are declaring only a specified list of local jurisdictions, all state-administered local jurisdictions, or all local jurisdictions. |
SignatureCode | String | False |
The signature code of the boundary region as defined by Avalara. |
CreatedDate | Datetime | False |
The date when this record was created. |
PageKey | String | False |
Nexus table for AvalaraAvatax data provider.
To create a nexus declaration for your company, you must first obtain a list of Avalara-defined nexus querying NexusDefinitions table. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are CompanyId, EffectiveDate, EndDate, LocalNexusTypeId, TaxId, NexusTypeId, HasPermanentEstablishment, and IsSellerImporterOfRecord.
When calling CreateNexus or UpdateNexus, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. If any data does not match, AvaTax may not recognize your nexus declaration. To create a Nexus you must specify Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup of an existing Avalara-defined system nexus object and optionally any other selectable field.
INSERT INTO Nexus (CompanyId, Country, Region, JurisdictionTypeId, JurisCode,JurisName, ShortName, NexusTaxTypeGroup, EffectiveDate) VALUES (283040,'US','US','Country','US','UNITED STATES','UNITED STATES','Hospitality', '2019-11-08')
Only user selectable fields can be updated. To update a nexus object, you need to specify Id and CompanyId in WHERE clause.
UPDATE Nexus SET HasPermanentEstablishment = true WHERE Id = 20684351 AND CompanyId = 283040
To delete a nexus object, you need to specify Id and CompanyId in WHERE clause.
DELETE FROM Nexus WHERE Id = 20684351 AND CompanyId = 283040
Name | Type | Description |
Id [KEY] | Int | The unique ID number of this declaration of nexus. |
TaxAuthorityId | Int | A unique ID number of the tax authority that is associated with this nexus. |
IsSellerImporterOfRecord | Bool | For nexus declarations at the country level, specifies whether this company is considered the importer of record in this nexus region. Set this value to `true` to consider your company as the importer of record and collect these taxes. Leave this value as false or null and taxes will be calculated as if your company is not the importer of record. |
StateAssignedNo | String | The state assigned number of this jurisdiction. |
Sourcing | String | Indicates whether this nexus is defined as origin or destination nexus. |
JurisName | String | The common name of the jurisdiction in which this company declared nexus. |
TaxId | String | Optional - the tax identification number under which you declared nexus. |
JurisCode | String | The code identifying the jurisdiction in which this company declared nexus. |
EffectiveDate | Date | The date when this nexus began. If not known, set to null. |
CreatedUserId | Int | The User ID of the user who created this record. |
Region | String | Name or ISO 3166 code identifying the region within the country. |
ModifiedDate | Datetime | The date/time when this record was last modified. |
NexusTaxTypeGroup | String | The type of nexus that this company is declaring. Replaces NexusTypeId. |
ShortName | String | The short name of the jurisdiction. |
IsSSTActive | Bool | For the United States, this flag indicates whether this particular nexus falls within a U.S. |
JurisdictionTypeId | String | The type of the jurisdiction in which this company declared nexus. |
HasLocalNexus | Bool | True if you are also declaring local nexus within this jurisdiction. Many U.S. states have options for declaring nexus in local jurisdictions as well as within the state. |
ModifiedUserId | Int | The user ID of the user who last modified this record. |
Country | String | Name or ISO 3166 code identifying the country in which this company declared nexus. |
HasPermanentEstablishment | Bool | Set this value to true if your company has a permanent establishment within this jurisdiction. |
NexusTypeId | String | The type of nexus that this company is declaring. |
EndDate | Date | If this nexus will end or has ended on a specific date, set this to the date when this nexus ends. |
LocalNexusTypeId | String | If you are declaring local nexus within this jurisdiction, this indicates whether you are declaring only a specified list of local jurisdictions, all state-administered local jurisdictions, or all local jurisdictions. |
SignatureCode | String | The signature code of the boundary region as defined by Avalara. |
CreatedDate | Datetime | The date when this record was created. |
PageKey | String |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
Rows@Next | String | Identifier for the next page of results. Do not set this value manually. |
NoticeComments view for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The unique ID number of this notice. |
CompanyId [KEY] | Int | The company ID to which this file will be attached. |
NoticeId [KEY] | Int | The ID of the notice this comment is attached too. |
ModifiedUserId | Int | The user ID of the user who last modified this record. |
AttachmentUploadRequest | String | An attachment to the detail |
ResourceFileTypeId | Int | The resource type ID of this file. |
Name | String | The original name of this file. |
Content | String | This stream contains the bytes of the file being uploaded. |
Length | Int | Length of the file in bytes. |
Username | String | The username adding the file |
AccountId | Int | The account ID to which this file will be attached. |
Date | Datetime | The date this comment was entered |
ResourceFileId | Int | resourceFileId |
ModifiedDate | Datetime | The date/time when this record was last modified. |
CommentTypeId | Int | taxNoticeCommentTypeId |
Comment | String | TaxNoticeComment |
CommentType | String | taxNoticeCommentType |
CommentUserName | String | TaxNoticeCommentUserName |
TaxNoticeFileName | String | TaxNoticeFileName |
CommentLink | String | TaxNoticeCommentLink |
CommentUserId | Int | TaxNoticeCommentUserId |
NoticeFinances view for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The Unique Id of the Finance Model. |
CompanyId [KEY] | Int | The company ID to which this file will be attached. |
NoticeId | Int | The unique ID of the the tax notice associated with the the finance detail. |
NoticeNumber | String | The sequential number of the notice. |
Penalty | String | The amount of penalty listed on the notice. |
TaxAbated | String | The amount of tax abated on the notice. |
ResourceFileId | Int | The ResourceFileId of the finance detail attachment. |
CreatedUserId | Int | The User ID of the user who created this record. |
ModifiedDate | Datetime | The date/time when this record was last modified. |
TaxDue | String | The amount of tax due on the notice. |
Interest | String | The amount of interest listed on the notice. |
AttachmentUploadRequest | String | An attachment to the finance detail. |
ResourceFileTypeId | Int | The resource type ID of this file. |
Name | String | The original name of this file. |
Content | String | This stream contains the bytes of the file being uploaded.. |
Length | Int | Length of the file in bytes. |
Username | String | The username adding the file. |
AccountId | Int | The account ID to which this file will be attached. |
Credits | String | The amount of credits listed on the notice. |
CspFeeRefund | String | The amount of CSP Fee Refund on the notice. |
NoticeDate | Datetime | The date of the notice. |
ModifiedUserId | Int | The user ID of the user who last modified this record. |
CustomerPenalty | String | The amount of customer penalty on the notice. |
DueDate | Datetime | The due date of the notice. |
CustomerInterest | String | The amount of customer interest on the notice. |
FileName | String | The name of the file attached to the finance detail. |
CreatedDate | Datetime | The date when this record was created. |
NoticeResponsibility view for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The unique ID number of this filing frequency. |
CompanyId [KEY] | String | The CompanyId of the parent record. |
NoticeId | Int | TaxNoticeId |
TaxNoticeResponsibilityId | Int | TaxNoticeResponsibilityId |
Description | String | The description name of this filing frequency. |
NoticeRootCause view for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The unique ID number of this filing frequency. |
CompanyId [KEY] | String | The CompanyId of the parent record. |
NoticeId [KEY] | Int | TaxNoticeId |
Description | String | The description name of this root cause. |
TaxNoticeRootCauseId | Int | TaxNoticeRootCauseId |
ReportParameters view for AvalaraAvatax data provider.
Name | Type | Description |
ReportId [KEY] | String | The Id of the parent Report. |
CurrencyCode | String | The currency code used for your report. |
State | String | The state filter used for your report. |
DateFormat | String | The date format used for your report. |
StartDate | Datetime | The start date filter used for your report. |
Country | String | The country filter used for your report. |
Culture | String | The culture used your report. |
DateFilter | String | The date type filter used for your report. |
EndDate | Datetime | The end date filter used for your report. |
DocType | String | The doc type filter used for your report. |
Reports table for AvalaraAvatax data provider.
Name | Type | Description |
Id [KEY] | Int | The unique identifier of the report task. |
CompletedDate | Datetime | The time when the report was finished building, if completed. |
CreatedUser | String | The userName of the user who initiated the report task. |
CreatedUserId | Int | The Id of the user who initiated this task. |
File | String | The name of the report file, if available. |
Status | String | The current status of the report building task. |
ReportType | String | The type of the report: ExportDocumentLine, etc. |
AccountId | Int | The ID of the account the reported transactions are from. |
Format | String | The format of the report file. |
CompanyId | Int | The ID of the company the reported transactions are from. |
LinkedParameters | String | The parametes used to build the report. |
CurrencyCode | String | The currency code used for your report. |
State | String | The state filter used for your report. |
DateFormat | String | The date format used for your report. |
StartDate | Datetime | The start date filter used for your report. |
Country | String | The country filter used for your report. |
Culture | String | The culture used your report. |
DateFilter | String | The date type filter used for your report. |
EndDate | Datetime | The end date filter used for your report. |
DocType | String | The doc type filter used for your report. |
CreatedDate | Datetime | The time when the report task was initiated. |
Size | Int | The size of the report file, if available. |
PageKey | String |
Subscriptions table for AvalaraAvatax data provider.
The Sync App will use the Avalara API to process WHERE clause conditions built with the following columns and operators. Most of the columns support server side filtering with the following operators: =,>,<,<=,>=,IN,NOT,IN,AND,OR,LIKE. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM Subscriptions WHERE SubscriptionDescription LIKE 'AVA%'
Name | Type | Description |
Id [KEY] | Int | The unique ID number of this subscription. |
AccountId [KEY] | Int | The unique ID number of the account this subscription belongs to. |
ModifiedUserId | Int | The user ID of the user who last modified this record. |
CreatedUserId | Int | The User ID of the user who created this record. |
ModifiedDate | Datetime | The date/time when this record was last modified. |
EndDate | Date | If the subscription has ended or will end, this date indicates when the subscription ends. |
SubscriptionTypeId | Int | The unique ID number of the service that the account is subscribed to. If this is provided, subscription description is ignored. |
EffectiveDate | Date | The date when the subscription began. |
CreatedDate | Datetime | The date when this record was created. |
SubscriptionDescription | String | A friendly description of the service that the account is subscribed to. You can either provide the subscription type Id or this but not both. If subscription type Id is provided, then this information is ignored and this field will be updated with the information from subscription type id. |
PageKey | String |
TransactionAddresses view for AvalaraAvatax data provider.
Name | Type | Description |
Id | Long | The unique ID number of this address. |
TransactionId | Long | The unique ID number of the document to which this address belongs. |
TransactionCode [KEY] | String | A unique customer-provided code identifying this transaction. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
PostalCode | String | The postal code or zip code for the address. |
Longitude | String | Longitude for this address |
TaxRegionId | Int | The unique ID number of the tax region for this address. |
Country | String | The ISO 3166 country code |
City | String | The city for the address. |
Latitude | String | Latitude for this address |
Region | String | The ISO 3166 region code. E.g., the second part of ISO 3166-2. |
Line3 | String | The third line of the address. |
Line2 | String | The second line of the address. |
Line1 | String | The first line of the address. |
BoundaryLevel | String | The boundary level at which this address was validated. |
TransactionInvoicemessages view for AvalaraAvatax data provider.
Name | Type | Description |
TransactionId [KEY] | Long | The transaction code of the parent record. |
TransactionCode [KEY] | String | A unique customer-provided code identifying this transaction. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
LineNumbers | String | The applicable tax line numbers and codes. |
Content | String | The content of the invoice message. |
TransactionLocationTypes view for AvalaraAvatax data provider.
Name | Type | Description |
TransactionId | Long | Transaction ID |
TransactionCode [KEY] | String | A unique customer-provided code identifying this transaction. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
TransactionAddressId | Long | Address ID for the transaction. |
TransactionLocationTypeId | Int | Location type ID for this location type in transaction. |
LocationTypeCode | String | Location type code |
TransactionMessages view for AvalaraAvatax data provider.
Name | Type | Description |
TransactionId [KEY] | Long | The transaction id of the parent record. |
TransactionCode [KEY] | String | The transaction code of the parent record. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
RefersTo | String | Information about what object in your request this message refers to. |
Summary | String | A brief summary of what this message tells us. |
Severity | String | A category that indicates how severely this message affects the results. |
Source | String | The name of the code or service that generated this message. |
Details | String | Detailed information that explains what the summary provided. |
TransactionParameters view for AvalaraAvatax data provider.
Name | Type | Description |
TransactionId [KEY] | Long | The transaction id of the parent record. |
TransactionCode [KEY] | String | The transaction code of the parent record. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
Name | String | The name of the parameter. |
Unit | String | The unit of measure of the parameter value. |
Value | String | The value of the parameter. |
TransactionSummary view for AvalaraAvatax data provider.
Name | Type | Description |
TransactionId [KEY] | Long | The transaction id this summary is associated to. |
TransactionCode [KEY] | String | A unique customer-provided code identifying this transaction. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
StateAssignedNo | String | The state assigned number of the jurisdiction that collects this tax. |
JurisName | String | The name of the jurisdiction that collects this tax. |
TaxGroup | String | Group code when special grouping is enabled. |
JurisCode | String | Jurisdiction Code for the taxing jurisdiction |
Region | String | Two or three character ISO region, state or province code, if applicable. |
JurisType | String | The type of jurisdiction that collects this tax. |
RateTypeCode | String | Indicates the code of the rate type. |
TaxSubType | String | The tax subtype of this tax. |
NonTaxable | String | The amount of the transaction that was non-taxable. |
TaxName | String | The name of the tax. |
TaxAuthorityType | Int | The unique ID of the Tax Authority Type that collects this tax. |
Tax | String | Tax amount - The calculated tax (Base * Rate). |
Taxable | String | Tax Base - The adjusted taxable amount. |
Country | String | Two character ISO-3166 country code. |
TaxCalculated | String | The amount of tax that AvaTax calculated for the transaction. |
Exemption | String | The amount of the transaction that was exempt. |
TaxType | String | The tax type of this tax. |
Rate | String | Tax Rate - The rate of taxation, as a fraction of the amount. |
TransactionTaxdetailsbytaxtype view for AvalaraAvatax data provider.
Name | Type | Description |
TransactionId [KEY] | String | |
TransactionCode | String | A unique customer-provided code identifying this transaction. |
TransactionStatus | String | The status of the transaction to which this line item belongs. |
TotalNonTaxable | String | Total non taxable by tax type. |
LinkedTaxSubTypeDetails | String | Tax subtype details. |
TotalExempt | String | Total exempt by tax type. |
TotalTaxable | String | Total taxable amount by tax type. |
TotalTax | String | Total tax by tax type. |
TaxType | String | Tax Type. |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
AuthScheme | The scheme used for authentication. Accepted entries are Basic and LicenseKey. |
UseSandbox | A boolean indicating whether you are using a Sandbox account. The provider makes requests to the production environment by default. |
User | The Avalara user account used to authenticate. |
Password | The password used to authenticate the user. |
AccountId | The account ID number of your Avalara account. |
LicenseKey | The license key generated by an account administrator on the Avalara website. |
Property | Description |
CompanyCode | Only transaction information tied to this company code will be returned. |
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Property | Description |
GenerateSchemaFiles | Indicates the user preference as to when schemas should be generated and saved. |
IncludeAdjustedTransactions | Whether or not to include adjusted transactions in the transaction listing. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
Pagesize | The maximum number of results to return per page from Avalara when using client paging. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
Property | Description |
AuthScheme | The scheme used for authentication. Accepted entries are Basic and LicenseKey. |
UseSandbox | A boolean indicating whether you are using a Sandbox account. The provider makes requests to the production environment by default. |
User | The Avalara user account used to authenticate. |
Password | The password used to authenticate the user. |
AccountId | The account ID number of your Avalara account. |
LicenseKey | The license key generated by an account administrator on the Avalara website. |
The scheme used for authentication. Accepted entries are Basic and LicenseKey.
A boolean indicating whether you are using a Sandbox account. The provider makes requests to the production environment by default.
If you are using a production account, this property can be left blank.
The Avalara user account used to authenticate.
Together with Password, this field is used to authenticate against the Avalara server.
The password used to authenticate the user.
The User and Password are together used to authenticate with the server.
The account ID number of your Avalara account.
The Account Id is listed in the upper right hand corner of the Avalara admin console.
The license key generated by an account administrator on the Avalara website.
You can generate a license key as follows:
This section provides a complete list of the Connection properties you can configure in the connection string for this provider.
Property | Description |
CompanyCode | Only transaction information tied to this company code will be returned. |
Only transaction information tied to this company code will be returned.
Only transaction information tied to this company code will be returned.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
The certificate to be accepted from the server when connecting using TLS/SSL.
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.
This property can take the following forms:
Description | Example |
A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
A path to a local file containing the certificate | C:\cert.cer |
The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
The MD5 Thumbprint (hex values can also be either space or colon separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
The SHA1 Thumbprint (hex values can also be either space or colon separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
The protocol used by a proxy-based firewall.
This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy. Note that by default, the Sync App connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.
Type | Default Port | Description |
TUNNEL | 80 | When this is set, the Sync App opens a connection to Avalara and traffic flows back and forth through the proxy. |
SOCKS4 | 1080 | When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted. |
SOCKS5 | 1080 | When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.
The name or IP address of a proxy-based firewall.
This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.
Note that the Sync App uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.
The TCP port for a proxy-based firewall.
This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.
The user name to use to authenticate with a proxy-based firewall.
The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.
A password used to authenticate to a proxy-based firewall.
This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
The hostname or IP address of a proxy to route HTTP traffic through.
The hostname or IP address of a proxy to route HTTP traffic through. The Sync App can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.
If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.
By default, the Sync App uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.
The TCP port the ProxyServer proxy is running on.
The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.
The authentication type to use to authenticate to the ProxyServer proxy.
This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.
Note that the Sync App will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
The authentication type can be one of the following:
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
A user name to be used to authenticate to the ProxyServer proxy.
The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:
user@domain domain\user
A password to be used to authenticate to the ProxyServer proxy.
This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.
If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.
If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.
For SOCKS 5 authentication or tunneling, see FirewallType.
By default, the Sync App uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.
The SSL type to use when connecting to the ProxyServer proxy.
This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:
AUTO | Default setting. If the URL is an HTTPS URL, the Sync App will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option. |
ALWAYS | The connection is always SSL enabled. |
NEVER | The connection is not SSL enabled. |
TUNNEL | The connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note that the Sync App uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
Property | Description |
LogModules | Core modules to be included in the log file. |
Core modules to be included in the log file.
Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.
See the Logging page for an overview.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
A path to the directory that contains the schema files defining tables, views, and stored procedures.
The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is "%APPDATA%\\CData\\Avalara Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
Property | Description |
GenerateSchemaFiles | Indicates the user preference as to when schemas should be generated and saved. |
IncludeAdjustedTransactions | Whether or not to include adjusted transactions in the transaction listing. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
Pagesize | The maximum number of results to return per page from Avalara when using client paging. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
Indicates the user preference as to when schemas should be generated and saved.
This property outputs schemas to .rsd files in the path specified by Location.
Available settings are the following:
When you set GenerateSchemaFiles to OnUse, the Sync App generates schemas as you execute SELECT queries. Schemas are generated for each table referenced in the query.
When you set GenerateSchemaFiles to OnCreate, schemas are only generated when a CREATE TABLE query is executed.
Another way to use this property is to obtain schemas for every table in your database when you connect. To do so, set GenerateSchemaFiles to OnStart and connect.
Whether or not to include adjusted transactions in the transaction listing.
Whether or not to include adjusted transactions in the transaction listing.
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
These hidden properties are used only in specific use cases.
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT | Determines whether to convert date-time values to GMT, instead of the local time of the machine. |
RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
The maximum number of results to return per page from Avalara when using client paging.
The Pagesize property affects the maximum number of results to return per page from Avalara when using client paging. A higher value will return more results per page, but may also cause a timeout exception. If you must use client paging on your server and have a fast server, setting a higher Pagesize may be desirable. We recommend testing various sizes against a large resultset to determine what works best in your use case.
This property indicates whether or not to include pseudo columns as columns to the table.
This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".
The value in seconds until the timeout error is thrown, canceling the operation.
If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.
If Timeout expires and the operation is not yet complete, the Sync App throws an exception.
A filepath pointing to the JSON configuration file containing your custom views.
User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Sync App automatically detects the views specified in this file.
You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Sync App.
This User Defined View configuration file is formatted as follows:
For example:
{ "MyView": { "query": "SELECT * FROM Transactions WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"