AP Credit Note API v2: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:


==Technical Specification==
==Technical Specification==
#'''Net Total''' is a read-only field that is calculated from the total amount of detail (APCNDTLEntity).
#Net Total must be positive value
#'''Knockoff Total Amount''' must be equal or smaller than Net Total


==References of AutoCount Accounting version 2.0==
==References of AutoCount Accounting version 2.0==
Line 56: Line 59:


===Edit with knockoff AP Invoice===
===Edit with knockoff AP Invoice===
====Load AP C/N with ''Document No''====
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
public void Edit(AutoCount.Authentication.UserSession userSession)
public void Edit(AutoCount.Authentication.UserSession userSession)
Line 77: Line 81:
doc.Reason = "Pricing Adjustment";
doc.Reason = "Pricing Adjustment";
doc.SupplierCNNo = "DSC-00015";
doc.SupplierCNNo = "DSC-00015";
doc.SupplierInvoiceNo = "BIL-00101";

//Default available values: "PURCHASE", "GENERAL"
//Note that user is able to change the above values
//that is maintained in General Maintenance > Journal Type Maintenance
doc.JournalType = "PURCHASE";

//Default available values: "DISCOUNT", "RETURN"
//Note that user is able to change the above values
doc.CNType = "RETURN";

dtl = doc.NewDetail();
dtl.AccNo = "520-0000";
dtl.Description = "Return of Item A";
dtl.Amount = 50.00M;

//Knockoff AP Invoice or AP Debit Note
//"PI-00001" is AP Invoice Document Number
doc.KnockOff(AutoCount.Document.DocumentType.APInvoice, "PI-00001", 50M);

try
{
cmd.SaveAPCN(doc, userSession.LoginUserID);
//Log success
AutoCount.AppMessage.ShowMessage($"New ARCN '{doc.DocNo}' is Created.");
}
catch (AutoCount.AppException ex)
{
//Log fail
AutoCount.AppMessage.ShowMessage("Fail to create new ARCN.\n" + ex.Message);
}
}
</syntaxhighlight>

====Load APCN with ''SupplierCNNo''====
<syntaxhighlight lang="csharp">
public void EditWithSupplierCreditNoteNo(AutoCount.Authentication.UserSession userSession)
{
string supplierCNNo = "DSC-00015";
string creditorCode = "400-X001";

AutoCount.ARAP.APCN.APCNDataAccess cmd = AutoCount.ARAP.APCN.APCNDataAccess.Create(userSession, userSession.DBSetting);
AutoCount.ARAP.APCN.APCNEntity doc = cmd.GetAPCN(supplierCNNo, creditorCode);
AutoCount.ARAP.APCN.APCNDTLEntity dtl = null;

if (doc == null)
{
//log unable to load "CN-00001", or not found
return;
}

//Clear all details of this document
doc.ClearDetails();
doc.ClearKnockOff();

doc.DocDate = new DateTime(2018, 6, 21);
doc.Description = "Discount";
doc.Reason = "Pricing Adjustment";
doc.SupplierCNNo = supplierCNNo;
doc.SupplierInvoiceNo = "BIL-00101";
doc.SupplierInvoiceNo = "BIL-00101";


Line 121: Line 184:
{
{
cmd.CancelAPCN(docNo, userSession.LoginUserID);
cmd.CancelAPCN(docNo, userSession.LoginUserID);
//cmd.CancelAPCN("DSC-00015", "400-X001", userSession.LoginUserID); //Cancel with SupplierCNNo
AutoCount.AppMessage.ShowMessage($"ARCN 'docNo' is Created.");
AutoCount.AppMessage.ShowMessage($"ARCN 'docNo' is Created.");
}
}