namespace ERPCore.Domain.Entities;

/// <summary>
/// Configurable APIT-style marginal tax slab (FR-HR-PAY-04) — government slabs
/// change with the yearly budget, so this is never hardcoded. <see cref="UpperBound"/>
/// null means "and above". Model: docs/12-BACKEND-HRM.md Part C.6.
/// </summary>
public class TaxSlab
{
    public int TaxSlabId { get; set; }
    public DateTime EffectiveFrom { get; set; }
    public DateTime? EffectiveTo { get; set; }
    public decimal LowerBound { get; set; }
    public decimal? UpperBound { get; set; }
    public decimal Rate { get; set; }

    public DateTime CreatedAt { get; set; }
    public uint RowVersion { get; set; }
}
