Cash Book Payment Voucher
Technical Specification
- 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.
Inclusive GST in Cash Book
Differences in Inclusive GST at Document Level & Detail Level
- Cash Book Entry supports detail level of Inclusive GST calculation;
- This allows user to enter many receipts in single voucher without splitting of Inclusive & Non-Inclusive GST into two vouchers.
- On the entry form, Inclusive? checkbox at the footer is merely for check or un-check all Inclusive Tax in detail.
- Whether the "InclusiveTax" at document level is true or false does not affect the Inclusive Tax calculation of this voucher.
- Effective Inclusive Tax calculation is at detail level.
- Detail Inclusive GST can also be found in Journal Entry.
References of AutoCount Accounting 1.8, 1.9
BCE.AutoCount.dll BCE.AutoCount.CommonAccounting.dll BCE.AutoCount.MainEntry.dll BCE.Utils.dll BCE.Utils.UI.dll BCE.AutoCount.GL.dll
Sample with data model
Create new Cash Book Payment Voucher
public void NewCashBookPayment(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.CashPayment);
BCE.AutoCount.GL.CashBook.CashBookPaymentDetail payment = null;
BCE.AutoCount.GL.CashBook.CashBookDetail cbdtl = null;
doc.PayTo = source.Payee;
doc.Description = source.Description;
doc.CurrencyCode = source.CurrencyCode;
doc.CurrencyRate = source.CurrencyRate;
doc.DocNo = source.VoucherNo;
doc.DocDate = source.VoucherDate;
foreach (PaymentDetail 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 Payee { 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<PaymentDetail> Payments { get; set; } = new List<PaymentDetail>();
public List<CashBookDetail> Details { get; set; } = new List<CashBookDetail>();
}
public class PaymentDetail
{
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 MainEntry(BCE.Data.DBSetting dbSetting)
{
CashBookSource newCB = new CashBookSource()
{
Payee = "ELECTRICITY COMPANY",
Description = "June 2017 Electricity",
CurrencyCode = "MYR",
CurrencyRate = 1,
VoucherNo = "<<New>>",
VoucherDate = new DateTime(2017, 6, 26),
};
newCB.Payments.Add(new PaymentDetail(){ PaymentMethod = "CHQ", ChequeNo = "P00011", Amount = 500 });
newCB.Payments.Add(new PaymentDetail(){ PaymentMethod = "CASH", Amount = 20.15M });
newCB.Details.Add(new CashBookDetail()
{
Account = "900-1025",
Description = "ELECTRICITY BILL JUNE 2017",
Amount = 520.15M,
GSTCode = "TX-S",
Inclusive = true
});
NewCashBookPayment(dbSetting, newCB);
}
Two types of payments are added to a single payment voucher. When the electricity bill is GST inclusive, set the InclusiveTax to true. |
See Also
Go to top
|
Resources For AutoCount Software Developers
|