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."); |
||
} |
} |