SaveInvoice - accountsIQ/API-Wiki GitHub Wiki

The SaveInvoice function saves a modified invoice back to the system.

Declaration

C#

public WSResultStatus SaveInvoice(string token, Invoice invoice, bool create)

Visual Basic

Public Function SaveInvoice(ByVal token As String, ByVal invoice As Invoice, ByVal create As Boolean) As WSResultStatus

Parameter List

Parameter Type Description
token String The session token retrieved during authentication.
invoice Invoice Invoice to save/update back to the system.
create Boolean lag indicating whether to create the invoice if it does not already exist. If the invoice already exist the flag is ignored. If the invoice does not already exist and the flag is on, the invoice is created. If the invoice does not already exist and the flag is off, the invoice is not created.

Example

C#

Integration ws = new Integration();

String auth = ws.Login(entityID, partnerKey, userKey);
if (auth != null)
{
  WSResult2OfInvoice result = ws.GetNewSalesInvoice(auth, "TESTINTEGR");
  Assert.IsNotNull(result.Result);

  InvoiceLine line = new InvoiceLine();
  line.StockItemID = "STOCKITEM1";
  line.StockItemPrice = 100M;
  line.TaxCode = "NT";
  line.TaxRate = 0.21M;
  line.StockItemDescription = "From default";
  line.StockItemCost = 50M;
  line.InvoicedQuantity = 10;
  line.NetAmount = 1000M;
  line.TaxAmount = line.NetAmount * line.TaxRate;
  line.GrossAmount = (1 + line.TaxRate) * line.NetAmount;
  line.GLAccountCode = "1000";
  line.ActualPrice = 100M;
  line.LocationID = "1";
  line.SublocationID = "BIN1";
  line.GLAccountCode = "1000";
  line.OpeningStockGLAccountCode = "2000";
  result.Result.AccountName = "Test integration";
  result.Result.ExternalReference = "External reference 2";

  result.Result.Lines = new InvoiceLine[1];
  result.Result.Lines[0] = line;
  result.Result.ExchangeRate = 1;

  WSResultStatus r = ws.SaveInvoice(auth, result.Result, true);
  Assert.IsTrue(r.Status == OperationStatus.Created);
}

Visual Basic

Dim ws As New Integration

Dim auth As String = ws.Login(entityID, partnerKey, userKey)
If (Not Me.auth Is Nothing) Then
  Dim result As WSResult2OfInvoice = Me.ws.GetNewSalesInvoice(Me.auth, "TESTINTEGR")
  Assert.IsNotNull(result.Result)
  Dim line As New InvoiceLine
  line.StockItemID = "STOCKITEM1"
  line.StockItemPrice = 100
  line.TaxCode = "NT"
  line.TaxRate = 0.21
  line.StockItemDescription = "From default"
  line.StockItemCost = 50
  line.InvoicedQuantity = 10
  line.NetAmount = 1000
  line.TaxAmount = (line.NetAmount * line.TaxRate)
  line.GrossAmount = (Decimal.op_Increment(line.TaxRate) * line.NetAmount)
  line.GLAccountCode = "1000"
  line.ActualPrice = 100
  line.LocationID = "1"
  line.SublocationID = "BIN1"
  line.GLAccountCode = "1000"
  line.OpeningStockGLAccountCode = "2000"
  result.Result.AccountName = "Test integration"
  result.Result.ExternalReference = "External reference 2"
  result.Result.Lines = New InvoiceLine() { line }
  result.Result.ExchangeRate = 1
  Assert.IsTrue((Me.ws.SaveInvoice(Me.auth, result.Result, True).Status = OperationStatus.Created))
End If

See Also

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