Month-end close: a step-by-step process that scales

The month end close process that survives the tenth client is built differently from the one that just survived the first.

Kartik Deshpande··8 min read
Five close stages with owner and failure point

Collect source data

Owner: accounting team

Failure: late or missing feeds

Post journal entries

Owner: accounting team

Failure: cut-off errors

Reconcile the accounts

Owner: preparer plus reviewer

Failure: items reviewed by no one

Review and approve

Owner: controller

Failure: approval without scrutiny

Close and report

Owner: finance leadership

Failure: reporting before sign-off

Each stage in the month-end close, its owner, and where it most often breaks down; Stage 3 is the most common source of delays.

The month end close process works fine until it does not. A second entity joins the books, a new hire runs the process without a handover, or a client adds a sales channel, and suddenly the close that ran in three days takes seven, and nobody can say exactly where the time went.

The steps below are not a checklist for a single client. They are the architecture of a close that holds when the entity count grows, when the team changes, and when the underlying systems multiply.

What "scales" looks like here

A close that scales finishes in roughly the same number of working days whether you are running it for one client or ten. A new team member can own a stage without a two-hour handover from the person who built the process. A missed journal entry surfaces as a flag rather than a surprise in the board pack. And adding a new revenue channel does not require rebuilding the reconciliation from scratch.

None of that happens by accident. It happens because each stage has a named owner, a defined input, a defined output, and a known failure point that someone is watching.

Stage 1: Pre-close preparation

Owner: Controller or senior associate, completed by the last working day of the month.

What it covers: Confirming that all sub-ledgers are posted, that recurring entries are queued, that bank feeds are current, and that any known adjustments from the prior close are documented as open items.

Why it exists: A close that starts on day one with missing data does not recover cleanly. The pre-close stage converts a reactive scramble into a standing checklist, so the team arrives at day one with known inputs rather than unknown ones.

Failure point: The checklist lives in someone's head, or in a document only one person maintains. When that person is unavailable, the team starts day one by reconstructing what should have been ready.

The fix is a shared, versioned pre-close checklist tied to the calendar, with a named owner per item and a status column that is visible to everyone running the close.

Stage 2: Transaction cut-off and accruals

Owner: Controller, with input from department heads for accrual estimates.

What it covers: Applying the correct period to every transaction, recording accruals for expenses incurred but not yet invoiced, and deferring revenue that belongs to a future period.

Why it exists: Cut-off errors are the most common source of period-over-period variance that cannot be explained. An expense booked a day late, or a revenue item recognised a week early, produces a statement that does not reflect the period it is supposed to cover.

Failure point: Accrual estimates come from department heads by email, arrive inconsistently, and get entered manually with no audit trail connecting the estimate to the person who provided it. When the auditor asks why payroll accrual moved, the answer is in an inbox rather than in the ledger.

The discipline here is a standard accrual template, submitted on a fixed schedule, with the estimate and the approver both recorded as part of the journal entry.

Stage 3: Reconcile the accounts

Owner: Controller or senior associate, with a secondary reviewer.

What it covers: Bank reconciliation, credit card reconciliation, accounts receivable and payable aging review, intercompany balance confirmation (where applicable), and balance-sheet account tie-outs.

Why it exists: Reconciliation is the mechanism that confirms the ledger matches the world. Every balance-sheet account that is not reconciled is a potential error that will compound into the next period.

Failure point: Reconciliations are performed but not reviewed. A reconciling item that has been sitting in the bank rec for three months is not a reconciled account; it is a deferred problem. The second set of eyes is not optional.

A secondary reviewer should sign off each reconciliation before the close advances. Where the reviewer is the same person as the preparer, the reconciliation is not reconciled.

Stage 4: Review and adjust

Owner: Controller or CFO, with sign-off authority.

What it covers: Analytical review of the draft financials, variance analysis against prior period and budget, identification of any entries requiring reclassification, and final adjusting journal entries.

Why it exists: The numbers may be arithmetically correct and still tell the wrong story. A cost that hit the wrong department, a revenue line that combined two distinct streams, or a one-time item that was not flagged as such will all pass a reconciliation and fail an analytical review.

Failure point: The review happens on a static export. By the time the controller opens the spreadsheet, the underlying data has moved, and the variance they are investigating may no longer match what the ledger shows. The review becomes a chase rather than an analysis.

Variance analysis that runs against live, sourced data rather than a point-in-time export catches this. The reviewer sees the current state of the ledger, not a copy of it from two days ago.

See the close on your own data

Connect the systems your close depends on and run the reconciliation and variance review against live data rather than a monthly export.

Stage 5: Produce and distribute the close package

Owner: Controller or CFO, with a defined distribution list and a defined format.

What it covers: Final trial balance, income statement, balance sheet, cash flow statement, variance commentary, and any client-specific schedules such as a KPI summary or a department-level P&L.

Why it exists: The close package is the artefact the client, the board, or the investor reads. A technically correct close that produces a confusing or inconsistent package fails at the last step.

Failure point: The package is assembled by hand from multiple exports each month, which means the format drifts, the commentary is written under time pressure, and the version the client receives is not always the version that matches the final ledger.

A repeatable package starts with a defined template, a defined data source for each line, and a review step that confirms the package matches the ledger before it is sent. For a fractional CFO running several clients, how to automate monthly client financial reports covers the mechanics of that in more detail.

Where the process breaks as volume grows

A close built for one client is usually a personal system. The controller knows which accounts need attention, which client has a complicated revenue recognition policy, and which reconciliation always has a quirk in month three. That knowledge is not in the process; it is in the person.

The process that survives the fifth client, the third entity, and the second team member is the one where that knowledge has been transferred to the system. Each stage has a written input and output. Each reconciliation has a reviewer who is not the preparer. Each accrual estimate has a documented source. Each variance has a written explanation attached to the number rather than to the email thread.

The second structural problem is data. A close that draws on QuickBooks, Stripe, a payroll system such as Gusto or Rippling, and a CRM such as Salesforce or HubSpot is pulling from systems that do not agree on what a customer is, what a period is, or what a transaction date means. Reconciling those disagreements manually, every month, for every client, is where close time compounds fastest. We have seen this pattern across more than 100 companies, and the manual reconciliation between disconnected systems is consistently where the hours go.

The third problem is the close package itself. A chat reply is not a board report. A spreadsheet export is not a live dashboard. When the client asks a follow-up question two days after the package lands, the answer requires another export, another reconciliation, and another round of formatting.

How a governed layer changes the close

We built Permute to sit underneath the tools a finance team already uses, and the close is one of the workflows where that matters most. The Data Foundation layer connects the systems the close depends on, QuickBooks, Stripe, Gusto, Rippling, Salesforce, and others, and resolves them into one consistent record per entity. That means the bank reconciliation, the AR aging, and the revenue tie-out are all drawing from the same source rather than from separate exports that have to be manually reconciled against each other.

The Data Activation layer is where the close package lives as a scheduled, repeatable artefact rather than a monthly rebuild. The variance commentary runs against current data rather than a snapshot. The KPI summary the client sees on day five of the close reflects the same ledger the controller signed off on, not a copy of it from day two. And when the client asks why gross margin moved, the answer traces back to source rows rather than to a formula in a spreadsheet that nobody else can audit.

We are not a forecasting engine, so we do not generate forward projections as part of the close package. We supply the governed data a forecast is built on, which is a different job. And we do not perform statutory consolidation with intercompany eliminations; where a client has entities that require a statutory consolidation, that work belongs in a dedicated consolidation tool, and we sit alongside it for the analytical and reporting layer.

Typical implementations go live in weeks rather than quarters, because the connection work is the fast part. The slow part, agreeing what the core metrics mean and who owns each reconciliation, is the process work this article is about, and it has to happen regardless of which tools are in the stack.

For a full view of the systems we connect, and for more on what a context layer actually does, those pages cover the mechanism in detail. If the close raises questions about access control or how data is scoped per client, how the data is handled covers that.

Run the close on a governed layer

Connect the systems your close depends on and see the reconciliation, the variance analysis, and the close package all drawing from the same source.

Questions finance teams ask about the close

How long should a month-end close take?

The range varies by complexity, but the more useful question is whether the close takes the same amount of time each month. A close that runs in three days for a simple client and seven days for a complex one is functioning as designed. A close that takes three days in January and nine days in March, for the same client, is a signal that the process is not stable, usually because a stage is dependent on a person rather than on a system.

What is the most common reason a close runs late?

Missing or late data from upstream systems is the most frequent cause, followed by reconciling items that were not resolved in the prior close and carried forward. Both are pre-close problems, which is why the pre-close stage exists as a named step rather than an informal assumption. A close that starts with known inputs, confirmed on the last day of the prior month, runs more predictably than one that starts by assembling those inputs on day one.

How do you manage the close across multiple clients without the process breaking?

The close that holds across a book of clients is the one where each stage is documented, each owner is named, and the data each stage depends on is sourced consistently. The practical constraint is usually the reconciliation step: when each client's data lives in a different system with different account structures, the reconciliation is rebuilt from scratch each month. Connecting those systems into a consistent layer, so the reconciliation runs against the same structure every month, is what removes the per-client rebuild. For more on how that works in practice, fractional CFOs and finance teams covers the broader workflow.

Does this process apply to a single entity, or only to multi-entity clients?

The five stages apply to both. For a single entity, the process is simpler because there are no intercompany balances to confirm and no consolidation layer to manage. For a multi-entity client, stages two and three expand: cut-off has to be applied consistently across entities, and the reconciliation includes confirming that intercompany balances agree before the close advances. We do not perform statutory consolidation with intercompany eliminations; that step belongs in a consolidation tool. What we handle is the analytical layer that sits on top of it.