namespace CashLineERP.Application.Finance;

public sealed record AccountsPayablePaymentDetailView(
    long AccountsPayablePaymentId,
    string PaymentNumber,
    long SupplierId,
    DateOnly PaymentDate,
    string PaymentMethod,
    string CurrencyCode,
    string StatusCode,
    decimal AmountAmount,
    decimal UnappliedAmount,
    string? ReferenceNumber,
    string? Notes,
    DateTime? SubmittedAtUtc,
    long? SubmittedByUserId,
    DateTime? ApprovedAtUtc,
    long? ApprovedByUserId,
    DateTime? PostedAtUtc,
    long? PostedByUserId,
    DateOnly? ReversalDate,
    string? ReversalReasonCode,
    string? ReversalNotes,
    long? ReversalGeneralLedgerBatchId,
    long? RepostedFromPaymentId,
    long? RepostPaymentId,
    long? GeneralLedgerBatchId,
    IReadOnlyCollection<AccountsPayablePaymentAllocationView> Allocations);
