namespace CashLineERP.Contracts.Finance;

public sealed record CustomerStatementResponse(
    long CustomerStatementId,
    string StatementNumber,
    long CustomerId,
    string CustomerCode,
    string CustomerName,
    DateOnly? DateFrom,
    DateOnly? DateTo,
    string CurrencyCode,
    decimal OpeningBalanceAmount,
    decimal TotalChargeAmount,
    decimal TotalSettlementAmount,
    decimal ClosingBalanceAmount,
    decimal OpenInvoiceAmount,
    decimal OverdueInvoiceAmount,
    DateTime GeneratedAtUtc,
    long GeneratedByUserId,
    IReadOnlyCollection<CustomerStatementLineResponse> Lines,
    IReadOnlyCollection<CustomerStatementDeliveryLogResponse> DeliveryLogs);
