using CsvHelper.Configuration.Attributes;
namespace PowderCoating.Application.DTOs.Import;
///
/// DTO for importing payment records from CSV. Column names match the native
/// ExportPaymentsCsv output for round-trip compatibility. Payments are matched
/// to invoices by InvoiceNumber; duplicates are detected by InvoiceNumber + PaymentDate + Amount.
///
public class PaymentImportDto
{
[Name("InvoiceNumber")]
public string? InvoiceNumber { get; set; }
[Name("Amount")]
public decimal Amount { get; set; }
[Name("PaymentDate")]
public DateTime PaymentDate { get; set; }
///
/// Valid values: Cash, Check, CreditDebitCard, BankTransferACH, DigitalPayment
///
[Name("PaymentMethod")]
public string PaymentMethod { get; set; } = "Cash";
[Name("Reference")]
public string? Reference { get; set; }
[Name("Notes")]
public string? Notes { get; set; }
}