namespace CashLineERP.Contracts.Procurement;

public sealed record AccountsPayableBillResponse(
    long AccountsPayableBillId,
    string BillNumber,
    long SupplierId,
    long? PurchaseOrderId,
    long? GoodsReceiptId,
    long? PurchaseReturnId,
    string BillType,
    DateOnly BillDate,
    DateOnly? DueDate,
    string CurrencyCode,
    string StatusCode,
    string ThreeWayMatchStatus,
    string DisputeStatusCode,
    string? DisputeReasonCode,
    string? DisputeNotes,
    string? ResolutionDecisionCode,
    string? ResolutionNotes,
    decimal MatchVarianceAmount,
    string? MatchNotes,
    long? GeneralLedgerBatchId,
    decimal SubtotalAmount,
    decimal TaxAmount,
    decimal TotalAmount,
    IReadOnlyCollection<AccountsPayableBillLineResponse> Lines);
