A close calendar that says 'day 3' is a plan. One that says 'Wednesday 4th, Sam, due' is a control.
List every close task with an owner and a working-day target such as day 1 or day 3. Use =WORKDAY(EOMONTH(period,0),day,holidays) to turn each working day into a real date that skips weekends and public holidays, then compare it with TODAY() and the completion date to flag anything late.
One row per task, with these columns:
| Column | Example |
|---|---|
| A: Task | Bank reconciliation, main account |
| B: Owner | Sam |
| C: Reviewer | Priya |
| D: Working day | 2 |
| E: Due date | formula |
| F: Completed on | date entered by the owner |
| G: Status | formula |
Put the period end, for example 31/03/2026, in a single cell named Period, and list public holidays in a range named Holidays.
In E2:
=WORKDAY(EOMONTH(Period,0),D2,Holidays)
EOMONTH(Period,0) returns the last day of the period. WORKDAY then counts forward the number of working days in D2, skipping Saturdays, Sundays and any date in Holidays. Working day 1 is the first working day after month end. For pre-close tasks, use a negative number: -2 gives the date two working days before month end.
If your weekend is not Saturday and Sunday, use WORKDAY.INTL, which lets you choose the weekend days.
In G2:
=IF(F2<>"",IF(F2<=E2,"Done","Done late"),IF(TODAY()>E2,"Overdue","Open"))
Add conditional formatting so Overdue stands out, and a summary at the top counting tasks by status with COUNTIF.
To count how many working days the close actually took, from period end to the last completed task:
=NETWORKDAYS(EOMONTH(Period,0)+1,MAX(F:F),Holidays)
Track this number every month. A calendar that is honest about late tasks is the fastest way to find the steps that hold the close up. See how to shorten the month-end close.
Add a column for the task each one depends on, such as "bank reconciliation" before "cash flow statement". A task cannot finish before the task it depends on, so a late dependency explains a late task. Sorting by working day and then by dependency gives the order your team actually needs to work in, and shows where one late reconciliation delays everything after it.
A calendar shows whether tasks were done, not whether they were done right. Pair it with reviewer sign-off on each reconciliation and a rule that the period is not signed off while any task is open.
The formulas are the same in the UK and the US. Keep separate holiday lists if you close entities in both countries: UK bank holidays and US federal holidays differ, and a shared list will put due dates on days one team is not working.
12 questions on how strong your close controls are. Free to use online.
The Month-End Close & Controls System tests the trial balance against the sum of reconciled balances, keeps every open item on one exception dashboard and blocks sign-off while exceptions remain open. Excel, no macros, one-time price.
The first working day after the period end. If the month ends on a Friday, working day 1 is the following Monday, unless that Monday is a public holiday.
Yes. WORKDAY, WORKDAY.INTL, EOMONTH and NETWORKDAYS all work in Google Sheets with the same arguments.
There is no single right number: it depends on your size, systems and how many entities you close. Measure your own close for three months, then set a target a day or two shorter and remove the tasks that hold it up.
Yes. Put them on negative working days, such as -3 for three working days before month end, so accruals, reconciliations and checks that can be done early are planned and tracked.
Last updated 18 October 2026. General guidance for finance teams; check it against your own policies, systems and local rules.