-
Notifications
You must be signed in to change notification settings - Fork 2
PostCreditNote
Arivetti edited this page Aug 8, 2025
·
2 revisions
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 = "";// See Authentication page for more
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 = "" // See Authentication page for more
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