SaveInvoice - accountsIQ/API-Wiki GitHub Wiki
The SaveInvoice
function saves a modified invoice back to the system.
public WSResultStatus SaveInvoice(string token, Invoice invoice, bool create)
Public Function SaveInvoice(ByVal token As String, ByVal invoice As Invoice, ByVal create As Boolean) As WSResultStatus
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. |
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);
}
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