diff --git a/API/ROLAC.API/DTOs/Finance/Form1099ReportDtos.cs b/API/ROLAC.API/DTOs/Finance/Form1099ReportDtos.cs new file mode 100644 index 0000000..52fca56 --- /dev/null +++ b/API/ROLAC.API/DTOs/Finance/Form1099ReportDtos.cs @@ -0,0 +1,52 @@ +namespace ROLAC.API.DTOs.Finance; + +public class Form1099BoxDto +{ + public int Id { get; set; } + public string BoxCode { get; set; } = ""; + public string Name_en { get; set; } = ""; + public string? Name_zh { get; set; } + public string FormType { get; set; } = ""; + public int SortOrder { get; set; } +} + +public class Form1099RecipientRowDto +{ + public int PayeeId { get; set; } + public string LegalName { get; set; } = ""; + public string? TinLast4 { get; set; } + public string W9Status { get; set; } = ""; + public decimal NecTotal { get; set; } + public decimal RentsTotal { get; set; } + public decimal GrandTotal { get; set; } + public bool MeetsThreshold { get; set; } + public bool W9Missing { get; set; } +} + +public class Form1099SummaryDto +{ + public int TaxYear { get; set; } + public List Rows { get; set; } = []; + public decimal TotalReportable { get; set; } + public int RecipientsAtThreshold { get; set; } + public int RecipientsMissingW9 { get; set; } +} + +public class Form1099PaymentDto +{ + public string PaidDate { get; set; } = ""; + public string Description { get; set; } = ""; + public string CategoryName { get; set; } = ""; + public string BoxCode { get; set; } = ""; + public decimal Amount { get; set; } +} + +public class Form1099RecipientDetailDto +{ + public int PayeeId { get; set; } + public string LegalName { get; set; } = ""; + public string? TinLast4 { get; set; } + public string W9Status { get; set; } = ""; + public int TaxYear { get; set; } + public List Payments { get; set; } = []; +}