protected void baseVATPeriodFilterRowSelected(PXCache sender, PXRowSelectedEventArgs e) { VATPeriodFilter filter = e.Row as VATPeriodFilter; if (filter?.OrganizationID == null) { return; } Organization organization = OrganizationMaint.FindOrganizationByID(this, filter.OrganizationID); if (organization.FileTaxesByBranches == true && filter.BranchID == null || filter.VendorID == null || filter.TaxPeriodID == null) { return; } TaxPeriod taxPeriod = Period.Select(); int?maxRevision = ReportTaxProcess.CurrentRevisionId(sender.Graph, filter.OrganizationID, filter.BranchID, filter.VendorID, filter.TaxPeriodID); filter.StartDate = taxPeriod?.StartDateUI; filter.EndDate = taxPeriod?.EndDate != null ? (DateTime?)(((DateTime)taxPeriod.EndDate).AddDays(-1)) : null; PXUIFieldAttribute.SetEnabled <VATPeriodFilter.revisionId>(sender, null, maxRevision > 1); PXUIFieldAttribute.SetEnabled <VATPeriodFilter.taxPeriodID>(sender, null, true); }
public void UnPostLedger(TaxPeriod salesTax) { // Console.WriteLine("> Un Posting ,salesTax" + salesTax.No); organization.LedgersDal.RemoveTransaction(salesTax.Id); salesTax.PostStatus = LedgerPostStatus.ReadyToPost; erpNodeDBContext.SaveChanges(); }
public List <CommercialTax> GetUnassignCommercialTaxes(TaxPeriod taxPeriod) { var unassignCommercials = organization.CommercialTaxes.GetAssignAbleCommercialTaxesList() .Where(com => com.Commercial.TransactionDate <= taxPeriod.TransactionDate) .ToList(); return(unassignCommercials); }
public ProcessingResult CheckGAFGenerationRequirements(int?branchID, TaxPeriod taxPeriod) { var result = ValidateTaxYearStructure(taxPeriod); var documentCheckingResult = CheckUnreleasedAndUnpostedDocumentsDoNotExist(branchID, taxPeriod); result.Aggregate(documentCheckingResult); return(result); }
public bool PostLedger(TaxPeriod taxPeriod, bool SaveImmediately = true) { if (taxPeriod.PostStatus == LedgerPostStatus.Posted) { return(false); } taxPeriod.ReCalculate(); var trLedger = new Models.Accounting.LedgerGroup() { Id = taxPeriod.Id, TransactionDate = taxPeriod.TransactionDate, TransactionName = taxPeriod.Name, TransactionNo = taxPeriod.No ?? 0, TransactionType = transactionType }; taxPeriod.GetCommercialTaxGroups().ForEach(taxGroup => { switch (taxGroup.TaxCode.TaxDirection) { case TaxDirection.Input: Console.WriteLine($"INP =>{taxGroup.TaxCode.TaxAccount.Name}{taxGroup.TaxBalance}"); trLedger.AddCredit(taxGroup.TaxCode.TaxAccount, taxGroup.TaxBalance); break; case TaxDirection.Output: Console.WriteLine($"OUT =>{taxGroup.TaxCode.TaxAccount.Name}{taxGroup.TaxBalance}"); trLedger.AddDebit(taxGroup.TaxCode.TaxAccount, taxGroup.TaxBalance); break; } }); if (taxPeriod.CloseToAccount.Type == Models.ChartOfAccount.AccountTypes.Asset) { trLedger.AddDebit(taxPeriod.CloseToAccount, Math.Abs(taxPeriod.ClosingAmount)); } else if (taxPeriod.CloseToAccount.Type == Models.ChartOfAccount.AccountTypes.Liability) { trLedger.AddCredit(taxPeriod.CloseToAccount, Math.Abs(taxPeriod.ClosingAmount)); } if (trLedger.FinalValidate()) { erpNodeDBContext.LedgerGroups.Add(trLedger); taxPeriod.PostStatus = LedgerPostStatus.Posted; } if (SaveImmediately && taxPeriod.PostStatus == LedgerPostStatus.Posted) { erpNodeDBContext.SaveChanges(); } return(true); }
public void Delete(TaxPeriod taxPeriod) { taxPeriod.CommercialTaxes.ToList().ForEach(c => { taxPeriod.CommercialTaxes.Remove(c); }); erpNodeDBContext.TaxPeriods.Remove(taxPeriod); organization.SaveChanges(); }
public TaxPeriod Create() { var newTaxPeriod = new TaxPeriod() { Id = Guid.NewGuid(), TransactionDate = DateTime.Today, }; erpNodeDBContext.TaxPeriods.Add(newTaxPeriod); erpNodeDBContext.SaveChanges(); return(newTaxPeriod); }
public ProcessingResult ValidateTaxYearStructure(TaxPeriod taxPeriod) { var finPeriodWithSameStartDate = _gafRepository.FindFinPeriodWithStartDate(taxPeriod.StartDate); var finPeriodWithSameEndDate = _gafRepository.FindFinPeriodWithEndDate(taxPeriod.EndDate); if (finPeriodWithSameStartDate == null || finPeriodWithSameEndDate == null) { var result = new ProcessingResult(); result.AddErrorMessage(Messages.TheGAFFileCannotBePrepared); return(result); } return(ProcessingResult.Success); }
public void AutoAssignCommercial(TaxPeriod taxPeriod) { if (taxPeriod.PostStatus == LedgerPostStatus.Posted) { this.UnPostLedger(taxPeriod); } var comTaxes = this.GetUnassignCommercialTaxes(taxPeriod); comTaxes.ToList().ForEach(comTax => { taxPeriod.CommercialTaxes.Add(comTax); }); taxPeriod.ReCalculate(); erpNodeDBContext.SaveChanges(); }
public static TaxPeriod CreateTaxPeriod(string dataAreaId, string taxPeriodId, global::System.DateTimeOffset fromDate, global::System.DateTimeOffset toDate, int taxPaymentVersion, int numberOfUnit) { TaxPeriod taxPeriod = new TaxPeriod(); taxPeriod.dataAreaId = dataAreaId; taxPeriod.TaxPeriodId = taxPeriodId; taxPeriod.FromDate = fromDate; taxPeriod.ToDate = toDate; taxPeriod.TaxPaymentVersion = taxPaymentVersion; taxPeriod.NumberOfUnit = numberOfUnit; return(taxPeriod); }
private RegistroSiiPeriodoLiquidacion Convert(TaxPeriod taxPeriod) { return(new RegistroSiiPeriodoLiquidacion { Ejercicio = Convert(taxPeriod.Year), Periodo = taxPeriod.Month.Match( Month.January, _ => TimePeriodType.January, Month.February, _ => TimePeriodType.February, Month.March, _ => TimePeriodType.March, Month.April, _ => TimePeriodType.April, Month.May, _ => TimePeriodType.May, Month.June, _ => TimePeriodType.June, Month.July, _ => TimePeriodType.July, Month.August, _ => TimePeriodType.August, Month.September, _ => TimePeriodType.September, Month.October, _ => TimePeriodType.October, Month.November, _ => TimePeriodType.November, Month.December, _ => TimePeriodType.December ) }); }
public int AssignCommercialTaxs(TaxPeriod taxPeriod, string commercialsId) { List <Guid> commercialsIdList = commercialsId?.Trim().Split(',') .Select(s => Guid.Parse(s)) .ToList(); var unassignComTaxes = erpNodeDBContext.CommercialTaxes .Where(c => commercialsIdList.Contains(c.Id)) .ToList(); int assignCount = 0; unassignComTaxes.ForEach(comTax => { assignCount++; taxPeriod.AddCommercialTax(comTax, false); }); taxPeriod.ReCalculate(); erpNodeDBContext.SaveChanges(); return(assignCount); }
public ITaxEstimator Select(TaxPeriod period) { return(_estimatorsByPeriod[period]); }
public ITaxEstimator Select(TaxPeriod period) { return _estimatorsByPeriod[period]; }
public void AddTaxRate(TaxPeriod period, ITaxEstimator estimator) { _estimatorsByPeriod.Add(period, estimator); }
public ProcessingResult CheckUnreleasedAndUnpostedDocumentsDoNotExist(int?branchID, TaxPeriod taxPeriod) { var lastFinPeriod = _gafRepository.FindFinPeriodWithEndDate(taxPeriod.EndDate); var result = new ProcessingResult(); var modulesWithUnreleasedDocuments = new List <string>(); if (!_gafRepository.CheckDoNotExistUnreleasedAPRegistersWithAPTransWithBranchWithFinPeriodLessOrEqual(branchID, lastFinPeriod.FinPeriodID)) { modulesWithUnreleasedDocuments.Add(BatchModule.AP); } if (!_gafRepository.CheckDoNotExistUnreleasedARRegistersWithARTransWithBranchWithFinPeriodLessOrEqual(branchID, lastFinPeriod.FinPeriodID)) { modulesWithUnreleasedDocuments.Add(BatchModule.AR); } if (!_gafRepository.CheckDoNotExistUnreleasedCAAdjsWithCASplitsWithBranchWithFinPeriodLessOrEqual(branchID, lastFinPeriod.FinPeriodID)) { modulesWithUnreleasedDocuments.Add(BatchModule.CA); } if (modulesWithUnreleasedDocuments.Any()) { result.AddMessage(PXErrorLevel.Warning, Messages.ThereAreUnreleasedDocumentsInModules, modulesWithUnreleasedDocuments.JoinIntoStringForMessage(edgingSymbol: null)); } if (!_gafRepository.CheckDoNotExistUnreleasedOrUnpostedGLTransWithBranchWithFinPeriodLessOrEqual(branchID, lastFinPeriod.FinPeriodID)) { result.AddMessage(PXErrorLevel.Warning, Messages.ThereAreUnpostedTransactions); } return(result); }
public List <TaxPeriod> GetLedger(TaxPeriod taxPeriod) => erpNodeDBContext.TaxPeriods .Where(tr => tr.Id == taxPeriod.Id) .ToList();