![]() |
VOOZH | about |
The CData Cmdlets for Avalara AvaTax are standard PowerShell cmdlets that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time and bidirectional access to Avalara AvaTax.
The Cmdlets are not only a PowerShell interface to Avalara AvaTax, but also an SQL interface; this tutorial shows how to use both to create, retrieve, update, and delete Avalara AvaTax data. We also show examples of the ADO.NET equivalent, which is possible with the CData ADO.NET Provider for Avalara. To access Avalara AvaTax data from other .NET applications, like LINQPad, use the CData ADO.NET Provider for Avalara.
Once you have acquired the necessary connection properties, accessing Avalara AvaTax data in PowerShell can be enabled in three steps.
The primary method for performing basic authentication is to provide your login credentials, as follows:
Optionally, if you are making use of a sandbox environment, set the following:
Alternatively, you can authenticate using your account number and license key. Connect to data using the following:
Install the module:
Install-Module AvalaraAvataxCmdlets
Connect:
$avalaraavatax = Connect-AvalaraAvatax -User "$User" -Password "$Password"
Search for and retrieve data:
$code = "051349" $transactions = Select-AvalaraAvatax -Connection $avalaraavatax -Table "Transactions" -Where "Code = `'$Code`'" $transactions
You can also use the Invoke-AvalaraAvatax cmdlet to execute SQL commands:
$transactions = Invoke-AvalaraAvatax -Connection $avalaraavatax -Query 'SELECT * FROM Transactions WHERE Code = @Code' -Params @{'@Code'='051349'}
Load the provider's assembly:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Avalara\lib\System.Data.CData.AvalaraAvatax.dll")
Connect to Avalara AvaTax:
$conn= New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxConnection("User=MyUser;Password=MyPassword;")
$conn.Open()
Instantiate the AvalaraAvataxDataAdapter, execute an SQL query, and output the results:
$sql="SELECT Id, TotalTax from Transactions"
$da= New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxDataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach {
Write-Host $_.id $_.totaltax
}
Update-AvalaraAvatax -Connection $AvalaraAvatax -Columns @('Id','TotalTax') -Values @('MyId', 'MyTotalTax') -Table Transactions -Id "MyId"
$cmd = New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxCommand("UPDATE Transactions SET Code='051349' WHERE Id = @myId", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxParameter("@myId","10456255-0015501366")))
$cmd.ExecuteNonQuery()
Add-AvalaraAvatax -Connection $AvalaraAvatax -Table Transactions -Columns @("Id", "TotalTax") -Values @("MyId", "MyTotalTax")
$cmd = New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxCommand("INSERT INTO Transactions (Code) VALUES (@myCode)", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxParameter("@myCode","051349")))
$cmd.ExecuteNonQuery()
Remove-AvalaraAvatax -Connection $AvalaraAvatax -Table "Transactions" -Id "MyId"
$cmd = New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxCommand("DELETE FROM Transactions WHERE Id=@myId", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.AvalaraAvatax.AvalaraAvataxParameter("@myId","001d000000YBRseAAH")))
$cmd.ExecuteNonQuery()
CodeProject
Download a free trial of the Avalara Data Provider to get started:
Download NowLearn more:
👁 Avalara AvaTax IconRapidly create and deploy powerful .NET applications that integrate with AvaTax.