namespace CashLineERP.Contracts.Finance;

public sealed record AccountingPeriodCloseReadinessResponse(
    long AccountingPeriodId,
    string PeriodCode,
    string CloseStatusCode,
    int PostedGeneralLedgerBatchCount,
    int BankStatementCount,
    int ReconciledStatementLineCount,
    int UnreconciledStatementLineCount,
    int ExceptionReconciliationItemCount,
    int PendingEtaInvoiceCount,
    int OpenArInvoiceCount,
    int OpenArReceiptCount,
    int OpenApBillCount,
    int OpenApPaymentCount,
    int OpenInventoryAdjustmentCount,
    int OpenStockCountCount,
    int OpenWarehouseTransferCount,
    int OpenInventoryStatusControlCount,
    int OpenCloseJournalCount,
    int OpenFxRevaluationCount,
    int PostedAccrualCloseJournalCount,
    int PostedAdjustmentCloseJournalCount,
    bool IsReadyToClose,
    IReadOnlyCollection<string> BlockingReasons);
