Cash Book Received Voucher
Jump to navigation
Jump to search
![]() |
Go to top
|
![]() |
Resources For AutoCount Software Developers
|
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 amounts in details.
Assemblies version 1.8
BCE.AutoCount.dll BCE.AutoCount.GL.dll
Create new Cash Book Received Voucher
public void NewCashBookReceived(BCE.Data.DBSetting dbSetting, CashBookSource source)
{
BCE.AutoCount.GL.CashBook.CashBookCommand cmd = BCE.AutoCount.GL.CashBook.CashBookCommand.Create(dbSetting);
BCE.AutoCount.GL.CashBook.CashBook doc = cmd.AddNew(BCE.AutoCount.GL.CashBook.CashBookType.CashReceipt);
BCE.AutoCount.GL.CashBook.CashBookPaymentDetail payment = null;
BCE.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 (BCE.Application.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;
}
Implementation
public void MainEntry(BCE.Data.DBSetting dbSetting)
{
CashBookSource newCB = new CashBookSource()
{
From = "KENNY LEE",
Description = "VEHICLE SOLD",
CurrencyCode = "MYR",
CurrencyRate = 1,
VoucherNo = "<<New>>",
VoucherDate = new DateTime(2017, 11, 27),
};
newCB.Payments.Add(new ReceivedDetail()
{
PaymentMethod = "CASH",
Amount = 5000
});
newCB.Details.Add(new CashBookDetail(){ Account = "200-6000", Description = "ASSET PURCHASED VALUE", Amount = 60000 });
newCB.Details.Add(new CashBookDetail(){ Account = "200-6005", Description = "ACCUMULATED DEPRECIATION", Amount = -50000 });
newCB.Details.Add(new CashBookDetail(){ Account = "900-1050", Description = "LOSS ON SOLD", Amount = -5000 });
NewCashBookReceived(dbSetting, newCB);
}
![]() |
In this "Sold Asset" example shows how programmer can create multiple records in Cash Book Detail. |