namespace ComplianceDAL.DTO.Analytics; public class GSTR9DataDTO { public string GSTIN { get; set; } = string.Empty; public string LegalName { get; set; } = string.Empty; public int FinancialYear { get; set; } // e.g. 2025 for FY 2025-26 public GSTR9Section4DTO OutwardSupplies { get; set; } = new(); public GSTR9Section6DTO ITCAvailed { get; set; } = new(); public GSTR9Section7DTO ITCReversals { get; set; } = new(); public GSTR9Section9DTO TaxPaid { get; set; } = new(); public GSTR9Section14DTO DifferentialTax { get; set; } = new(); } // Table 4: Details of outward and inward supplies (annual) public class GSTR9Section4DTO { public decimal TaxableValueB2B { get; set; } public decimal TaxableValueB2CL { get; set; } public decimal TaxableValueB2CS { get; set; } public decimal TaxableValueNilExempt { get; set; } public decimal TaxableValueExports { get; set; } public decimal TaxableValueCDNR { get; set; } public decimal TotalTaxableValue { get; set; } public decimal TotalIGST { get; set; } public decimal TotalCGST { get; set; } public decimal TotalSGST { get; set; } public decimal TotalCess { get; set; } } // Table 6: ITC availed during the financial year public class GSTR9Section6DTO { public decimal ITCIGSTOnInputs { get; set; } public decimal ITCCGSTOnInputs { get; set; } public decimal ITCSGSTOnInputs { get; set; } public decimal ITCIGSTOnCapitalGoods { get; set; } public decimal ITCCGSTOnCapitalGoods { get; set; } public decimal ITCSGSTOnCapitalGoods { get; set; } public decimal ITCIGSTOnServices { get; set; } public decimal ITCCGSTOnServices { get; set; } public decimal ITCSGSTOnServices { get; set; } public decimal TotalITCIGST { get; set; } public decimal TotalITCCGST { get; set; } public decimal TotalITCSGST { get; set; } } // Table 7: ITC reversals (aggregate) public class GSTR9Section7DTO { public decimal ReversalIGST { get; set; } public decimal ReversalCGST { get; set; } public decimal ReversalSGST { get; set; } public decimal NetITCIGST { get; set; } public decimal NetITCCGST { get; set; } public decimal NetITCSGST { get; set; } } // Table 9: Tax paid public class GSTR9Section9DTO { public decimal TaxPaidIGST { get; set; } public decimal TaxPaidCGST { get; set; } public decimal TaxPaidSGST { get; set; } public decimal InterestIGST { get; set; } public decimal InterestCGST { get; set; } public decimal InterestSGST { get; set; } public decimal LateFeeIGST { get; set; } public decimal LateFeeCGST { get; set; } public decimal LateFeeSGST { get; set; } } // Table 14: Differential tax paid (HSN-wise) public class GSTR9Section14DTO { public List HSNRows { get; set; } = new(); } public class GSTR9HSNRowDTO { public string HSNCode { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public string UOM { get; set; } = string.Empty; public decimal TotalQuantity { get; set; } public decimal TaxableValue { get; set; } public decimal IGSTAmount { get; set; } public decimal CGSTAmount { get; set; } public decimal SGSTAmount { get; set; } public decimal CessAmount { get; set; } } public class GSTR9AnnualRawDTO { public int PeriodMonth { get; set; } public string SummaryType { get; set; } = string.Empty; public decimal TotalTaxableValue { get; set; } public decimal TotalIGST { get; set; } public decimal TotalCGST { get; set; } public decimal TotalSGST { get; set; } public decimal TotalCess { get; set; } public decimal TotalITCIGST { get; set; } public decimal TotalITCCGST { get; set; } public decimal TotalITCSGST { get; set; } public int TotalDocuments { get; set; } }