Cash Book Received Voucher v2

From AutoCount Resource Center
Revision as of 02:55, 18 May 2018 by DanielY (talk | contribs) (Created page with "===Rules in Cash Book Entry=== # Net Total of the voucher must be positive; # Net Total of the voucher must not be zero. # Total Payment amounts must be tally with the total a...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Rules in Cash Book Entry

  1. Net Total of the voucher must be positive;
  2. Net Total of the voucher must not be zero.
  3. Total Payment amounts must be tally with the total amounts in details.

References of AutoCount Accounting 2.0

AutoCount.Accounting.dll
AutoCount.Accounting.UI.dll
AutoCount.dll
AutoCount.MainEntry.dll
AutoCount.UI.dll
AutoCount.GL.dll



Create new Cash Book Received Voucher

internal void NewReceivedVoucher(UserSession userSession, CashBookSource source)
{
    AutoCount.GL.CashBook.CashBookCommand cmd =
        AutoCount.GL.CashBook.CashBookCommand.Create(userSession, userSession.DBSetting);
    AutoCount.GL.CashBook.CashBook doc = cmd.AddNew(AutoCount.GL.CashBook.CashBookType.CashReceipt);
    AutoCount.GL.CashBook.CashBookPaymentDetail payment = null;
    AutoCount.GL.CashBook.CashBookDetail cbdtl = null;

    doc.ReceiveFrom = source.From;
    doc.Description = source.Description;
    doc.CurrencyCode = source.CurrencyCode;
    doc.CurrencyRate = source.CurrencyRate;
    doc.DocNo = source.VoucherNo;
    doc.DocDate = source.VoucherDate;

    foreach (ReceivedDetail pay in source.Payments)
    {
        payment = doc.AddPaymentDetail();
        payment.PaymentMethod = pay.PaymentMethod;
        payment.ChequeNo = pay.ChequeNo;
        payment.BankCharge = pay.BankCharge;
        payment.PaymentAmount = pay.Amount;
    }

    foreach (CashBookDetail dtl in source.Details)
    {
        cbdtl = doc.AddDetail();
        cbdtl.AccNo = dtl.Account;
        cbdtl.Description = dtl.Description;
        cbdtl.Amount = dtl.Amount;
        cbdtl.TaxType = dtl.GSTCode;
        cbdtl.InclusiveTax = dtl.Inclusive;
    }

    try
    {
        doc.Save();
        //log success
    }
    catch (AutoCount.AppException ex)
    {
        //log ex.Message
    }
}

Classes of source

public class CashBookSource
{
    public string From { get; set; }
    public string Description { get; set; }
    public string CurrencyCode { get; set; }
    public decimal CurrencyRate { get; set; }
    public string VoucherNo { get; set; }
    public DateTime VoucherDate { get; set; }
    public List<ReceivedDetail> Payments { get; set; } = new List<ReceivedDetail>();
    public List<CashBookDetail> Details { get; set; } = new List<CashBookDetail>();
}

public class ReceivedDetail
{
    public string PaymentMethod { get; set; }
    public string ChequeNo { get; set; }
    public decimal BankCharge { get; set; }
    public decimal Amount { get; set; }
}

public class CashBookDetail
{
    public string Account { get; set; }
    public string Description { get; set; }
    public decimal Amount { get; set; }
    public string GSTCode { get; set; }
    public bool Inclusive { get; set; } = false;
}

ProgCBReceivedv2.PNG