FS-DOC-03Operations
Process Runbook / SOP
Client Deposit & Payment Tracking
[YourCompany.com] · Finance Department · Prepared by FullSpec · [Today's Date]
This runbook is the day-to-day operating guide for your finance team once the Client Deposit & Payment Tracking automation is live. It tells you exactly what the system handles on its own, where a person needs to step in, how to deal with exceptions, and who to call when something goes wrong. FullSpec builds, tests, and monitors everything on the automation side. Your team's job is to review unmatched payments, keep contact details current, and act on any exception alerts that reach your inbox or Slack channel.
01Process overview
The Client Deposit & Payment Tracking automation runs from the moment a new invoice is raised in Xero through to the team being notified in Slack that full settlement has cleared. Three agents handle detection, client communication, and internal notification without any manual input required in the normal flow. The only point where a person needs to act is when an incoming payment cannot be automatically matched to an open invoice, typically because the client used the wrong reference or sent a partial amount. At that point the bookkeeper reviews the flagged item, confirms the correct allocation, and the automation continues from there.
Process name
Client Deposit & Payment Tracking
Trigger
A new invoice with deposit terms is created in Xero
Final output
Invoice fully reconciled in Xero, deposit confirmation sent to client, and Slack alert posted to project channel
Agents running
Deposit Monitor Agent, Client Communication Agent, Internal Notification Agent
Tools involved
Xero, Stripe, Gmail, HubSpot, Google Sheets, Slack
Weekly volume
Approximately 60 invoices/month (roughly 15/week)
Human checkpoint
Bookkeeper reviews any payment that cannot be automatically matched (exception only)
Process owner
[Your name] — Finance Lead
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 process. When a payment arrives in Stripe that cannot be automatically matched to an open invoice (for example, a partial payment or a misreferenced transfer), the Deposit Monitor Agent flags it and sends an alert. The bookkeeper opens the flagged row in Google Sheets, identifies the correct invoice, and confirms the allocation. Everything else runs without anyone touching it.
Step
What happens
Who acts
Type
1
A new invoice is created in Xero with deposit terms. The automation detects it immediately via a Xero trigger and captures the invoice ID, client name, deposit amount, and due date.
Automation
Automated
2
The Deposit Monitor Agent writes a new row to the Google Sheets payment tracker containing the invoice reference, client name, deposit amount due, and due date. This becomes the single source of truth for the invoice going forward.
Automation
Automated
3
The Deposit Monitor Agent polls Stripe on a daily schedule, comparing incoming payments against open deposit records by amount, client reference, and date range to find a match.
Automation
Automated
4
If no matching payment is found by the deposit due date, the Client Communication Agent sends a personalised overdue chaser email to the client via Gmail, using the invoice amount and payment link. The chaser runs on a pre-set schedule and cannot be sent twice to the same client for the same invoice.
Automation
Automated
5
Every chaser email sent is automatically logged in HubSpot as a contact activity against the client record, including the date sent and the outstanding amount. The account manager always has a full, accurate history without entering anything manually.
Automation
Automated
6
When a payment arrives in Stripe that cannot be automatically matched (for example, a partial payment or a transfer with the wrong reference), the Deposit Monitor Agent flags the row in Google Sheets and sends an alert. The bookkeeper reviews the flagged item, identifies the correct invoice, and confirms the allocation so the automation can continue.
Bookkeeper
Human
7
Once a matching payment is confirmed, the Deposit Monitor Agent applies it to the correct invoice in Xero, updating the outstanding balance and marking the deposit line as received. No one needs to open Xero to do this.
Automation
Automated
8
The Client Communication Agent sends a deposit confirmation email to the client via Gmail, acknowledging receipt of the deposit and stating the remaining balance with the final due date.
Automation
Automated
9
Before the final balance due date, the Client Communication Agent sends a final payment reminder to the client, repeating the outstanding amount and payment details, on the same duplicate-prevention schedule used for chasers.
Automation
Automated
10
Once the final payment clears and the invoice is fully settled in Xero, the Internal Notification Agent posts a message to the designated Slack project channel with the client name, invoice reference, and cleared amount. The project team can proceed without checking any accounting tool.
Automation
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations
03Handling exceptions
Situation
What the system does
What you do
Payment arrives with the wrong reference or a mismatched amount
The Deposit Monitor Agent cannot confirm the match. It flags the row in Google Sheets with a status of 'Needs Review' and sends an alert to the bookkeeper via Slack or email.
Open the flagged row in Google Sheets. Identify the correct invoice by cross-referencing the client name, amount, and payment date in Stripe. Confirm the allocation by updating the row. The automation reconciles in Xero from that point.
A duplicate chaser is about to be sent to the same client
The Client Communication Agent checks the HubSpot activity log and Google Sheets history before sending. If a chaser was sent within the configured suppression window, the send is skipped and logged as 'Suppressed' in the tracker.
No action needed. If you believe a chaser should have gone out but was suppressed, check the HubSpot activity log for the client and contact FullSpec support if the suppression window needs adjusting.
A client record is missing or not linked between Xero and HubSpot
The Client Communication Agent cannot write the activity log to HubSpot. It completes the Gmail send but flags the HubSpot row as 'Log Failed' in Google Sheets and sends an alert.
Check that the client name in Xero matches the contact name in HubSpot exactly. Correct any mismatch in HubSpot, then notify FullSpec support so the failed log entry can be written retrospectively.
The bookkeeper does not act on a flagged unmatched payment within 48 hours
The system sends a second alert after 48 hours to the process owner. The invoice remains open and no reconciliation occurs until the manual confirmation is given. No incorrect reconciliation is ever written automatically.
Review the flagged item as soon as the second alert arrives. If the payment is genuinely unidentifiable (for example, it belongs to another business), contact your bank to investigate and mark the row in Google Sheets as 'On Hold'.
A client does not respond to chasers after the configured number of attempts
The Client Communication Agent sends the final chaser in the sequence and then stops. The invoice row in Google Sheets is marked 'Escalation Required' and the process owner receives an alert.
Review the client account and decide whether to escalate internally, apply a late fee, or pause work. Update the Google Sheets row with your decision so the status remains accurate. No further automated chasers are sent until you reset the sequence.
Xero, Stripe, Gmail, or Slack is temporarily unavailable
The automation platform retries the failed action up to three times at 15-minute intervals. If the action still fails after three attempts, the step is logged as 'Failed' in Google Sheets and an alert is sent to the process owner.
Check the relevant tool's status page to confirm an outage. If the outage clears quickly, the automation will resume on the next scheduled run. If the outage persists beyond two hours and a payment or chaser is time-sensitive, carry out that step manually and contact FullSpec support at support@gofullspec.com to confirm the automation state.
04Who to contact and when
Fill in the rows below once your team is confirmed. Keep this table updated whenever a role changes so that exception alerts reach the right person without delay.
Role
Name
How to reach them
Finance Lead (process owner)
[Your name]
[Your email / phone]
Bookkeeper (human checkpoint)
[Your name]
[Your email / phone]
Account Manager
[Your name]
[Your email / phone]
FullSpec Builder
FullSpec Team
support@gofullspec.com
FullSpec Support
FullSpec Support
support@gofullspec.com
Contact FullSpec support at support@gofullspec.com for any of the following: an agent stops running without explanation, a Xero reconciliation writes incorrectly, a chaser email fires outside the approved schedule, or you need to update the matching rules or chaser templates in the automation. Do not attempt to edit the automation platform configuration directly.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations
05Ongoing maintenance
Whenever deposit terms change
Notify FullSpec so the matching logic in the Deposit Monitor Agent is updated to reflect new amounts, due date offsets, or invoice reference formats. Do not change Xero invoice templates without flagging this first, as the trigger depends on consistent field values.
Finance Lead + FullSpec
Whenever chaser wording or timing needs updating
Send the updated template copy and the new send schedule to FullSpec support. The Client Communication Agent uses fixed templates stored in the automation configuration, not in Gmail drafts, so the update must be applied by FullSpec.
Finance Lead + FullSpec
Monthly spot-check (first week of each month)
Open the Google Sheets payment tracker and review the previous month's rows. Confirm that all invoices are marked with a final status (Settled, On Hold, or Escalation Required). Flag any rows that appear stuck or incorrectly reconciled to FullSpec support.
Bookkeeper
Weekly error-log review (every Monday)
Check the 'Failed' and 'Needs Review' rows in Google Sheets. Resolve any open unmatched payment flags from the previous week. If the same error pattern appears more than twice in a week, contact FullSpec to investigate the root cause.
Bookkeeper
Whenever a team member joins, leaves, or changes role
Update the contact table in this runbook. Notify FullSpec if the Slack channel for internal notifications changes, or if the HubSpot user who receives activity log alerts needs to be updated. API credentials tied to a departing team member's account must be rotated before their access is removed.
Finance Lead + FullSpec
Quarterly volume review (every three months)
Check whether invoice volume has grown significantly beyond 60 invoices/month. If volume has increased by more than 30%, contact FullSpec to review rate limits across Stripe and HubSpot and confirm the automation is scaling correctly without dropped events.
Finance Lead + FullSpec
The most common maintenance issue for this process is a mismatch between the client name in Xero and the contact name in HubSpot. When these differ by even a small variation (a trading name versus a legal name, or a shortened first name), the activity log fails silently and the account manager loses their follow-up history. Run a name-alignment check across both tools whenever a new client is added, and contact FullSpec support if you notice HubSpot activity logs falling behind.
Process Runbook / SOPPage 4 of 4