FS-DOC-03Operations
Process Runbook / SOP
Cash Flow Forecasting
[YourCompany.com] · Finance Department · Prepared by FullSpec · [Today's Date]
This runbook is the operating reference for the automated Cash Flow Forecasting process. It tells you exactly what the system does each week, what your team needs to do, how to handle anything that goes wrong, and who to call when you need help. FullSpec built, tested, and launched this automation end to end. Your team's sole ongoing responsibility is the weekly review and approval step inside Google Sheets, and this document covers everything you need to do that confidently.
01Process overview
Every Monday morning the automation triggers automatically, connects to Xero and Stripe, collects all the financial data needed for the week's forecast, categorises transactions against your chart-of-accounts rules, and writes a fully populated forecast into your master Google Sheet before anyone arrives at their desk. The Finance Lead then opens the sheet, reviews any flagged transactions, applies adjustments based on business context, and marks the forecast approved. From that single approval action, the system exports a PDF and distributes it to all stakeholders via Gmail and posts a cash summary to the Slack finance channel. The full cycle takes under 30 minutes of human effort, down from four hours manually.
Process name
Cash Flow Forecasting
Trigger
Scheduled Monday morning run, fires automatically at a fixed time each week via the automation platform
Final output
PDF forecast emailed to stakeholders via Gmail and a formatted cash summary posted to the Slack finance channel
Agents running
Data Collection Agent, Categorisation Agent, Distribution Agent
Tools involved
Xero, Stripe, Google Sheets, Gmail, Slack
Weekly volume
1 forecast cycle per week, approximately 4 cycles per month
Human checkpoint
Finance Lead reviews the pre-populated Google Sheet, applies manual adjustments, and sets the approval cell to 'Approved'
Process owner
[Your name] — Finance Lead, [YourCompany.com]
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations
02Step-by-step: what happens and who acts
What you actually need to do: There is one human step in this entire process. After the system has collected, categorised, and written the data into Google Sheets, you open the master forecast sheet, review any flagged transactions, apply any manual assumptions or adjustments you judge necessary, and then set the approval cell to 'Approved'. Everything before and after that step is handled automatically.
Step
What happens
Who acts
Type
1
The automation platform fires a scheduled trigger at a fixed time each Monday morning. No manual action is required to start the run. The trigger passes control to the Data Collection Agent.
Automation platform
Automated
2
The Data Collection Agent authenticates with Xero via its API and pulls all cleared bank transactions for the past 7 days, the full accounts receivable ageing report, and every upcoming bill and payable due within the next 8 weeks. All figures are timestamped at the moment of retrieval.
Data Collection Agent
Automated
3
The Data Collection Agent queries the Stripe API for all scheduled payouts expected within the next 8 weeks, including amounts and expected arrival dates. These figures are added to the data payload.
Data Collection Agent
Automated
4
The Categorisation Agent receives the full data payload and reviews each transaction against the business's known chart-of-accounts coding rules. Transactions matched with sufficient confidence are assigned a forecast line category. Transactions that cannot be confidently matched are set aside with a flag rather than guessed incorrectly.
Categorisation Agent
Automated
5
All categorised figures are written into the correct weekly columns of the master Google Sheet via the Sheets API. Existing formulas and chart ranges are preserved. A summary of flagged transactions requiring your attention is added to a dedicated review tab.
Categorisation Agent
Automated
6
You open the master Google Sheet. You review the flagged transactions on the review tab and either confirm the system's suggested category or reassign the transaction to the correct forecast line. You then read the 8-week closing balance row, apply any assumptions or adjustments you judge necessary such as expected large payments or pipeline deals, and check that no week shows an unexpectedly negative or low balance. When you are satisfied, you set the approval cell on the summary tab to 'Approved'.
Finance Lead
Human
7
The Distribution Agent detects the 'Approved' value in the approval cell. It exports the summary tab to PDF and emails the file to the full stakeholder distribution list via Gmail using a standard subject line and commentary template.
Distribution Agent
Automated
8
The Distribution Agent posts a formatted message to the Slack finance channel containing the opening balance, the 4-week projected closing balance, and a list of any weeks flagged as a cash risk. The run is then complete and the timestamped record is retained automatically in the sheet.
Distribution Agent
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations
03Handling exceptions
Situation
What the system does
What you do
Xero or Stripe API call fails mid-run
The Data Collection Agent retries the failed call up to three times with increasing wait intervals. If all retries fail, the run is halted and an automated alert is sent to the Finance Lead via email and Slack naming the specific API that failed.
Wait to see if a retry resolves it. If the alert arrives and the issue persists, check that your Xero and Stripe API credentials are active and have not expired. Contact FullSpec support at support@gofullspec.com if the connection cannot be restored within the hour.
A transaction has missing or incomplete data from Xero
The Categorisation Agent flags the transaction on the review tab with the note 'Incomplete data' and leaves the forecast line cell blank rather than inserting a zero or a guess.
Open the review tab, locate the flagged transaction, and check the source record directly in Xero. Correct the transaction in Xero if needed, or manually assign the forecast line in the sheet before approving.
A duplicate transaction appears in the data set
The Data Collection Agent checks transaction IDs against those already written to the sheet. If a duplicate ID is detected, the duplicate entry is discarded and a note is added to the run log. The forecast figures are not doubled.
No immediate action required. If you notice an unexpected figure in the closing balance, check the run log tab in the sheet to confirm whether a duplicate was detected and discarded. Contact FullSpec support if duplicates appear repeatedly.
A transaction cannot be categorised with sufficient confidence
The Categorisation Agent places the transaction on the review tab with a 'Low confidence' flag and its best-guess category shown in brackets for reference. The forecast line is left unassigned until you confirm or correct it.
Open the review tab, read the suggested category, and either confirm it or reassign the transaction to the correct line. Do this before setting the approval cell. If the same transactions appear as low-confidence every week, contact FullSpec to update the categorisation rules.
The Finance Lead does not approve the forecast by a set time
The Distribution Agent waits. It will not distribute any report until the approval cell is set to 'Approved'. No automatic distribution occurs after a timeout. Stakeholders receive nothing until you act.
If you are unavailable, ensure a named backup (such as the Business Owner) has edit access to the sheet and knows to review and approve if you cannot. Inform your backup in advance and update the contact table in Section 04 of this runbook accordingly.
Gmail or Slack is unavailable when distribution is triggered
The Distribution Agent retries the delivery step up to three times over 15 minutes. If Gmail delivery fails after all retries, the PDF is retained in a designated Google Drive folder and an alert is sent to the Finance Lead. If Slack delivery fails, the system logs the failure and moves on without blocking the email step.
Check your inbox for the alert. If the PDF was not delivered to stakeholders, retrieve it from the designated Google Drive folder and forward it manually. Notify stakeholders of the brief delay. For repeated delivery failures, contact FullSpec support at support@gofullspec.com.
04Who to contact and when
Fill in the rows marked with brackets once your team is confirmed. Keep this table updated whenever roles change. For any issue with the automation itself, the build, or a tool connection, contact FullSpec directly using the details below.
Role
Name
How to reach them
Finance Lead (process owner)
[Your name]
[Rep email]
Backup approver (if Finance Lead is unavailable)
[Your name]
[Rep email]
Business Owner
[Your name]
[Rep email]
Bookkeeper
[Your name]
[Rep email]
FullSpec builder (build and technical issues)
FullSpec team
support@gofullspec.com
FullSpec support (errors, alerts, tool outages)
FullSpec support
support@gofullspec.com
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations
05Ongoing maintenance
Whenever Xero chart-of-accounts categories are added, renamed, or removed
Notify FullSpec so the categorisation rules inside the Categorisation Agent can be updated to match. Running the agent against an outdated chart of accounts will increase the number of low-confidence flags and reduce forecast accuracy.
Finance Lead notifies FullSpec at support@gofullspec.com
Whenever the master Google Sheet structure changes (new columns, moved rows, or renamed tabs)
Do not restructure the sheet without checking with FullSpec first. The Categorisation Agent writes to specific column positions and the Distribution Agent reads from a named summary tab. An unannounced structural change can cause a failed run or silent data errors.
Finance Lead coordinates with FullSpec before making any structural changes
Monthly spot-check (first Monday of each month)
Open the run log tab in the master sheet and confirm that the previous four runs all completed without errors. Check that the stakeholder distribution list in Gmail is still current and that the Slack finance channel has received all four weekly summaries.
Finance Lead
Monthly error-log review
Review any flagged transactions from the past month's runs. If the same transaction types are appearing as low-confidence repeatedly, this signals that a categorisation rule needs to be added or refined. Log the pattern and contact FullSpec to update the rules.
Finance Lead, with FullSpec support if rule changes are needed
Whenever a team member joins, leaves, or changes role
Update the contact table in Section 04 of this runbook. If the Finance Lead or backup approver changes, notify FullSpec so that alert routing and any email distribution list references can be updated in the automation.
Process owner notifies FullSpec at support@gofullspec.com
Quarterly volume review
At the end of each quarter, confirm that the weekly transaction volume is within the range the system was sized for. If the business has grown significantly, transaction counts may approach API rate limits. FullSpec will review the Data Collection Agent's retry settings and throughput if needed.
Finance Lead raises with FullSpec quarterly
The most common maintenance issue for this process is an unannounced change to the Xero chart of accounts. When a new account code is added or an existing category is renamed in Xero and the categorisation rules are not updated to match, the Categorisation Agent cannot confidently assign those transactions and flags them all for manual review. This does not cause a failed run, but it adds avoidable review work each week. Whenever you or your bookkeeper changes anything in Xero's account structure, contact FullSpec at support@gofullspec.com the same day so the rules can be updated before the next Monday run.
Process Runbook / SOPPage 4 of 4