32 lines
1.5 KiB
C#
32 lines
1.5 KiB
C#
using General_Ledger_Service.DTOs.Reports;
|
|
|
|
namespace General_Ledger_Service.Services.CsvDocuments
|
|
{
|
|
public static class IncomeTaxComputationCsvDocument
|
|
{
|
|
public static byte[] Generate(IncomeTaxComputationDto data)
|
|
{
|
|
var csv = new CsvBuilder();
|
|
csv.AddRow("Line", "Amount");
|
|
|
|
csv.AddRow("Profit Before Tax", data.ProfitBeforeTax);
|
|
csv.AddRow("Add: Non-Deductible Expenses", data.NonDeductibleExpenses);
|
|
csv.AddRow("Less: Allowable Deductions", -data.AllowableDeductions);
|
|
csv.AddRow("Adjusted Business Profit", data.AdjustedBusinessProfit);
|
|
csv.AddRow("Add: Other Taxable Income", data.OtherTaxableIncome);
|
|
csv.AddRow("Assessable Income", data.AssessableIncome);
|
|
csv.AddRow("Less: Qualifying Payments / Reliefs", -data.QualifyingPaymentsReliefs);
|
|
csv.AddRow("Taxable Income", data.TaxableIncome);
|
|
csv.AddRow($"Corporate Income Tax @ {data.TaxRatePercent:0.00}%", data.CorporateIncomeTax);
|
|
csv.AddRow("Add: Surcharge / Education Levy", data.SurchargeAmount);
|
|
csv.AddRow("Gross Tax Liability", data.GrossTaxLiability);
|
|
csv.AddRow("Less: APIT Credit", -data.ApitCredit);
|
|
csv.AddRow("Less: WHT Credit", -data.WhtCredit);
|
|
csv.AddRow("Less: Quarterly Tax Payments", -data.QuarterlyTaxPayments);
|
|
csv.AddRow(data.BalanceTaxPayable < 0 ? "BALANCE TAX REFUNDABLE" : "BALANCE TAX PAYABLE", data.BalanceTaxPayable);
|
|
|
|
return csv.Build();
|
|
}
|
|
}
|
|
}
|