GetSupplierBalanceInformation - accountsIQ/API-Wiki GitHub Wiki

The GetSupplierBalanceInformation function returns the queried accounts balance and credit limit at the specified date.

Declaration

C#

public WSResult2OfArrayOfAccountBalanceInformation GetSupplierBalanceInformation(string token, DateTime edt, string[] SupplierCodes)

Visual Basic

Public Function GetSupplierBalanceInformation(ByVal token As String, ByVal edt As DateTime, ByVal SupplierCodes As String()) As WSResult2OfArrayOfAccountBalanceInformation

Parameter List

Parameter Type Description
token String The session token retrieved during authentication.
currentDate DateTime Date at which the balance should be calculated
supplierCodes String[] Array of Supplier codes for which the balance information is being requested.

Example

C#

Integration ws = new Integration();

String auth = ws.Login(entityID, partnerKey, userKey);
if( auth != null )
{
  WSResult2OfArrayOfCustomer customers = this.ws.GetActiveCustomerList(this.auth);
  Assert.AreEqual<OperationStatus>(OperationStatus.Success, customers.Status);

  WSResult2OfArrayOfAccountBalanceInformation custInfo = this.ws.GetCustomerBalanceInformation(this.auth, DateTime.Now, customers.Result.Select<Customer, String=""> (delegate (Customer a) { return a.Code; }).ToArray<string>());
  Assert.AreEqual<OperationStatus>(OperationStatus.Success, accInfo.Status);

  foreach (AccountBalanceInformation info in custInfo.Result)
  {
    AccountBalanceInformation foundInfo = accInfo.Result.Where<AccountBalanceInformation>(delegate (AccountBalanceInformation x) { return (x.AccountCode == info.AccountCode); }).FirstOrDefault<AccountBalanceInformation>();
    Assert.IsNotNull(foundInfo);
    Assert.AreEqual<int>(info.AccountID, foundInfo.AccountID);
    Assert.AreEqual<string>(info.AccountType, foundInfo.AccountType);
    Assert.AreEqual<decimal>(info.Balance, foundInfo.Balance);
    Assert.AreEqual<decimal>(info.CreditLimit, foundInfo.CreditLimit);
    Assert.AreEqual<decimal>(info.OverCreditLimitBalance, foundInfo.OverCreditLimitBalance);
  }
}

Visual Basic

Dim ws As New Integration_1_1

Dim auth As String = ws.Login(entityID, partnerKey, userKey)      
If (Not Me.auth Is Nothing) Then
  Dim customers As WSResult2OfArrayOfCustomer = Me.ws.GetActiveCustomerList(Me.auth)
  Assert.AreEqual(Of OperationStatus)(OperationStatus.Success, customers.Status)
  Dim custInfo As WSResult2OfArrayOfAccountBalanceInformation = Me.ws.GetCustomerBalanceInformation(Me.auth, DateTime.Now, customers.Result.Select(Of Customer, String)(Function (ByVal a As Customer) Return a.Code End Function).ToArray(Of String)())

  Assert.AreEqual(Of OperationStatus)(OperationStatus.Success, custInfo.Status)
  Dim accInfo As WSResult2OfArrayOfAccountBalanceInformation = Me.ws.GetAccountBalanceInformation(Me.auth, DateTime.Now, customers.Result.Select(Of Customer, Integer)(Function (ByVal a As Customer) Return a.AccountID End Function).ToArray(Of Integer)())
  Assert.AreEqual(Of OperationStatus)(OperationStatus.Success, accInfo.Status)

  Dim info As AccountBalanceInformation
  For Each info In custInfo.Result
      Dim foundInfo As AccountBalanceInformation = accInfo.Result.Where(Of AccountBalanceInformation)(Function (ByVal x As AccountBalanceInformation) 
          Return (x.AccountCode = info.AccountCode)
      End Function).FirstOrDefault(Of AccountBalanceInformation)()

      Assert.IsNotNull(foundInfo)
      Assert.AreEqual(Of Integer)(info.AccountID, foundInfo.AccountID)
      Assert.AreEqual(Of String)(info.AccountType, foundInfo.AccountType)
      Assert.AreEqual(Of Decimal)(info.Balance, foundInfo.Balance)
      Assert.AreEqual(Of Decimal)(info.CreditLimit, foundInfo.CreditLimit)
      Assert.AreEqual(Of Decimal)(info.OverCreditLimitBalance, foundInfo.OverCreditLimitBalance)
  Next
End If

See Also

⚠️ **GitHub.com Fallback** ⚠️