using System; using System.Numerics; namespace ComplianceNFs.Core.Entities { public class EnergyInvoice { [System.ComponentModel.DataAnnotations.Key] public required string MailId { get; set; } public required string ConversationId { get; set; } public required string SupplierEmail { get; set; } public DateTime ReceivedDate { get; set; } public int InvoiceId { get; set; } public required string Filename { get; set; } public string? Md5 { get; set; } public string? CnpjComp { get; set; } public string? CnpjVend { get; set; } public decimal? MontNF { get; set; } public decimal? PrecNF { get; set; } public decimal? ValorSemImpostos { get; set; } public decimal? ValorFinalComImpostos { get; set; } public string? RsComp { get; set; } public string? RsVend { get; set; } public string? NumeroNF { get; set; } public decimal? IcmsNF { get; set; } public string? UfComp { get; set; } public string? UfVend { get; set; } public BigInteger? MatchedCodTE { get; set; } public InvoiceStatus Status { get; set; } public string? DiscrepancyNotes { get; set; } } public enum InvoiceStatus { Pending, Matched, FallbackMatched, VolumeMismatch, PriceMismatch, TaxMismatch, NotFound, Error, Validated } }