PostInvoice - accountsIQ/API-Wiki GitHub Wiki

The PostInvoice function posts an existing invoice to the transaction table.

Declaration

C#

public WSResultStatus PostInvoice(string token, int invoiceID)

Visual Basic

Public Function PostInvoice(ByVal token As String, ByVal invoiceID As Integer) As WSResultStatus

Parameter List

Parameter Type Description
token String The session token retrieved during authentication.
invoiceID Int32 Unique identifier of the invoice to post to the transaction journal.

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);

  WSResult2OfArrayOfInvoice invoices = ws.GetInvoicesByExternalReference(auth,"External reference 2" );
  Assert.IsTrue(invoices.Result != null);
  Invoice invoice = invoices.Result[invoices.Result.Length-1];

  WSResultStatus postedResult = ws.PostInvoice(auth, invoice.InvoiceID);
  Assert.IsTrue(postedResult.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))
  Dim invoices As WSResult2OfArrayOfInvoice = Me.ws.GetInvoicesByExternalReference(Me.auth, "External reference 2")
  Assert.IsTrue((Not invoices.Result Is Nothing))
  Dim invoice As Invoice = invoices.Result((invoices.Result.Length - 1))
  Assert.IsTrue((Me.ws.PostInvoice(Me.auth, invoice.InvoiceID).Status = OperationStatus.Created))
End If

See Also

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