Back to End of Month Close

Process Runbook / SOP

How the automation works day-to-day: what is automatic, what needs a human, how exceptions are handled, and who to contact.

4 pagesPDF · Operations
FS-DOC-03Operations

Process Runbook / SOP

End of Month Close

[YourCompany.com] · Finance Department · Prepared by FullSpec · [Today's Date]

This runbook is the operating guide for the automated End of Month Close process. It explains what happens at each stage, what the automation handles, and exactly where your team needs to act. FullSpec has built and configured everything described here. Your finance team's only standing responsibility is the bookkeeper exception review and the Finance Manager sign-off. Keep this document accessible to anyone who covers the close if a team member is unavailable.

01Process overview

The End of Month Close automation runs every month on the final business day of the period. It chases outstanding receipts and expenses automatically, pulls and reconciles transaction data from Xero, posts accrual journals, builds the management accounts pack, and distributes the approved report to stakeholders. A bookkeeper and controller previously spent 44 hours per month-end cycle completing these steps manually across Gmail, Xero, Google Sheets, Hubdoc, and Dext. The automation compresses the active work to 8 hours and delivers the management report within 1 to 2 business days of period end, compared to 5 to 7 days previously. One human review step remains in the flow, and nothing is finalised or distributed without Finance Manager approval.

Process name
End of Month Close
Trigger
Automation platform detects the final business day of the month and starts the workflow automatically. No manual kick-off is required.
Final output
Approved management accounts pack distributed as a PDF to all stakeholders via Gmail, with a Slack notification confirming delivery.
Agents running
Chase and Notification Agent, Reconciliation Agent, Accruals and Reporting Agent
Tools involved
Xero, Google Sheets, Gmail, Slack, Hubdoc, Dext
Weekly volume
1 full close cycle per month, covering 200 to 600 transactions per period
Human checkpoint
Bookkeeper reviews flagged exceptions in Google Sheets before accruals are posted. Finance Manager approves the management accounts pack before distribution.
Process owner
[Your name] — Finance Manager / Controller (fill in on confirmation)
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations

02Step-by-step: what happens and who acts

What you actually need to do: Your team has two active steps in this entire process. First, the bookkeeper reviews and resolves the flagged exceptions list in Google Sheets before the accruals run. Second, the Finance Manager reviews the completed management accounts pack and either approves it for distribution or returns it with notes. Everything else runs automatically. You do not need to send chase emails, download statements, code transactions, post journals, or assemble the report.
Step
What happens
Who acts
Type
1
On the final business day of the month the automation platform detects the calendar trigger and starts the close workflow without any manual action. The Chase and Notification Agent sends templated receipt and expense chase messages to each department contact via Gmail, with a simultaneous Slack notification to the relevant channels. If no response is received within 24 hours, a follow-up reminder is sent automatically.
Automation
Automated
2
Once the chase window closes, the automation pulls all uncategorised and unreconciled transactions from Xero for the period via the Xero API. Bank feed status is checked across all connected accounts.
Automation
Automated
3
The Reconciliation Agent compares transaction data against bank statement figures from Hubdoc and Dext, auto-matches obvious pairs, and applies existing Xero coding rules to uncategorised items. Items the system is confident about are confirmed automatically. Items that cannot be matched or coded are written to a structured exceptions list in Google Sheets.
Automation
Automated
4
The bookkeeper opens the exceptions list in Google Sheets, reviews each flagged item, and resolves it by adding the correct coding or notes. Once the bookkeeper confirms the list is clear, the workflow continues. This is the first human step in the process.
Bookkeeper
Human
5
The Accruals and Reporting Agent reads the accruals schedule from Google Sheets, calculates the correct entries for the period, and posts the accrual and prepayment journals directly to Xero via the API. No manual data entry is required.
Automation
Automated
6
The same agent pulls the final period figures from Xero, including profit and loss, balance sheet, and cash flow, and populates the management accounts template in Google Sheets. A commentary draft is generated automatically based on variance thresholds. Aged payables and receivables data is also included.
Automation
Automated
7
The Finance Manager receives an automated notification that the management accounts pack is ready for review. The Finance Manager opens the pack, reviews the figures and commentary, and either approves it for distribution or returns it with correction notes. This is the second and final human step in the process.
Finance Manager
Human
8
Once the Finance Manager approves the pack, the automation exports it as a PDF and sends it to each stakeholder on the distribution list via Gmail. A Slack message is sent simultaneously to confirm that the report has been distributed. A delivery log is recorded.
Automation
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations

03Handling exceptions

Situation
What the system does
What you do
A department contact does not submit receipts or expense claims after the chase email and the 24-hour reminder
The Chase and Notification Agent logs the non-response and marks that contact as outstanding in the delivery log. The reconciliation run proceeds with the data available. Any transactions linked to that contact that cannot be matched are written to the exceptions list.
The bookkeeper reviews the exceptions list and either codes the transaction with the best available information or contacts the person directly to obtain the missing receipt. The item should be resolved before the bookkeeper signs off the exceptions list.
A transaction appears in the exceptions list that looks like a duplicate of an entry already in Xero
The Reconciliation Agent flags the item as a potential duplicate and includes both the original and the suspected duplicate in the exceptions list with a note indicating the reason for the flag.
The bookkeeper reviews both entries in Xero and the exceptions list, confirms whether it is a genuine duplicate, and either voids the duplicate in Xero or marks the flagged item as correctly matched. The bookkeeper updates the exceptions list accordingly before signing off.
A supplier invoice referenced in Hubdoc or Dext cannot be matched to any transaction in Xero
The Reconciliation Agent writes the unmatched document to the exceptions list with the supplier name, amount, and date. It does not create a transaction in Xero automatically.
The bookkeeper reviews the unmatched invoice, confirms whether it relates to the current period, and either posts the transaction in Xero manually or determines that the invoice does not belong to this close cycle and notes the reason in the exceptions list.
The Finance Manager does not respond to the approval request within the expected review window
After 4 business hours with no response, the system sends a follow-up notification to the Finance Manager via both Gmail and Slack. The pack is not distributed and no further automated steps run until an approval or rejection is recorded.
If the Finance Manager is unavailable, a nominated deputy (agreed in advance) should review and approve the pack. Contact the Finance Manager or deputy directly if the follow-up notification is also not acknowledged. The process owner should confirm the deputy arrangement before go-live.
The accruals schedule in Google Sheets has been modified in a way the agent cannot parse, such as new rows added outside the defined range or column headers changed
The Accruals and Reporting Agent raises an error, stops before posting any journals, and sends an alert to the process owner via email and Slack. No journals are posted until the issue is resolved.
The process owner or Controller reviews the accruals schedule, corrects the structure to match the agreed format, and triggers a manual rerun of the accruals step. Contact FullSpec support at support@gofullspec.com if the error persists after the schedule is corrected.
Xero or one of the connected tools is unavailable when the automation runs
The automation platform retries the affected step automatically up to three times at 15-minute intervals. If all retries fail, the workflow pauses at that step and an alert is sent to the process owner. Completed steps before the failure are retained and do not need to be repeated.
Check the status of the affected tool (Xero status page, Google Workspace status, Slack status). Once the tool is confirmed available, trigger a manual rerun of the failed step from the automation platform dashboard. If the tool outage lasts more than 2 hours during a live close, contact FullSpec support at support@gofullspec.com for assisted recovery.

04Who to contact and when

Fill in the rows marked with brackets once your team is confirmed. The FullSpec rows are fixed and do not change. Share this completed table with anyone who covers the close in the main owner's absence.

Role
Name
How to reach them
Process owner (Finance Manager)
[Your name]
[Your email] / [Your phone or Slack handle]
Bookkeeper (exceptions review)
Priya Nair
[Priya's email] / [Priya's Slack handle]
Controller (accruals and reporting)
Sarah Okafor
[Sarah's email] / [Sarah's Slack handle]
Finance Manager (pack approval)
Marcus Leung
[Marcus's email] / [Marcus's Slack handle]
Deputy approver (if Finance Manager is unavailable)
[Deputy name]
[Deputy email] / [Deputy Slack handle]
FullSpec build team
FullSpec
support@gofullspec.com — for automation errors, rerun requests, or configuration changes
FullSpec support
FullSpec Support
support@gofullspec.com — for general questions, access issues, or urgent failures during a live close
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations

05Ongoing maintenance

When
What to do
Who
Any time a new bank account or credit card is added to the business
Connect the new account to Xero via bank feed or manually confirm it is included in the reconciliation scope. Notify FullSpec at support@gofullspec.com so the Reconciliation Agent's account list can be updated. Accounts not in the agent's scope will be missed silently.
Process owner, with FullSpec support
Any time the management accounts template or accruals schedule changes
Before making structural changes to the Google Sheets template or accruals schedule (such as adding new cost centres, changing column headers, or restructuring sections), contact FullSpec at support@gofullspec.com to confirm the change is compatible with the agent's configuration. Make the change only after confirmation.
Controller, with FullSpec sign-off before changes go live
Monthly, after each close cycle completes
Review the exceptions log and delivery log for the completed cycle. Note how many items were flagged, how long the bookkeeper took to clear them, and whether any errors occurred. If the exceptions count is increasing month on month, discuss the pattern with FullSpec.
Bookkeeper or Controller
Monthly, within 2 business days of the close completing
Check the automation platform's error log for any failed steps, retries, or warnings from the just-completed cycle. If any errors are showing, raise them with FullSpec before the next cycle begins.
Process owner
Any time a team member changes role or leaves
Update the contact table in this document. If the departing person was in the distribution list, the exceptions reviewer, or the approver role, notify FullSpec so the automation's recipient lists and approval routing can be updated before the next close.
Process owner, with FullSpec support
Quarterly
Review the process against current transaction volumes. If monthly volumes have grown significantly above 600 transactions, or if new tools have been added to the finance stack, book a review call with FullSpec to assess whether the current configuration still performs within expected parameters and whether any agent tuning is needed.
Finance Manager and FullSpec
The single most common maintenance issue for this process is changes made to the Google Sheets accruals schedule without notifying FullSpec first. If columns are renamed, rows are added outside the agent's defined range, or the sheet is duplicated and a new version is used, the Accruals and Reporting Agent will fail to read the schedule and will stop before posting any journals. Always check with FullSpec at support@gofullspec.com before making structural changes to any spreadsheet the automation reads from.
Process Runbook / SOPPage 4 of 4

More documents for this process

Every document generated for End of Month Close.

Launch Plan
Operations · Owner
View
ROI and Business Case
Finance · Owner
View
Developer Handover Pack
Technical · Developer
View
Integration and API Spec
Technical · Developer
View
Test and QA Plan
Quality · Developer
View