Skip to main content

The close checks

A full month's Close checklist carries seventeen built-in rows — fourteen automated checks SKU.io grades for you and three review items you tick — plus however many custom items your business has added. A checklist of nineteen, as on the demo data below, means two custom items. This page is the lookup for all of them, in the order and the five groups they appear in on screen.

For how severity, acknowledgement and the counters work, see what stops a close, and what only needs a tick and how the close checklist works. This page is the per-row detail those two point at.

How to read an entry

Each check below is listed under the exact title that appears on its row, with:

  • Measures — the condition the check tests.
  • SeverityBlocking (the close is refused while it fails) or a warning (no chip; the close needs your acknowledgement instead).
  • Scope — the month being closed, unless the entry says otherwise.
  • Row reads — the one-line summary printed beside the title when the check fires. A passing check prints nothing at all.
  • Arrow — where the arrow at the end of the row goes. Hover it and the tooltip says which kind of destination it is: Open the fixing surface for records, Open this report for a figure.
  • Stands aside when — the conditions that make the row read Not applicable, with the reason printed underneath it.

Amounts in a summary are printed to two decimal places with thousands separators (1,301.15), and where a summary has two parts they are joined by a middle dot (3 still owed · 409.75 in clearing).

All the built-in rows at a glance

The seventeen rows every checklist has, in screen order. Your custom items sit below them in the Custom group, as the last line of the table shows.

RowGroupKindFires when
Ledger generation — individual entriesData completenessBlockingAnything is still waiting to become a ledger entry
Ledger generation — batchesData completenessWarningA batch whose period has ended has not posted
All entries balancedData completenessBlockingAn entry dated in the month does not balance
Opening balance appliedData completenessBlocking (first closable month only)Your starting balances are not finalized
Amazon settlements mappedData completenessWarningA settlement-mapping gap is holding settlements back
Entries syncedSync & reconciliationWarningAn entry dated in the month has not reached your provider yet
Needs-attention inbox clearSync & reconciliationWarningAn entry dated in the month is parked for review
Cost changes resolvedSync & reconciliationWarningA retroactive cost change over the month is undecided
Provider documents reconciledSync & reconciliationWarningThe month's documents do not tie to your provider's
Inventory reconciled to GLSync & reconciliationWarningInventory value and the GL control accounts disagree
Inventory debt settledSync & reconciliationBlocking or warning, by settingStock shipped without cost behind it is still owed
Trial balance reconciled to providerSync & reconciliationWarningAn account balance differs from your provider's
Transaction categories settled with providerSync & reconciliationWarningA category's money has not settled either way
Review Income StatementReviewManualLeft unticked
Review Balance SheetReviewManualLeft unticked
Review Inventory Valuation & COGSReviewManualLeft unticked
Provider lock alignedSign-offWarningA connection's own lock date stops short of the month end
Your custom itemsCustomManualLeft unticked

1. Data completeness

The question this group answers is whether the month's ledger is fully built and internally consistent — before anything is compared to an outside system.

Ledger generation — individual entries

MeasuresNo source document is still waiting to become a ledger entry. Anything queued, in flight or failed fails the row.
SeverityBlocking
ScopeYour whole business, not the month — see the two checks that are not scoped to the month
Row reads6 outstanding — 2 failed, 4 pending. The headline is the total; the breakdown that follows names only the non-zero parts, in the order failed, in flight, pending.
ArrowAccounting → Outbox. The Ledger Outbox opens on its default Backlog view, which is exactly this set — pending work, rows in flight, and failures no newer attempt has superseded. Remove the Backlog chip to see the full history.
Stands aside whenNever. This check always applies.

Two points about the way it grades:

  • Any outstanding work fails it, not merely a stale backlog. An entry queued thirty seconds ago for a June invoice is as absent from June as one queued an hour ago, and closing places a lock — so waving it through does not delay that entry, it seals the month against it.
  • The count is not filtered to the month. Generation work is tied to source documents rather than to accounting dates, so it cannot be narrowed to one month. The row's own description says so.

The check also tracks how many pending items have been sitting for more than about ten minutes, as a triage signal for a backlog that looks stalled rather than busy. That figure is not printed on the row — the summary shows only the headline and the failed / in flight / pending breakdown — and it changes nothing about the outcome: any pending work at all fails the row.

Ledger generation — batches

MeasuresEvery batch whose period has ended on or before the month end has closed and posted.
SeverityWarning
Row reads86 overdue, or 3 still in settle window, or both together as 12 overdue · 3 still in settle window.
ArrowAccounting → Batches, filtered to Status of Open, Dirty or Reopened with a Period End up to the month end.
Stands aside whenNever. A business with no batches has nothing outstanding and the row passes.

The settle window is the grace period a batch is given for late documents after its period ends. It creates the one case where a passing row still prints a summary: 3 still in settle window with no overdue count is the difference between nothing outstanding and nothing outstanding yet. Only overdue batches fail the row.

The arrow cannot split the two — the list it opens holds both sets. See batches and the close.

All entries balanced

MeasuresEvery journal entry dated in the month has line totals that agree with its header totals.
SeverityBlocking — one of the three blocking checks with no sanctioned way through
Row reads2 unbalanced
ArrowAccounting → Transactions → All, with the Out of Balance filter and the month's date range applied — exactly the entries counted.
Stands aside whenNever.

No setting, permission or acknowledgement lets a close past this row. It shares that with Ledger generation — individual entries and Opening balance applied: of the four checks that can block, those three can never be closed over, at any permission level. Only Inventory debt settled below offers a way through, and it needs a permission and a written reason.

Opening balance applied

MeasuresThe opening-balance document — the account starting positions carried in from before you began keeping books in SKU.io — is finalized before the first month you close.
SeverityBlocking, on the first closable month only
Row readsnot applied — still draft
ArrowAccounting → Reconciliation → Starting Balances
Stands aside whenAny month after the first one you close — Not applicable — an opening balance only applies to the first period you close, not this month. Or you never set one up — Not applicable — no opening balance was set up for this books-start, so there is nothing to apply.

Because it stands aside on every later month, most closes never see this row in force. When it does apply, closing without it would sign off a balance sheet missing its starting figures. A blocking check that is standing aside drops its Blocking chip, so a dimmed row here is not something you have to clear.

Amazon settlements mapped

MeasuresNo Amazon settlement-mapping gap is holding settlements back. It counts three things together: mappings not assigned to a mapping group, mappings with no nominal code, and closed financial event groups waiting on those fixes.
SeverityWarning
ScopeYour whole business — mapping is configuration, not month data
Row reads3 blocking mapping
ArrowAccounting → Dashboard, where the Amazon settlement mappings card shows the same three figures under Ungrouped mappings, Missing nominal code and Held-back settlements, with a Fix mappings button.
Stands aside whenYou have no Amazon integration — No Amazon integration connected.

The word blocking in that summary is not the severity term used elsewhere in the close. It counts settlements this row is holding back from posting; the row itself is a warning and never refuses a close.

What it deliberately does not count: settlements held back for reasons a mapping fix would not clear — a failed fund transfer, or a missing exchange rate. Those are a separate problem, they appear on their own Amazon settlements not posting card on the dashboard, and they never fail this row.

2. Sync & reconciliation

The largest group, and the one that asks whether the month agrees with the world outside SKU.io — your accounting provider, and your inventory.

Entries synced

MeasuresNo entry dated in the month is still on its way to your accounting provider. The statuses that count as in flight are Pending Sync, Syncing, Retrying and Synced, Pending Update.
SeverityWarning
Row reads4 still in flight
ArrowAccounting → Transactions → All, filtered on Sync to those four statuses plus the month's date range.
Stands aside whenYou have no supported accounting connection — No accounting connection — entries never sync.

This is only about reaching the provider. Whether the entries exist in SKU.io's own ledger is what the Data completeness group above settles. See see why entries haven't synced.

Needs-attention inbox clear

MeasuresNo entry dated in the month is parked on a person. It covers four statuses: Needs Attention, Failed, Conflict and Synced, Deleted — entries that failed to sync, that changed on both sides, that were deleted in the provider after syncing, or that were flagged for review.
SeverityWarning
Row reads5 needing review
ArrowAccounting → Needs Attention, carrying a removable month chip (June 2026). Close the chip and the inbox widens back to every month.
Stands aside whenNever — the inbox exists whether or not a provider is connected.

The count and the list agree because both leave out the same records: batch summary rows, which belong to the Batches tab rather than the inbox, and reversed entries, which are superseded history and would otherwise sit in the inbox forever carrying a status frozen at the moment they were reversed.

Cost changes resolved

MeasuresNo retroactive cost change is still awaiting a restate-or-prospective decision over stock dated in the month.
SeverityWarning
Row reads2 awaiting a decision · 1,240.00 impact. The impact half appears only when the change has a non-zero value.
ArrowInventory → Cost Changes, scoped to the month by a removable chip. With nothing left in the month the page reads No cost changes affect June 2026. and offers Show all periods.
Stands aside whenNever.

Matching is on the original stock event dates — the month's calendar days — not on when the cost change was raised. The row states the exposure and leaves the decision to you — see inventory and the close.

Provider documents reconciled

MeasuresPer connection: the month's SKU.io-versus-provider document variance is within tolerance, and no unmatched documents remain on either side.
SeverityWarning; money tolerance 0.05 by default, and changeable — see close settings
Row readsThe failing connection by name with what is wrong — Sample QBO Connection: 12.40 variance, 3 unmatched. More than one failing connection is listed in one line, joined by a middle dot.
ArrowAccounting → Reconciliation → Periods
Stands aside whenYou have no supported accounting connection — No accounting connection.

Two behaviours worth knowing:

  • It reads your local copy of the provider's documents, never a live call. Nothing about this row reaches out to your provider while the checklist grades.
  • No local copy spanning the month is reported on its own. When the copy does not cover the month, the row reads Sample QBO Connection: mirror does not cover the period and says nothing else about that connection — quoting a variance of 0.00 alongside it would read as agreement when what you actually have is no evidence.

Inventory reconciled to GL

MeasuresThe gap between SKU.io's inventory value and the GL control accounts, at the latest comparison dated on or before the month end. Each earmarked account's gap is added as an absolute figure, so two errors pointing opposite ways cannot cancel out — and every earmarked account must actually have been assessed.
SeverityWarning; threshold 1.00 by default, and changeable — see close settings
Row reads842.10 divergence (limit 1.00), or 2 accounts unassessed, or both joined by a middle dot. Where nothing has ever been compared, the row reads never compared — no reconciliation points captured.
ArrowAccounting → Reconciliation → Inventory
Stands aside whenNo inventory accounts are earmarked for reconciliation — No inventory reconciliation accounts earmarked.

The distinction the row is careful about: earmarking no accounts means nothing was ever claimed, so the check stands aside; earmarking accounts and never comparing them means there is a question with no evidence either way, so the check warns and asks you to acknowledge it. See inventory and the close.

Inventory debt settled

MeasuresNo claim for stock that shipped without cost behind it, incurred on or before the month end, is still outstanding.
SeverityBlocking while Block period close while debt is outstanding is on, which is the default; switch it off and the same row becomes a warning that still states the exposure.
Row reads3 still owed · 409.75 in clearing — the number of claims, and the money sitting in the clearing account.
ArrowInventory → Fulfillment Debt, with the Inventory Debt Claims list already showing the month's Outstanding claims — the same set the row counted.
Stands aside whenNever; with no debt it passes and prints nothing.

This is the only check whose severity you control, and the only blocking check that can be closed over. Closing over it needs the override permission and a reason, and the count and clearing balance are recorded as they stood at the moment the close committed — see close over outstanding inventory debt.

The figure quoted is money — posted less relieved — rather than quantity times estimate. The two diverge once a claim settles in slices, and it is the money that has to agree with the clearing account on the balance sheet you are about to sign off.

Alongside the claim count and clearing balance, the check records the units involved and the age of the oldest outstanding claim — but neither appears on the checklist row, which prints only 3 still owed · 409.75 in clearing. Follow the arrow to read them: the Oldest claim tile on Fulfillment Debt Report shows the age in days, with the number of claims over 30 days underneath it, and the claims table has its own Age and Outstanding columns. For why debt lands at the close rather than at the shipment, see inventory and the close.

Trial balance reconciled to provider

MeasuresSKU.io's account balances agree with your provider's trial balance, account by account, as of the month end.
SeverityWarning, always — a GL discrepancy never hard-blocks a close. The per-account tolerance starts at 0.00, so any difference at all warns until it is raised — see close settings.
Row reads2 of 9 accounts out · 1,301.15 total variance
ArrowOpens the Trial Balance Reconciliation report in the Report pack below the checklist.
Stands aside whenYou have no accounting connection — No accounting connection. Or no provider trial balance has been captured for that month end — No provider trial balance captured for this period — use "Capture provider balances" in the report pack below.

It reads only the captured provider snapshot, never a live call — so the row is answering for the figures you pulled, at the moment you pulled them. See capture your provider's trial balance.

Transaction categories settled with provider

MeasuresEvery transaction category's money has either reached your accounting provider or is excluded from syncing by design. Nothing may be left in flight or needing attention.
SeverityWarning
Row reads4 of 8 categories unsettled · 6,783.55 — the count of unsettled categories and the money behind them.
ArrowOpens the Sync Category Reconciliation report in the Report pack.
Stands aside whenYou have no accounting connection — No accounting connection.

"Settled" is a two-sided test: money that reached the provider is settled, and so is money deliberately excluded from syncing. What fails the row is money that is neither — still queued, retrying, or parked for review.

3. Review

Three built-in manual items, one per statement, in this order. They carry a tick box rather than a status icon, have no severity, and never block a close. Left unticked, each is listed in the close dialog as Review Income Statement — not checked off for you to acknowledge.

RowArrow
Review Income StatementOpens the Income Statement in the Report pack
Review Balance SheetOpens the Balance Sheet in the Report pack
Review Inventory Valuation & COGSOpens the Inventory Valuation report in the Report pack

Ticking one records who ticked it and when, underneath the title. See read the close reports.

4. Sign-off

One row, and it is a hygiene nudge rather than a gate.

Provider lock aligned

MeasuresEvery accounting connection's own lock date reaches at least the last day of the month, so the books are locked on both sides.
SeverityWarning
Row readsWith one connection behind, the connection by name and its lock date — Sample QBO Connection locked to 2026-05-31. With more than one, 2 connections behind 2026-06-30. A connection whose lock date has never been imported counts as behind and reads no date in place of the date.
ArrowAccounting → Dashboard with the Connections dialog open.
Stands aside whenYou have no supported accounting connection — No accounting connection.

It reads the imported copy of each connection's lock date rather than asking the provider live, so a lock you set in your provider a moment ago may not be reflected until that date is imported again.

5. Custom

Anything your business has added, in the order it was configured. On the demo data these read Accrue freight invoices not yet billed and Email the close pack to the client; yours will be your own.

Custom items are tick boxes, exactly like the review items: no severity, no arrow, no automatic grading, and never a block. Left unticked at close time, each has to be acknowledged in the close dialog. New custom items are appended to a month already in review on the next Re-check, and an item is never removed from a month once it has been seeded — see close settings and custom checklist items.

The two checks that are not scoped to the month

Every check on the list grades the month you are closing, with two deliberate exceptions:

RowWhy it is measured across the whole business
Ledger generation — individual entriesGeneration work is queued against source documents rather than accounting dates, so it cannot be narrowed to one month.
Amazon settlements mappedMapping is configuration, not month data — a gap in it is a gap in every month.

Both say so in their own description, which you can read by hovering the row title. Read their numbers as "outstanding across the account", not "outstanding in June".

Bank statement matching is not part of the close

Accounting → Reconciliation has a Statement Match lane, and no checklist row reads it. Unmatched imported bank lines never block a close, never warn, and are not counted, acknowledged or mentioned anywhere on the Close tab.

The other reconciliation lanes do feed rows:

Reconciliation laneRow it feeds
Documents and PeriodsProvider documents reconciled
InventoryInventory reconciled to GL
Starting BalancesOpening balance applied
Statement MatchNone

If bank matching is part of your own month-end routine, add it as a custom checklist item so it is signed off on the record with everything else.

Next steps

Last verified: