public bool ValidPaidObject(CustomPurchaseInvoice customPurchaseInvoice, ICashBankService _cashBankService, IPaymentVoucherService _paymentVoucherService, IClosingService _closingService) { customPurchaseInvoice.Errors.Clear(); VPaidObject(customPurchaseInvoice, _cashBankService, _paymentVoucherService, _closingService); return(isValid(customPurchaseInvoice)); }
public CashSalesReturn UnpaidObject(CashSalesReturn cashSalesReturn, IPaymentVoucherService _paymentVoucherService, IPaymentVoucherDetailService _paymentVoucherDetailService, ICashBankService _cashBankService, IPayableService _payableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnpaidObject(cashSalesReturn)) { Payable payable = _payableService.GetObjectBySource(Core.Constants.Constant.PayableSource.CashSalesReturn, cashSalesReturn.Id); IList <PaymentVoucher> paymentVouchers = _paymentVoucherService.GetObjectsByCashBankId((int)cashSalesReturn.CashBankId.GetValueOrDefault()); foreach (var paymentVoucher in paymentVouchers) { if (paymentVoucher.ContactId == payable.ContactId) { paymentVoucher.Errors = new Dictionary <string, string>(); _paymentVoucherService.UnconfirmObject(paymentVoucher, _paymentVoucherDetailService, _cashBankService, _payableService, _cashMutationService, _generalLedgerJournalService, _accountService, _closingService); IList <PaymentVoucherDetail> paymentVoucherDetails = _paymentVoucherDetailService.GetObjectsByPaymentVoucherId(paymentVoucher.Id); foreach (var paymentVoucherDetail in paymentVoucherDetails) { paymentVoucherDetail.Errors = new Dictionary <string, string>(); _paymentVoucherDetailService.SoftDeleteObject(paymentVoucherDetail); } _paymentVoucherService.SoftDeleteObject(paymentVoucher, _paymentVoucherDetailService); } } payable.AllowanceAmount = 0; _payableService.UpdateObject(payable); cashSalesReturn.Allowance = 0; cashSalesReturn = _repository.UnpaidObject(cashSalesReturn); } return(cashSalesReturn); }
public CashBankMutationController() { _cashBankAdjustmentService = new CashBankAdjustmentService(new CashBankAdjustmentRepository(), new CashBankAdjustmentValidator()); _cashBankService = new CashBankService(new CashBankRepository(), new CashBankValidator()); _cashMutationService = new CashMutationService(new CashMutationRepository(), new CashMutationValidator()); _cashBankMutationService = new CashBankMutationService(new CashBankMutationRepository(), new CashBankMutationValidator()); }
public RetailSalesInvoice UnpaidObject(RetailSalesInvoice retailSalesInvoice, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnpaidObject(retailSalesInvoice)) { Receivable receivable = _receivableService.GetObjectBySource(Core.Constants.Constant.ReceivableSource.RetailSalesInvoice, retailSalesInvoice.Id); IList <ReceiptVoucher> receiptVouchers = _receiptVoucherService.GetObjectsByCashBankId((int)retailSalesInvoice.CashBankId.GetValueOrDefault()); foreach (var receiptVoucher in receiptVouchers) { if (receiptVoucher.ContactId == retailSalesInvoice.ContactId) { receiptVoucher.Errors = new Dictionary <string, string>(); _receiptVoucherService.UnconfirmObject(receiptVoucher, _receiptVoucherDetailService, _cashBankService, _receivableService, _cashMutationService, _generalLedgerJournalService, _accountService, _closingService); IList <ReceiptVoucherDetail> receiptVoucherDetails = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var receiptVoucherDetail in receiptVoucherDetails) { _receiptVoucherDetailService.SoftDeleteObject(receiptVoucherDetail); } _receiptVoucherService.SoftDeleteObject(receiptVoucher, _receiptVoucherDetailService); } } retailSalesInvoice.AmountPaid = 0; retailSalesInvoice.IsFullPayment = false; retailSalesInvoice = _repository.UnpaidObject(retailSalesInvoice); } return(retailSalesInvoice); }
public CashSalesReturn VPaidObject(CashSalesReturn cashSalesReturn, ICashBankService _cashBankService) { VIsNotPaid(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsConfirmed(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VHasCashBank(cashSalesReturn, _cashBankService); //if (!isValid(cashSalesReturn)) { return cashSalesReturn; } //VIsCashBankTypeNotBank(cashSalesReturn, _cashBankService); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsValidTotal(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsValidAllowance(cashSalesReturn); return(cashSalesReturn); }
public ReceiptVoucher ReconcileObject(ReceiptVoucher receiptVoucher, DateTime ReconciliationDate, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashMutationService _cashMutationService, ICashBankService _cashBankService, IReceivableService _receivableService) { receiptVoucher.ReconciliationDate = ReconciliationDate; if (_validator.ValidReconcileObject(receiptVoucher)) { _repository.ReconcileObject(receiptVoucher); CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); CashMutation cashMutation = _cashMutationService.CreateCashMutationForReceiptVoucher(receiptVoucher, cashBank); _cashMutationService.CashMutateObject(cashMutation, _cashBankService); IList <ReceiptVoucherDetail> receiptVoucherDetails = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var receiptVoucherDetail in receiptVoucherDetails) { Receivable receivable = _receivableService.GetObjectById(receiptVoucherDetail.ReceivableId); receivable.PendingClearanceAmount -= receiptVoucherDetail.Amount; if (receivable.PendingClearanceAmount == 0 && receivable.RemainingAmount == 0) { receivable.IsCompleted = true; receivable.CompletionDate = DateTime.Now; } _receivableService.UpdateObject(receivable); } } return(receiptVoucher); }
public PaymentVoucher UnconfirmObject(PaymentVoucher paymentVoucher, IPaymentVoucherDetailService _paymentVoucherDetailService, ICashBankService _cashBankService, IPayableService _payableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnconfirmObject(paymentVoucher, _closingService)) { IList <PaymentVoucherDetail> details = _paymentVoucherDetailService.GetObjectsByPaymentVoucherId(paymentVoucher.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _paymentVoucherDetailService.UnconfirmObject(detail, this, _payableService); } _repository.UnconfirmObject(paymentVoucher); if (!paymentVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(paymentVoucher.CashBankId); IList <CashMutation> cashMutations = _cashMutationService.SoftDeleteCashMutationForPaymentVoucher(paymentVoucher, cashBank); foreach (var cashMutation in cashMutations) { _cashMutationService.ReverseCashMutateObject(cashMutation, _cashBankService); } _generalLedgerJournalService.CreateUnconfirmationJournalForPaymentVoucher(paymentVoucher, cashBank, _accountService); } } return(paymentVoucher); }
public PaymentVoucher ConfirmObject(PaymentVoucher paymentVoucher, DateTime ConfirmationDate, IPaymentVoucherDetailService _paymentVoucherDetailService, ICashBankService _cashBankService, IPayableService _payableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { paymentVoucher.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(paymentVoucher, this, _paymentVoucherDetailService, _cashBankService, _payableService, _closingService)) { IList <PaymentVoucherDetail> details = _paymentVoucherDetailService.GetObjectsByPaymentVoucherId(paymentVoucher.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _paymentVoucherDetailService.ConfirmObject(detail, ConfirmationDate, this, _payableService); } _repository.ConfirmObject(paymentVoucher); if (!paymentVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(paymentVoucher.CashBankId); CashMutation cashMutation = _cashMutationService.CreateCashMutationForPaymentVoucher(paymentVoucher, cashBank); _cashMutationService.CashMutateObject(cashMutation, _cashBankService); _generalLedgerJournalService.CreateConfirmationJournalForPaymentVoucher(paymentVoucher, cashBank, _accountService); } } return(paymentVoucher); }
public PaymentVoucherDetail CreateObject(PaymentVoucherDetail paymentVoucherDetail, IPaymentVoucherService _paymentVoucherService, ICashBankService _cashBankService, IPayableService _payableService) { paymentVoucherDetail.Errors = new Dictionary <String, String>(); return(_validator.ValidCreateObject(paymentVoucherDetail, _paymentVoucherService, this, _cashBankService, _payableService) ? _repository.CreateObject(paymentVoucherDetail) : paymentVoucherDetail); }
public CashBankMutation VConfirmObject(CashBankMutation cashBankMutation, ICashBankService _cashBankService) { VHasConfirmationDate(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VHasNotBeenDeleted(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VHasNotBeenConfirmed(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VNonNegativeNorZeroAmount(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VNonNegativeNorZeroSourceCashBank(cashBankMutation, _cashBankService); return(cashBankMutation); }
public CashBankMutation VCreateObject(CashBankMutation cashBankMutation, ICashBankService _cashBankService) { VHasDifferentCashBank(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VHasSourceCashBank(cashBankMutation, _cashBankService); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VHasTargetCashBank(cashBankMutation, _cashBankService); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VNonNegativeNorZeroAmount(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VNonNegativeNorZeroSourceCashBank(cashBankMutation, _cashBankService); return(cashBankMutation); }
public ReceiptVoucher UnconfirmObject(ReceiptVoucher receiptVoucher, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, ICashMutationService _cashMutationService) { if (_validator.ValidUnconfirmObject(receiptVoucher)) { IList <ReceiptVoucherDetail> details = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _receiptVoucherDetailService.UnconfirmObject(detail, this, _receivableService); } _repository.UnconfirmObject(receiptVoucher); if (!receiptVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); IList <CashMutation> cashMutations = _cashMutationService.SoftDeleteCashMutationForReceiptVoucher(receiptVoucher, cashBank); foreach (var cashMutation in cashMutations) { _cashMutationService.ReverseCashMutateObject(cashMutation, _cashBankService); } } } return(receiptVoucher); }
public PaymentVoucher ReconcileObject(PaymentVoucher paymentVoucher, DateTime ReconciliationDate, IPaymentVoucherDetailService _paymentVoucherDetailService, ICashMutationService _cashMutationService, ICashBankService _cashBankService, IPayableService _payableService) { paymentVoucher.ReconciliationDate = ReconciliationDate; if (_validator.ValidReconcileObject(paymentVoucher)) { _repository.ReconcileObject(paymentVoucher); CashBank cashBank = _cashBankService.GetObjectById(paymentVoucher.CashBankId); CashMutation cashMutation = _cashMutationService.CreateCashMutationForPaymentVoucher(paymentVoucher, cashBank); _cashMutationService.CashMutateObject(cashMutation, _cashBankService); IList <PaymentVoucherDetail> paymentVoucherDetails = _paymentVoucherDetailService.GetObjectsByPaymentVoucherId(paymentVoucher.Id); foreach (var paymentVoucherDetail in paymentVoucherDetails) { Payable payable = _payableService.GetObjectById(paymentVoucherDetail.PayableId); payable.PendingClearanceAmount -= paymentVoucherDetail.Amount; if (payable.PendingClearanceAmount == 0 && payable.RemainingAmount == 0) { payable.IsCompleted = true; payable.CompletionDate = DateTime.Now; } _payableService.UpdateObject(payable); } } return(paymentVoucher); }
public bool ValidPaidObject(CashSalesInvoice cashSalesInvoice, ICashBankService _cashBankService, IReceiptVoucherService _receiptVoucherService, ICashSalesReturnService _cashSalesReturnService, IClosingService _closingService) { cashSalesInvoice.Errors.Clear(); VPaidObject(cashSalesInvoice, _cashBankService, _receiptVoucherService, _cashSalesReturnService, _closingService); return(isValid(cashSalesInvoice)); }
public ReceiptVoucherDetail CreateObject(ReceiptVoucherDetail receiptVoucherDetail, IReceiptVoucherService _receiptVoucherService, ICashBankService _cashBankService, IReceivableService _receivableService) { receiptVoucherDetail.Errors = new Dictionary <String, String>(); return(_validator.ValidCreateObject(receiptVoucherDetail, _receiptVoucherService, this, _cashBankService, _receivableService) ? _repository.CreateObject(receiptVoucherDetail) : receiptVoucherDetail); }
public CustomPurchaseInvoiceController() { _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _itemTypeService = new ItemTypeService(new ItemTypeRepository(), new ItemTypeValidator()); _uoMService = new UoMService(new UoMRepository(), new UoMValidator()); _warehouseItemService = new WarehouseItemService(new WarehouseItemRepository(), new WarehouseItemValidator()); _warehouseService = new WarehouseService(new WarehouseRepository(), new WarehouseValidator()); _stockMutationService = new StockMutationService(new StockMutationRepository(), new StockMutationValidator()); _barringService = new BarringService(new BarringRepository(), new BarringValidator()); _priceMutationService = new PriceMutationService(new PriceMutationRepository(), new PriceMutationValidator()); _contactGroupService = new ContactGroupService(new ContactGroupRepository(), new ContactGroupValidator()); _purchaseOrderDetailService = new PurchaseOrderDetailService(new PurchaseOrderDetailRepository(), new PurchaseOrderDetailValidator()); _salesOrderDetailService = new SalesOrderDetailService(new SalesOrderDetailRepository(), new SalesOrderDetailValidator()); _stockAdjustmentDetailService = new StockAdjustmentDetailService(new StockAdjustmentDetailRepository(), new StockAdjustmentDetailValidator()); _cashBankService = new CashBankService(new CashBankRepository(), new CashBankValidator()); _cashMutationService = new CashMutationService(new CashMutationRepository(), new CashMutationValidator()); _customPurchaseInvoiceService = new CustomPurchaseInvoiceService(new CustomPurchaseInvoiceRepository(), new CustomPurchaseInvoiceValidator()); _customPurchaseInvoiceDetailService = new CustomPurchaseInvoiceDetailService(new CustomPurchaseInvoiceDetailRepository(), new CustomPurchaseInvoiceDetailValidator()); _cashSalesReturnService = new CashSalesReturnService(new CashSalesReturnRepository(), new CashSalesReturnValidator()); _quantityPricingService = new QuantityPricingService(new QuantityPricingRepository(), new QuantityPricingValidator()); _payableService = new PayableService(new PayableRepository(), new PayableValidator()); _paymentVoucherService = new PaymentVoucherService(new PaymentVoucherRepository(), new PaymentVoucherValidator()); _paymentVoucherDetailService = new PaymentVoucherDetailService(new PaymentVoucherDetailRepository(), new PaymentVoucherDetailValidator()); _receivableService = new ReceivableService(new ReceivableRepository(), new ReceivableValidator()); _accountService = new AccountService(new AccountRepository(), new AccountValidator()); _generalLedgerJournalService = new GeneralLedgerJournalService(new GeneralLedgerJournalRepository(), new GeneralLedgerJournalValidator()); _closingService = new ClosingService(new ClosingRepository(), new ClosingValidator()); _validCombService = new ValidCombService(new ValidCombRepository(), new ValidCombValidator()); }
public void ReverseCashMutateObject(CashMutation cashMutation, ICashBankService _cashBankService) { decimal Amount = (cashMutation.Status == MasterConstant.MutationStatus.Deduction) ? cashMutation.Amount : (-1) * cashMutation.Amount; CashBank cashBank = _cashBankService.GetObjectById(cashMutation.CashBankId); cashBank.Amount += Amount; _cashBankService.UpdateObject(cashBank); }
public CashBankAdjustmentController() { _cashBankAdjustmentService = new CashBankAdjustmentService(new CashBankAdjustmentRepository(), new CashBankAdjustmentValidator()); _cashBankService = new CashBankService(new CashBankRepository(), new CashBankValidator()); _cashMutationService = new CashMutationService(new CashMutationRepository(), new CashMutationValidator()); _accountService = new AccountService(new AccountRepository(), new AccountValidator()); _generalLedgerJournalService = new GeneralLedgerJournalService(new GeneralLedgerJournalRepository(), new GeneralLedgerJournalValidator()); _closingService = new ClosingService(new ClosingRepository(), new ClosingValidator()); _validCombService = new ValidCombService(new ValidCombRepository(), new ValidCombValidator()); }
public CashBankMutation VUpdateObject(CashBankMutation cashBankMutation, ICashBankService _cashBankService) { VHasNotBeenConfirmed(cashBankMutation); if (!isValid(cashBankMutation)) { return(cashBankMutation); } VCreateObject(cashBankMutation, _cashBankService); return(cashBankMutation); }
public CashBankMutation UpdateObject(CashBankMutation cashBankMutation, ICashBankService _cashBankService) { if (_validator.ValidUpdateObject(cashBankMutation, _cashBankService)) { //cashBankMutation.SourceCashBankName = _cashBankService.GetObjectById(cashBankMutation.SourceCashBankId).Name; //cashBankMutation.TargetCashBankName = _cashBankService.GetObjectById(cashBankMutation.TargetCashBankId).Name; _repository.UpdateObject(cashBankMutation); } return(cashBankMutation); }
public CashSalesReturn VHasCashBank(CashSalesReturn cashSalesReturn, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById((int)cashSalesReturn.CashBankId.GetValueOrDefault()); if (cashBank == null) { cashSalesReturn.Errors.Add("CashBankId", "Tidak valid"); } return(cashSalesReturn); }
public ReceiptVoucher VHasCashBank(ReceiptVoucher receiptVoucher, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); if (cashBank == null) { receiptVoucher.Errors.Add("CashBankId", "Tidak boleh tidak ada"); } return(receiptVoucher); }
public CashMutation VHasCashBank(CashMutation cashMutation, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById(cashMutation.CashBankId); if (cashBank == null) { cashMutation.Errors.Add("CashBankId", "Tidak terasosiasi dengan cashBank"); } return(cashMutation); }
public PaymentVoucher VHasCashBank(PaymentVoucher paymentVoucher, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById(paymentVoucher.CashBankId); if (cashBank == null) { paymentVoucher.Errors.Add("CashBankId", "Tidak boleh tidak ada"); } return(paymentVoucher); }
public CashBank VCreateObject(CashBank cashBank, ICashBankService _cashBankService) { VName(cashBank, _cashBankService); if (!isValid(cashBank)) { return(cashBank); } VNonNegativeAmount(cashBank); return(cashBank); }
public CashBankMutation CreateObject(CashBankMutation cashBankMutation, ICashBankService _cashBankService) { cashBankMutation.Errors = new Dictionary <String, String>(); if (_validator.ValidCreateObject(cashBankMutation, _cashBankService)) { //cashBankMutation.SourceCashBankName = _cashBankService.GetObjectById(cashBankMutation.SourceCashBankId).Name; //cashBankMutation.TargetCashBankName = _cashBankService.GetObjectById(cashBankMutation.TargetCashBankId).Name; _repository.CreateObject(cashBankMutation); } return(cashBankMutation); }
public PaymentVoucher VIfGBCHThenIsBank(PaymentVoucher paymentVoucher, ICashBankService _cashBankService) { if (paymentVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(paymentVoucher.CashBankId); if (!cashBank.IsBank) { paymentVoucher.Errors.Add("Generic", "Jika GBCH Harus IsBank"); } } return(paymentVoucher); }
public ReceiptVoucher VIfGBCHThenIsBank(ReceiptVoucher receiptVoucher, ICashBankService _cashBankService) { if (receiptVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); if (!cashBank.IsBank) { receiptVoucher.Errors.Add("IsBank", "Jika GBCH Harus IsBank"); } } return(receiptVoucher); }
public CashBank VName(CashBank cashBank, ICashBankService _cashBankService) { if (String.IsNullOrEmpty(cashBank.Name) || cashBank.Name.Trim() == "") { cashBank.Errors.Add("Name", "Tidak boleh kosong"); } if (_cashBankService.IsNameDuplicated(cashBank)) { cashBank.Errors.Add("Name", "Tidak boleh ada duplikasi"); } return(cashBank); }
public CashSalesInvoice VPaidObject(CashSalesInvoice cashSalesInvoice, ICashBankService _cashBankService, IReceiptVoucherService _receiptVoucherService, ICashSalesReturnService _cashSalesReturnService, IClosingService _closingService) { VIsNotPaid(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsConfirmed(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VHasCashBank(cashSalesInvoice, _cashBankService); //if (!isValid(cashSalesInvoice)) { return cashSalesInvoice; } //VIsCashBankTypeNotBank(cashSalesInvoice, _cashBankService); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsValidAllowance(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsValidAmountPaid(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VTotalPaymentIsEqualOrLessThanTotalPayable(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VHasNoCashSalesReturns(cashSalesInvoice, _cashSalesReturnService); if (cashSalesInvoice.IsFullPayment) { if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsValidFullPayment(cashSalesInvoice); } if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VGeneralLedgerPostingHasNotBeenClosed(cashSalesInvoice, _closingService, 1); return(cashSalesInvoice); }