1a03a1cbba
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
36 lines
1.5 KiB
C#
36 lines
1.5 KiB
C#
namespace ROLAC.API.DTOs.Finance;
|
|
|
|
/// <summary>One Part IX row: a 990 line split across the three functional columns.</summary>
|
|
public class FunctionalExpenseRowDto
|
|
{
|
|
public string LineCode { get; set; } = "";
|
|
public string Name_en { get; set; } = "";
|
|
public string? Name_zh { get; set; }
|
|
public decimal Program { get; set; }
|
|
public decimal ManagementGeneral { get; set; }
|
|
public decimal Fundraising { get; set; }
|
|
public decimal Total { get; set; }
|
|
}
|
|
|
|
/// <summary>The full Part IX Statement of Functional Expenses for a date range.</summary>
|
|
public class FunctionalExpenseStatementDto
|
|
{
|
|
public List<FunctionalExpenseRowDto> Rows { get; set; } = [];
|
|
public decimal ProgramTotal { get; set; }
|
|
public decimal ManagementGeneralTotal { get; set; }
|
|
public decimal FundraisingTotal { get; set; }
|
|
public decimal GrandTotal { get; set; }
|
|
/// <summary>Expenses with no explicit 990 mapping (counted under line 24). Prompts mapping cleanup.</summary>
|
|
public int UnmappedExpenseCount { get; set; }
|
|
}
|
|
|
|
/// <summary>A single IRS Form 990 expense line from the catalog (used to populate mapping dropdowns).</summary>
|
|
public class Form990ExpenseLineDto
|
|
{
|
|
public int Id { get; set; }
|
|
public string LineCode { get; set; } = "";
|
|
public string Name_en { get; set; } = "";
|
|
public string? Name_zh { get; set; }
|
|
public int SortOrder { get; set; }
|
|
}
|