The month-end close checklist (2026)

A day-by-day playbook for SMB and mid-market finance teams who want a clean close in 5 business days — not 10. Every task has an owner, and we flag what should already be automated.

Why close is broken at most SMBs

The dirty secret of month-end close is that almost nobody actually closes in the timeframe their finance leader claims. We've talked to dozens of controllers running 25-200 person companies, and the median real close — from period end to a finalized P&L that leadership can rely on — is somewhere between 8 and 14 business days. The "we close in 5 days" answer you hear at conferences is usually measuring something else: the day journal entries stop hitting, or the day the P&L looks roughly right.

The reason it takes that long isn't that accounting is hard. It's that the close process at most SMBs is a sequence of manual reconciliations chained together by emails, with a spreadsheet of "close tasks" that nobody updates in real time and a chart of accounts that grew like a vegetable garden. A clean five-business-day close is achievable — we run one ourselves — but it requires that you separate the work that humans should be doing (judgment, review, sign-off) from the work that software should already be doing (categorization, reconciliation, accrual templating, chasing).

This checklist assumes a Day 1 of the new month is the first business day after period end. So if you're closing May, Day -3 is the last Wednesday of May, and Day 5 is the fifth business day of June. Adjust as needed.

One non-obvious rule: the close starts before the period ends, not after. The single highest-leverage thing you can do to shorten close is move pre-close work to Day -3 and Day -2. Most teams don't.

Day -3 to Day -1: Pre-close prep

The last three business days of the month are not "still in the period." They're the start of close. The goal here is to make sure the period ends with as little dangling work as possible — open POs cleared, vendor bills entered, time sheets submitted, expense reports in.

Who owns it

Controller drives. AP clerk, AR clerk, and ops leads contribute. Department heads are on the hook for getting their expense reports and time approvals in.

TaskOwnerShould be automated?
Send Day-3 reminder to all expense submitters and approversControllerYes — auto-fired by expense system
Confirm all bank feeds connected; clear any auth failuresStaff accountantYes — feeds should self-monitor and alert proactively
Pull list of open POs; chase vendors for missing invoicesAP clerkPartial — system should flag POs without invoices >30 days
Review unbilled time / WIP; push project leads to submitAR clerk / Project mgrPartial — system should surface unbilled hours by client
Approve / reject pending expense reports backlogDept headsNo — judgment, but should be one-click
Run prelim P&L snapshot; flag obviously-wrong accountsControllerYes — anomaly detection should run nightly
Confirm payroll cutoff and projected accruals with HRController / HRYes — payroll system should push accrual data

What "automated" looks like in practice: on Day -3, every expense approver gets a Slack/email nudge with a one-click link to their pending queue. Every bank connection that's at risk of failing has already raised a flag. The system has already pre-categorized 90%+ of bank transactions with a confidence score, and the controller is reviewing the <90% cohort, not the whole feed.

Day 1: Close kick-off and revenue cutoff

The period is over. The clock starts. Day 1 is about establishing the perimeter: making sure all the in-period transactions are in, and that the things that should hit this period actually hit this period (and not the next one).

Who owns it

Controller drives. AR clerk owns revenue recognition. AP clerk owns vendor bills. CFO or controller does the cutoff judgment calls.

TaskOwnerShould be automated?
Lock period for non-finance users (read-only)ControllerYes — one click
Verify all sales invoices for prior month are issuedAR clerkPartial — system should flag fulfilled-but-uninvoiced orders
Apply revenue recognition schedules (deferred revenue release)AR clerk / ControllerYes — should run from contract data; review only
Receive final vendor bills (cutoff: end of Day 1)AP clerkNo — depends on vendors; chase as needed
Post AR / AP cutoff entries for goods shipped / received in periodControllerPartial — system should propose; controller reviews
Pull aged AR report; identify potential bad debt candidatesAR clerkYes — report auto-runs
Reconcile credit card processor (Stripe / Square / etc.) settlementsStaff accountantYes — auto-matched at the deposit level

The big trap on Day 1 is the cutoff. If a vendor ships you something on the 30th and you don't get the invoice until the 5th of the following month, that expense still belongs to the prior period. The same applies to revenue: if you fulfilled an order on the 31st, the revenue is yours even if the invoice goes out on the 2nd. Most SMBs get this wrong because nobody is watching for it. A good system should propose the cutoff entries automatically from your shipping or fulfillment data.

Day 2: AP, AR, and bank reconciliations

This is the heaviest day in the close, and it's where most teams lose two or three days they don't need to lose. Reconciliations are not creative work — they are matching games — and modern accounting platforms should be doing 95%+ of the matching before a human ever looks at it.

Who owns it

AP clerk, AR clerk, and staff accountant divide and conquer. Controller reviews exceptions only.

TaskOwnerShould be automated?
Reconcile every bank account to the bank statementStaff accountantYes — 95%+ auto-match; humans only on exceptions
Reconcile every credit card accountStaff accountantYes — same as bank
Confirm AP subledger ties to GL AP control accountAP clerkYes — auto-tied; flag if variance > $1
Confirm AR subledger ties to GL AR control accountAR clerkYes — same as AP
Match payment processor deposits to bank depositsStaff accountantYes — auto, with fee allocation
Reconcile intercompany balances (if multi-entity)ControllerYes — net-out should auto-propose
Investigate any unmatched bank items > threshold (e.g. $250)ControllerNo — investigation requires judgment
Document any reconciling items for audit trailStaff accountantPartial — system captures, human writes the note

The right benchmark: if your bank reconciliation takes more than 30 minutes per account, your system is failing you. The matching algorithm should be doing the work. Humans should only see the exceptions queue — typically 1-3% of transactions — and resolve those.

Day 3: Accruals, prepaids, and other adjusting entries

This is the "thinking" day. The mechanical reconciliations are done; now it's about making sure the books reflect what actually happened economically in the period, not just what happened in cash.

Who owns it

Controller drives. Staff accountant executes recurring entries. Department heads provide inputs for accruals where needed (e.g. estimated commissions, bonus pool true-up).

TaskOwnerShould be automated?
Post payroll accrual (for pay period spanning month-end)ControllerYes — drafted from HRIS data; review only
Post payroll-related accruals (PTO liability, employer taxes)ControllerYes — drafted from HRIS data
Run prepaid amortization (insurance, software, rent prepayments)Staff accountantYes — auto-runs on schedule
Post fixed asset depreciation entriesStaff accountantYes — auto from asset register
Accrue expenses for goods/services received but not yet invoicedControllerPartial — system flags candidates from PO data
Calculate and accrue commission liabilitiesController / Sales opsYes if commission rules are in the system
Estimate and accrue bonus pool changesController / CFONo — judgment call
Update bad debt reserve / allowance for doubtful accountsControllerPartial — system proposes from aging; controller adjusts
Sales tax accrual / liability calculation (US states, GST/HST/QST)ControllerYes — auto from transaction-level tax codes
Foreign exchange revaluation on foreign-currency balancesStaff accountantYes — auto at month-end rate

If you're running on QuickBooks or a similar tool without proper schedule-based amortization, Day 3 can easily become Day 3, 4, and half of 5. The fix isn't to work harder — it's to set up the schedules once, in a system that respects them. Every recurring entry (depreciation, prepaid amortization, deferred revenue, lease accounting under ASC 842 / IFRS 16) should be on a schedule that the system runs automatically and that the controller reviews, not constructs.

Day 4: Review, variance analysis, and flux

The books are mechanically right. Now the question is: are they actually right? Day 4 is when the controller and CFO sit down with the preliminary P&L and balance sheet and ask "does this story make sense?"

Who owns it

Controller and CFO drive. Department heads asked to explain material variances in their area.

TaskOwnerShould be automated?
Run preliminary P&L; compare actuals to budget and prior periodControllerYes — report auto-runs
Identify and explain all variances over threshold (e.g. >$5K or >10%)Controller + dept headsPartial — AI can draft commentary; humans validate
Balance sheet flux: identify any account with unusual movementControllerYes — anomaly detection flags candidates
Confirm cash position ties to bank statements (proof of cash)Staff accountantYes — auto
Review unusual journal entries posted during the periodControllerYes — system surfaces JEs above threshold or by unusual users
Re-run trial balance; confirm zero out-of-balance entriesControllerYes — auto and continuous
Confirm intercompany eliminations net to zeroControllerYes — auto in multi-entity
Draft preliminary close memo (narrative on the month)Controller / CFOPartial — AI can draft from variances; humans finalize

The variance commentary is the single most automatable part of close that almost no team automates. "Marketing expense up $14K vs. last month, driven primarily by a $12K trade show invoice posted on the 18th" is a sentence that requires a human to write at most teams. It shouldn't. The system already knows the largest contributing journal entries to any variance and can draft the commentary in plain English. The controller's job is to validate it, not write it.

Day 5: Sign-off, close, and reporting

Final review, lock the period, distribute. If Days 1-4 went well, Day 5 is short.

Who owns it

CFO signs off. Controller executes the lock and distributes.

TaskOwnerShould be automated?
CFO reviews final P&L, balance sheet, cash flow; approves closeCFONo — sign-off is a human act
Lock the period (no further postings without explicit unlock)ControllerYes — one click
Generate and distribute monthly reporting package to leadershipControllerYes — auto-distributed on schedule
Generate department / cost-center P&Ls for managersControllerYes — auto-distributed
Generate KPI / metrics deck (revenue growth, gross margin, etc.)Controller / FP&AYes — auto from GL data
Archive close binder (workpapers, reconciliations, JEs, memo)ControllerYes — auto-archived with audit trail
Schedule post-close retro (what slowed us down this month?)ControllerNo — but should be a habit

The retro is the most underrated step. Most teams close, sigh in relief, and then encounter the same five problems next month. A 20-minute retro that captures "the Stripe reconciliation broke because they changed their export format" turns one bad month into one bad month, rather than a recurring drag for the next year.

What a modern close should feel like

If you're doing all of this in 5 business days, you're already ahead of most SMBs. If you're doing it in 8-10, the question worth asking isn't "how do my people work harder?" It's "what work is my software making my people do that it shouldn't?"

Run through the "Should be automated?" column above and count the rows where the answer is "Yes" but in your current setup the answer is "No, my team does it manually." Each of those is either a configuration gap (in a tool that could do it, but isn't), or a tooling gap (in a tool that simply can't).

The configuration gaps are usually solvable in an afternoon. The tooling gaps are why people switch ledgers.

One more thing on AI in close: a lot of vendors are now pitching "AI closing your books." Be skeptical. AI is good at drafting variance commentary, proposing journal entries, surfacing anomalies, and writing close memos. AI is not good — and should not be — at unilaterally posting entries, signing off the close, or making accrual judgments. The right model is AI as a fast junior, with a human controller in the review seat. We've written more on why the math itself is what makes this work.

Cut your close from 10 days to 5

VeloLedger automates the reconciliation, accruals, and variance commentary in this checklist. We'll show you exactly which steps disappear in a 15-minute demo.

Book a demo