示例#1
0
        public static IndividualUsnDTaxAggregate Calculate(
            TaxCalculationBase @base,
            IndividualUsnDTaxParameters @params)
        {
            var chargedTax = CalculateUsnDChargedTax(@params);

            var feeDeduction =
                @params.CustomerTaxParameters.Salary > RurMoney.Zero
                        ? RurMoney.Min(@base.TotalFee, 0.5M * chargedTax) // есть сотрудники
                        : @base.TotalFee;

            var usnTotalTax = chargedTax - feeDeduction;

            var(total, burgen) = CalculateTotal(usnTotalTax + @base.EmployeeNdfl, @base.TotalFee, @params);

            return(new IndividualUsnDTaxAggregate(
                       chargedTax,
                       feeDeduction,
                       @base.TotalFee,
                       usnTotalTax,
                       @params.SelfInsuranceFee,
                       @base.EmployeeFee,
                       @base.AdditionalFee,
                       @base.EmployeeNdfl,
                       total,
                       burgen
                       ));
        }
示例#2
0
        public static OrgUsnDTaxAggregate Calculate(
            TaxCalculationBase @base,
            OrganizationUsnDTaxParameters @params)
        {
            var usnChargedTax = CalculateUsnDChargedTax(@params);

            var feeDeduction =
                @params.CustomerTaxParameters.Salary > RurMoney.Zero
                    ? RurMoney.Min(0.5M * usnChargedTax, @base.TotalFee)
                    : @base.TotalFee;

            var taxTotal = usnChargedTax - feeDeduction;

            var(total, burgen) =
                CalculateTotal(taxTotal + @base.EmployeeNdfl, @base.TotalFee, @params);

            return(new OrgUsnDTaxAggregate(
                       usnChargedTax,
                       taxTotal,
                       @base.EmployeeFee,
                       feeDeduction,
                       @base.TotalFee,
                       @base.EmployeeNdfl,
                       total,
                       burgen
                       ));
        }