Back to Financial Reporting

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

Financial Reporting Automation

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

This runbook is the day-to-day operating guide for the Financial Reporting automation. It tells your team exactly what the system does on its own, what the one remaining human step looks like, how to handle things when something goes wrong, and who to call when you need help. FullSpec has built, tested, and monitors this automation end to end. Your team's only regular responsibility is reviewing the drafted report before it goes out.

01Process overview

On schedule, the automation connects to Xero and HubSpot, pulls all financial figures for the reporting period, and writes them into the correct cells in your Google Sheets report template. A Variance Analysis Agent then reads the populated sheet, compares actuals against budget for every line item, and drafts a plain-language commentary block. The finance manager receives a near-complete report and reviews the variance flags before approving distribution. Once approved, the Distribution Agent exports the report as a PDF to Google Drive and posts the link and headline figures to the designated Slack channel. The only step a person takes is the review and approval. Everything else runs automatically on the configured schedule.

Process name
Financial Reporting
Trigger
Scheduled date: first working day after month-end for P&L and cash-flow packs; every Monday morning for the weekly flash report
Final output
PDF report saved to Google Drive and distributed to stakeholders via Slack, with variance commentary included
Agents running
Data Fetch Agent, Variance Analysis Agent, Distribution Agent
Tools involved
Xero, HubSpot, Google Sheets, Google Drive, Slack
Weekly volume
Approximately 4 reports per month (weekly flash reports plus monthly P&L and cash-flow packs)
Human checkpoint
Finance manager reviews variance flags and drafted commentary, then approves or rejects before distribution fires
Process owner
Finance Manager (see Section 04 for contact details)
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations

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

What you actually need to do: Your only regular action in this process is Step 7, the finance manager review. When the Variance Analysis Agent completes its draft, you will receive a Slack notification prompting you to open the report in Google Sheets, read the flagged variances and the drafted commentary, and either approve distribution or reject the draft with a note. Everything before and after that step runs without any input from your team.
Step
What happens
Who acts
Type
1
The automation platform fires on the configured schedule. For monthly reports this is the first working day after period close; for weekly flash reports this is every Monday morning. No manual action is needed to start the run.
Automation
Automated
2
The Data Fetch Agent calls the Xero API and retrieves the Profit and Loss statement, Balance Sheet, and Cash-Flow figures for the reporting period in a single authenticated session. No manual Xero login or CSV export is required.
Data Fetch Agent
Automated
3
The Data Fetch Agent calls the HubSpot API and pulls closed-won revenue totals and open pipeline figures for the same period, so bookings data appears alongside recognised revenue in the report.
Data Fetch Agent
Automated
4
All retrieved figures are written into the designated cells in the master Google Sheets report template. Formulas recalculate automatically. The sheet is now fully populated with accurate source data and no copy-paste step has occurred.
Data Fetch Agent
Automated
5
The Variance Analysis Agent reads the populated spreadsheet and compares every actual figure against its corresponding budget line. Any line item where the variance exceeds the configured threshold is flagged. The agent writes a plain-language commentary block into the report summary section describing each flagged item.
Variance Analysis Agent
Automated
6
If no line items breach the variance threshold, the automation moves directly to the distribution step. If variances are found, the finance manager receives a Slack notification prompting them to review the flagged items and the drafted commentary before the report is sent out.
Automation
Automated
7
The finance manager opens the Google Sheets report, reads the variance flags and the drafted commentary, and either approves the report for distribution or rejects it with a note explaining what needs to be corrected. This review is expected to take around 20 to 25 minutes. If no action is taken within the configured review window, the system escalates with a reminder before the window closes.
Finance Manager
Human
8
Once the finance manager approves, the Distribution Agent exports the completed Google Sheet as a formatted PDF and saves it to the correct folder in Google Drive, named with the report period and report type.
Distribution Agent
Automated
9
The Distribution Agent posts a message to the configured Slack finance channel containing the Google Drive link to the PDF and a brief summary of the key variance points from the agent commentary. Stakeholders can view the full report immediately without waiting for an email.
Distribution Agent
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations

03Handling exceptions

Situation
What the system does
What you do
A required data field is missing from the Xero or HubSpot response (for example, a balance sheet account has no value for the period)
The Data Fetch Agent flags the missing field, leaves the corresponding cell empty in the Google Sheets template, and sends a Slack alert to the finance manager naming the specific field and the source system before continuing the run.
Open Xero or HubSpot and confirm whether the data exists for that period. If it does, check that the account or field is included in the connected report. Contact FullSpec at support@gofullspec.com if the field should be present but the agent cannot retrieve it.
A duplicate report run is triggered (for example, a manual re-run is fired on the same day as a scheduled run)
The automation checks for an existing populated sheet for the same period and report type. If one is found, the second run is paused and a Slack alert is sent asking the finance manager to confirm whether the existing sheet should be overwritten or the new run cancelled.
Reply to the Slack alert confirming your preference. If you are unsure which run produced the correct data, open both sheet versions and compare the fetch timestamps recorded in the audit tab before deciding.
The Google Sheets report template has been edited and a cell reference the agent writes to no longer exists or has moved
The Data Fetch Agent detects a write error, logs the specific cell reference that failed, halts the run to avoid producing a partially populated report, and sends a Slack alert to the finance manager and the FullSpec support channel.
Do not attempt to fix the cell mapping yourself. Contact FullSpec at support@gofullspec.com with the error message from the Slack alert. The FullSpec team will update the cell reference map and re-run the affected report. Future template layout changes should always be notified to FullSpec before they are made.
The finance manager does not act on the review notification within the configured review window
The automation sends a second Slack reminder to the finance manager as the review window approaches its close. If the window expires without any action, the run is paused and a final alert is sent to both the finance manager and the process owner. Distribution does not fire without explicit approval.
If you are unable to review the report within the window due to absence or competing priorities, ask a delegated approver (agreed in advance with FullSpec during setup) to review in your place, or reply to the Slack reminder to request a window extension.
Xero or HubSpot is unavailable due to an outage or API rate-limit breach at the time of the scheduled run
The automation waits and retries the API call up to three times at five-minute intervals. If all retries fail, the run is marked as failed, a Slack alert is sent to the finance manager explaining which system could not be reached, and the run is queued to retry automatically at the next available window.
Check the Xero or HubSpot status page to confirm whether there is a known outage. If the outage resolves quickly, the queued retry will complete without any action from you. If the outage extends beyond the reporting deadline, contact FullSpec at support@gofullspec.com so the team can trigger a manual run or advise on a temporary fallback.
The Slack channel or Google Drive destination folder cannot be reached at the time of distribution (for example, permissions have changed or the folder has been moved)
The Distribution Agent logs the delivery error, retries once after a short delay, and if the second attempt fails sends a Slack alert to the finance manager's direct messages rather than the channel. The PDF is also retained in a fallback holding location in Google Drive.
Check whether the Slack channel name or Google Drive folder path has changed recently. If so, inform FullSpec at support@gofullspec.com so the destination references can be updated. Retrieve the PDF from the fallback location in Drive and distribute manually if the report is time-sensitive.

04Who to contact and when

Fill in the rows below once your team is confirmed. The FullSpec rows are fixed. Keep this table accessible to anyone in your finance team who may need to act during a reporting cycle.

Role
Name
How to reach them
Process owner (Finance Manager)
[Your name]
[Your email or Slack handle]
Backup approver (for review-window cover)
[Your name]
[Your email or Slack handle]
Bookkeeper / data contact
[Your name]
[Your email or Slack handle]
Operations lead (for escalations)
[Your name]
[Your email or Slack handle]
FullSpec builder (automation issues, mapping changes, re-runs)
FullSpec team
support@gofullspec.com
FullSpec support (all other queries, account, or billing)
FullSpec support
support@gofullspec.com
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations

05Ongoing maintenance

The automation runs without daily attention, but a small number of routine checks will keep it accurate and reliable over time. The table below sets out what to do, when to do it, and who is responsible.

When
What to do
Who
Whenever the Google Sheets report template layout changes (new rows, moved cells, renamed tabs)
Notify FullSpec at support@gofullspec.com before making the change. FullSpec will update the cell reference map used by the Data Fetch Agent and Variance Analysis Agent. Changing the template without notifying FullSpec will cause the next run to fail.
Process owner notifies FullSpec; FullSpec updates the mapping
Whenever a new Xero account code, HubSpot pipeline stage, or report section is added
Inform FullSpec so the new data source or field can be included in the agent fetch logic. New account codes added in Xero will not appear in reports automatically unless the mapping is updated.
Process owner notifies FullSpec; FullSpec updates the agent configuration
Monthly, after the first three automated report cycles
Spot-check one completed report by comparing the agent-fetched figures against the source data in Xero and HubSpot for at least three line items. Confirm that totals match and no fields are blank. Log the result.
Finance Manager
Monthly
Review the automation error log in the monitoring dashboard. Check for any failed runs, retry events, or cells that were written as blank. If errors appear, raise them with FullSpec before the next reporting cycle.
Finance Manager or Operations Lead
Whenever a team member joins, leaves, or changes role
Update the Slack channel membership and Google Drive folder access permissions so the right people receive reports and former team members no longer have access. Notify FullSpec if the approval-gate reviewer or the Slack distribution list needs to change.
Process owner; FullSpec updates automation settings if required
Quarterly
Review the total report volume against the current plan to confirm the automation platform subscription remains appropriate. Also revisit the variance threshold with the finance manager to confirm it is still catching meaningful movements without generating noise on normal fluctuations.
Finance Manager and Operations Lead; FullSpec consulted if threshold changes are needed
The single most common maintenance issue for this process is an unannounced change to the Google Sheets report template. When rows are added, cells are moved, or tabs are renamed without informing FullSpec, the Data Fetch Agent writes figures to the wrong cells or fails silently, producing a report that looks complete but contains stale or misplaced data. Always contact FullSpec before editing the template layout.
Process Runbook / SOPPage 4 of 4

More documents for this process

Every document generated for Financial Reporting.

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