Public/Helpers/Import-HaloSuppliersFromAccountingPackage.ps1
|
function Import-HaloSupplierFromQBO { <# .SYNOPSIS Imports Halo Suppliers from QuickBooks Online .DESCRIPTION Imports Halo Suppliers from QuickBooks Online into the Halo API. .OUTPUTS A powershell object containing the response. #> [CmdletBinding()] param ( # The QuickBooks Online Supplier object to import [System.Object]$APSupplier, # The type of import to perform [string]$ImportType = 'quickbooksonline', # The QuickBooks Online Company ID [string] $APCompanyID ) [PSCustomObject]$returnData = @{ _isimport = $true _importtype = $ImportType accounts_id = $APSupplier.id details_id = 1 qbo_company_id = $APCompanyID name = $APSupplier.companyName address = ('{0}{4}{1}{4}{2}{4}{3}' -f $APSupplier.billAddr.line1, $APSupplier.billAddr.city, $APSupplier.billAddr.countrySubDivisionCode, $APSupplier.billAddr.postalCode, [Environment]::NewLine) } if ($Email = $APSupplier.primaryEmailAddr.address) { Add-Member -InputObject $returnData -Name email_address -Value $Email -MemberType NoteProperty -Force } if ($PhoneNumber = $APSupplier.printOnCheckName.freeFormNumber) { Add-Member -InputObject $returnData -Name phone_number -Value $PhoneNumber -MemberType NoteProperty -Force } if (($FirstName = $APSupplier.givenName) -or ($LastName = $APSupplier.familyName)) { Add-Member -InputObject $returnData -Name contact_name -Value (('{0} {1}' -f $FirstName, $LastName).trim()) -MemberType NoteProperty -Force } return $returnData } |