The Controller's Month-End Close Checklist Template
Every controller I've talked to has some version of the same story: a close checklist that started as a clean spreadsheet two years ago, and is now a 47-tab monster that no one fully trusts. Items get added after fire drills, old ones linger past their usefulness, and the ownership column has three people listed for things that only one person ever actually touches. Here's a template structure that actually holds up month after month.
Why Most Close Checklists Break Down
The core problem isn't that teams lack discipline — it's that static checklists can't reflect a dynamic close. The accounts you reconcile in February aren't always the same accounts that need attention in March. A new vendor relationship, a mid-quarter entity acquisition, or a change in your payroll provider can all add net-new reconciliation requirements that your existing checklist doesn't know about.
We've observed that the average mid-market finance team modifies their close checklist manually three or four times a year, almost always in reaction to something going wrong. That's a reactive posture. The goal of a good checklist template is to build a structure that accommodates change without requiring a quarterly rebuild.
The second failure mode is orphaned ownership. When a task says "Finance Team" as the assignee, it belongs to no one. Period-end tasks need a single responsible name, not a department.
The Five-Layer Close Checklist Structure
The most reliable close checklists we've seen organize work into five distinct layers, each with its own timing cadence and ownership profile. Working through them in order prevents late discoveries on day 4 or 5.
Layer 1: Pre-Close Setup (Days -3 to -1 before period end)
This layer covers everything that should happen before the books technically close. Confirming AP cutoff dates with vendors, flagging any known accruals to department heads, freezing expense reports past a certain date, and verifying that payroll journal entries from the current period are staged and ready to post. Teams that skip pre-close prep routinely lose a full day chasing information that could have been staged in advance.
Layer 2: Revenue and AR (Close Days 1–2)
Revenue recognition is where the most consequential errors live, and it needs to happen first. This layer includes confirming deferred revenue schedules are updated, reconciling the AR subledger to the GL control account, reviewing any revenue reversals or customer credit memos issued in the final week of the period, and verifying that subscription billing feeds (Stripe, Recurly) have been pulled in and matched to the recognized revenue schedule. In our experience, AR reconciliation that slips past day 2 almost always delays the consolidated close by a full day.
Layer 3: AP and Accruals (Close Days 1–3)
AP reconciliation runs parallel to AR but has different timing constraints. The key tasks: match the AP subledger to the GL, confirm period-end accruals are posted for invoices received but not yet approved, clear any duplicate payment alerts, and review open purchase orders for goods received but not invoiced. Accrual accuracy here directly affects your expense variance analysis — an unrecorded $80,000 software invoice creates a $80,000 favorable variance that evaporates as soon as it's corrected.
Layer 4: Payroll, Fixed Assets, and Prepaids (Close Days 2–4)
These accounts are more mechanical but time-consuming if not assigned explicitly. Payroll journals need to be imported from Rippling, Gusto, or ADP and agreed to the payroll register. Fixed asset depreciation needs to run for the period and the roll-forward schedule needs to tie to the GL. Prepaid amortization schedules — especially for annual SaaS contracts and insurance premiums — need to advance one month and the amortization entries posted.
Layer 5: Bank Reconciliation and Close Certification (Close Days 3–5)
Bank reconciliation closes the loop between your GL cash balance and the bank statement. Outstanding checks, deposits in transit, and any bank fees need to be identified and explained. Once bank recs are clean, each account owner should certify their reconciliation with an approver sign-off — not just a verbal confirmation, but a documented attestation that the account is complete and accurate as of period end.
The Checklist Template
Below is the base template structure we recommend. Each row should carry: task name, account/area, responsible owner (single name), due date (close day number), status, and reviewer sign-off field.
| Task | Area | Owner | Due (Close Day) | Reviewer |
|---|---|---|---|---|
| Confirm AP cutoff with vendors | AP | AP Specialist | Day -2 | Controller |
| Stage payroll journals | Payroll | Senior Accountant | Day -1 | Controller |
| Reconcile AR subledger to GL | AR | AR Accountant | Day 2 | Controller |
| Update deferred revenue schedule | Revenue | Revenue Accountant | Day 2 | Controller |
| Post period accruals (AP) | AP/Accruals | AP Specialist | Day 3 | Controller |
| Run depreciation and update FA roll-forward | Fixed Assets | Senior Accountant | Day 3 | Controller |
| Advance prepaid amortization schedules | Prepaids | Senior Accountant | Day 4 | Controller |
| Complete bank reconciliations | Cash | Staff Accountant | Day 4 | Controller |
| Intercompany elimination entries (if applicable) | Intercompany | Controller | Day 4 | VP Finance |
| Controller sign-off and close package assembly | All | Controller | Day 5 | CFO/VP Finance |
Making the Checklist Dynamic
A static table like the one above is a starting point, not a destination. Three practices keep a checklist useful over time.
First, run a 15-minute close retrospective within two business days of each close completing. The only question worth asking: what surprised us this close that wasn't on the checklist? Add it. If the same item surprises you two closes in a row, it deserves a permanent home on the list with a due date that gives someone time to prevent the surprise.
Second, mark dependencies explicitly. The bank rec can't be certified until the AP subledger is reconciled — because open AP transactions can affect your GL cash balance. When someone skips a task or is out sick, the person picking it up needs to know which downstream tasks are blocked.
Third, distinguish between recurring tasks and event-triggered tasks. Depreciation runs every month. An ASC 805 purchase price allocation only runs when you've completed an acquisition. Mixing them on the same checklist creates noise. Keep a separate event-triggered section at the bottom that your team activates only when the relevant event occurs.
"The best close checklists we've seen read like a communication protocol, not a to-do list. Every task tells you not just what to do, but who needs to know when it's done and what gets unblocked as a result."
Automating the Checklist
The template above works well as a spreadsheet for teams just building their close discipline. But at some point, the checklist itself becomes a management overhead — tracking who's done what, chasing status updates, and figuring out which items are blocking the close. That's when a purpose-built close management system earns its keep. Rather than maintaining the checklist manually, the system generates it each period from your close history, assigns tasks automatically based on account ownership, and shows the controller a real-time completion percentage without requiring a status meeting.
Whether you automate it or manage it manually, the architecture above holds. Five layers, single-name ownership, explicit due dates, and a retrospective loop. That structure is what separates a close that takes 5 days from one that takes 3.