Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →How to pipe Wave Financial Data to CSV in PowerShell
Use standard PowerShell cmdlets to access Wave Financial tables.
The CData Cmdlets Module for Wave Financial is a standard PowerShell module offering straightforward integration with Wave Financial. Below, you will find examples of using our WaveFinancial Cmdlets with native PowerShell cmdlets.
Creating a Connection to Your Wave Financial Data
Connect using the API Token
You can connect to Wave Financial by specifying the APIToken You can obtain an API Token using the following steps:
- Log in to your Wave account and navigate to "Manage Applications" in the left pane.
- Select the application that you would like to create a token for. You may need to create an application first.
- Click the "Create token" button to generate an APIToken.
Connect using OAuth
If you wish, you can connect using the embedded OAuth credentials. See the Help documentation for more information.
$conn = Connect-WaveFinancial
Selecting Data
Follow the steps below to retrieve data from the Invoices table and pipe the result into to a CSV file:
Select-WaveFinancial -Connection $conn -Table Invoices | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myInvoicesData.csv -NoTypeInformation
You will notice that we piped the results from Select-WaveFinancial into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.
The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.Deleting Data
The following line deletes any records that match the criteria:
Select-WaveFinancial -Connection $conn -Table Invoices -Where "Status = SENT" | Remove-WaveFinancial
Inserting and Updating Data
The cmdlets make data transformation easy as well as data cleansing. The following example loads data from a CSV file into Wave Financial, checking first whether a record already exists and needs to be updated instead of inserted.
Import-Csv -Path C:\MyInvoicesUpdates.csv | %{ $record = Select-WaveFinancial -Connection $WaveFinancial -Table Invoices -Where ("Id = `'"+$_.Id+"`'") if($record){ Update-WaveFinancial -Connection $wavefinancial -Table Invoices -Columns ("Id","DueDate") -Values ($_.Id, $_.DueDate) -Where ("Id = `'"+$_.Id+"`'") }else{ Add-WaveFinancial -Connection $wavefinancial -Table Invoices -Columns ("Id","DueDate") -Values ($_.Id, $_.DueDate) } }
As always, our goal is to simplify the way you connect to data. With cmdlets users can install a data module, set the connection properties, and start building. Download Cmdlets and start working with your data in PowerShell today!