PostCreditNote - accountsIQ/API-Wiki GitHub Wiki
The PostCreditNote
function posts an existing CreditNote
to the transaction table.
public WSResultStatus PostCreditNote(string token, int CreditNoteID)
Public Function PostCreditNote(ByVal token As String, ByVal CreditNoteID As Integer) As WSResultStatus
Parameter | Type | Description |
---|---|---|
token | String | The session token retrieved during authentication. |
CreditNoteID | Int32 | Unique identifier of the `CreditNote` to post to the transaction journal. |
Integration ws = new Integration();
String auth = ws.Login(entityID, partnerKey, userKey);
if (auth != null)
{
WSResult2OfCreditNote result = ws.GetNewSalesCreditNote(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.CreditNotedQuantity = 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 CreditNoteLine[1];
result.Result.Lines[0] = line;
result.Result.ExchangeRate = 1;
WSResultStatus r = ws.SaveCreditNote(auth, result.Result, true);
Assert.IsTrue(r.Status == OperationStatus.Created);
WSResult2OfArrayOfCreditNote CreditNotes = ws.GetCreditNotesByExternalReference(auth,"External reference 2" );
Assert.IsTrue(CreditNotes.Result != null);
CreditNote CreditNote = CreditNotes.Result[CreditNotes.Result.Length-1];
WSResultStatus postedResult = ws.PostCreditNote(auth, CreditNote.CreditNoteID);
Assert.IsTrue(postedResult.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 WSResult2OfCreditNote = Me.ws.GetNewSalesCreditNote(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.CreditNotedQuantity = 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 CreditNoteLine() { line }
result.Result.ExchangeRate = 1
Assert.IsTrue((Me.ws.SaveCreditNote(Me.auth, result.Result, True).Status = OperationStatus.Created))
Dim CreditNotes As WSResult2OfArrayOfCreditNote = Me.ws.GetCreditNotesByExternalReference(Me.auth, "External reference 2")
Assert.IsTrue((Not CreditNotes.Result Is Nothing))
Dim CreditNote As CreditNote = CreditNotes.Result((CreditNotes.Result.Length - 1))
Assert.IsTrue((Me.ws.PostCreditNote(Me.auth, CreditNote.CreditNoteID).Status = OperationStatus.Created))
End If