FS-DOC-03Operations
Process Runbook / SOP
Purchase Order Management
[YourCompany.com] · Operations Department · Prepared by FullSpec · [Today's Date]
This runbook is your day-to-day operating guide for the automated Purchase Order Management process. It tells you exactly what the automation handles on its own, where your team steps in, how to deal with exceptions, and who to call when something needs attention. FullSpec builds, monitors, and maintains the automation end to end. Your team's role is to submit requests correctly, action any Slack approvals promptly, and manage the small number of rejected or escalated orders that require human judgment.
01Process overview
Purchase Order Management covers the full cycle from a staff member submitting a purchase request through to a matched, approved order sitting in Xero and confirmed with the supplier. Previously, the Operations Manager handled every step manually across email, Slack, Xero, and spreadsheets, spending around 7 hours per week on admin that regularly stalled at the approval and supplier-confirmation stages. The automated flow replaces all of that routine work: a structured Google Form captures the request, the Intake and Validation Agent checks it for completeness, the Approval Routing Agent sends a one-click Slack approval to the correct approver, and the PO Creation and Notification Agent creates the PO in Xero, emails the supplier, updates the procurement register, and notifies the requester. The only step that stays with a person is reviewing a request that has been rejected or escalated.
Process name
Purchase Order Management
Trigger
A staff member submits a purchase request via the Google Form
Final output
A finalised PO in Xero, a sent supplier email, an updated procurement register row, and a requester notification in Slack
Agents running
Intake and Validation Agent, Approval Routing Agent, PO Creation and Notification Agent
Tools involved
Google Forms, Slack, Xero, Gmail, Google Sheets
Weekly volume
Approximately 15 purchase orders per week (~60 per month)
Human checkpoint
Operations Manager reviews any rejected or escalated purchase request and decides whether to modify, escalate, or cancel
Process owner
[Your name] — Operations Manager
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. If a purchase request is rejected by an approver, the Operations Manager receives a Slack notification and must review the rejection reason, then decide whether to modify the request and resubmit, escalate to a senior approver, or cancel the order entirely. Every other step below runs automatically without anyone touching a keyboard.
Step
What happens
Who acts
Type
1
A staff member completes the structured Google Form with the supplier name, item description, quantity, estimated cost, and budget code. Submitting the form fires the workflow automatically.
Staff member (requester)
Human
2
The Intake and Validation Agent receives the form submission and checks that all required fields are present and internally consistent. If every field is complete, the request moves forward immediately.
Intake and Validation Agent
Automated
3
If any required fields are missing or inconsistent, the Intake and Validation Agent sends the requester a direct Slack message listing exactly which fields need to be corrected. The workflow pauses until the form is resubmitted correctly.
Intake and Validation Agent
Automated
4
The Approval Routing Agent checks the spend amount and department code against the configured approval thresholds and identifies the correct approver. It posts a structured Slack message to that approver containing a spend summary, the supplier and item details, and one-click Approve and Reject buttons.
Approval Routing Agent
Automated
5
If the approver has not responded within 24 hours, the Approval Routing Agent sends a single automated reminder Slack message to the same approver. No manual chasing is required.
Approval Routing Agent
Automated
6
The approver clicks Approve or Reject directly in the Slack message. Their decision, name, and timestamp are logged automatically against the request record.
Approver (manager)
Human
7
If the request is rejected, the Operations Manager receives a Slack notification with the rejection reason. The Operations Manager reviews the situation and decides whether to modify the request and resubmit it, escalate to a senior approver, or cancel the order. This is the single human judgment step in the process.
Operations Manager
Human
8
On a confirmed approval, the PO Creation and Notification Agent creates a purchase order in Xero using the validated request data, assigns the next sequential PO number, and attaches the correct budget code to the line item.
PO Creation and Notification Agent
Automated
9
The agent emails the PDF purchase order to the supplier contact provided in the request, requesting written confirmation of receipt and the expected delivery date. If no reply arrives within 48 hours, a single follow-up email is sent automatically.
PO Creation and Notification Agent
Automated
10
The agent writes a new row to the central procurement register in Google Sheets, recording the PO number, supplier, value, approval timestamp, and expected delivery date so finance and ops have a live view.
PO Creation and Notification Agent
Automated
11
The agent posts a Slack message to the original requester confirming the PO number, supplier name, and expected delivery date. The process is complete. No further manual follow-up is needed.
PO Creation and Notification Agent
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations
03Handling exceptions
Situation
What the system does
What you do
A form submission arrives with missing or inconsistent fields (for example, no budget code or a cost field left blank)
The Intake and Validation Agent sends the requester a Slack message listing every missing or incorrect field. The workflow pauses and does not advance until a corrected form submission is received.
Nothing, unless the requester asks for help. If a requester cannot find the right budget code, direct them to the approved budget code reference sheet and ask them to resubmit the form.
A duplicate request is submitted (same supplier, same item, same approximate value submitted twice within a short window)
The workflow flags the submission as a potential duplicate and holds it without creating a second PO. A Slack alert is sent to the Operations Manager noting the possible duplication and including links to both submissions.
Review the two submissions in Slack. If it is genuinely a duplicate, dismiss the second one using the action button provided. If both are legitimate, release the held request so it progresses normally.
The approver does not respond within 24 hours after the automated reminder
After the reminder is sent, the workflow waits a further 24 hours. If still no response is received, it sends a Slack alert to the Operations Manager flagging that the request is stalled and identifying the approver and the time elapsed.
Contact the approver directly by phone or in person to obtain a decision. Once the approver clicks Approve or Reject in the original Slack message, the workflow continues automatically. If the approver is unavailable, escalate to their nominated deputy using the contact table in Section 04.
The supplier email address provided in the form is invalid or the Gmail send fails
The Gmail send step returns a delivery failure. The workflow logs the error, updates the Google Sheets register with a failed send status, and sends a Slack alert to the Operations Manager with the PO number and the faulty email address.
Locate the correct supplier email address from your supplier contact records. Update the address in the procurement register and forward the PO email to the correct address manually from Gmail. Notify FullSpec at support@gofullspec.com if the same supplier contact fails repeatedly so the reference data can be corrected.
Xero is temporarily unavailable and the PO cannot be created
The workflow detects the failed Xero API call and retries automatically up to three times over a 30-minute window. If all retries fail, it pauses the post-approval steps and sends a Slack alert to the Operations Manager noting the Xero outage and the affected request.
Check the Xero status page to confirm whether there is a known outage. Once Xero is back online, the workflow will retry automatically. If the outage lasts more than two hours and the order is time-sensitive, create the PO in Xero manually and notify FullSpec at support@gofullspec.com so the automation record is reconciled.
The supplier does not confirm the order within 48 hours of receiving the PO email
The PO Creation and Notification Agent sends one automated follow-up email to the supplier after 48 hours with no response. The Google Sheets register row is updated with an unconfirmed status and a follow-up sent timestamp.
If the supplier still does not respond after the follow-up email, contact them directly by phone. Update the confirmation date in the Google Sheets register manually once they confirm verbally or in writing, so the finance team has an accurate record for invoice matching.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations
04Who to contact and when
Fill in the rows marked with placeholders once your team is confirmed. These contacts should be reviewed any time a team member changes role or leaves the business. The FullSpec rows are fixed and do not need to be updated by your team.
Role
Name
How to reach them
Process owner (Operations Manager)
[Your name]
[Your email or Slack handle]
Finance Lead (PO reconciliation queries)
[Finance Lead name]
[Finance Lead email or Slack handle]
Primary approver (spend up to threshold)
[Approver name]
[Approver email or Slack handle]
Deputy approver (when primary is unavailable)
[Deputy approver name]
[Deputy approver email or Slack handle]
Senior approver (escalations above threshold)
[Senior approver name]
[Senior approver email or Slack handle]
FullSpec builder (build changes and technical issues)
FullSpec team
support@gofullspec.com
FullSpec support (errors, outages, urgent failures)
FullSpec support
support@gofullspec.com
If the automation sends an error alert to the Operations Manager and the issue cannot be resolved within 30 minutes using this runbook, contact FullSpec at support@gofullspec.com immediately. Include the PO reference number, the time the alert appeared, and a screenshot of the Slack error message if possible.
05Ongoing maintenance
Whenever a supplier contact changes
Update the supplier email address in the purchase request form reference sheet or the designated supplier contact record. An outdated email will cause the Gmail send step to fail silently or reach the wrong person. Notify FullSpec if a new field needs to be added to the form.
Operations Manager
Whenever approval thresholds or department codes change
Send the updated approval rules to FullSpec at support@gofullspec.com. The Approval Routing Agent's threshold logic is configured inside the automation and cannot be changed by editing a spreadsheet. Changes take effect once FullSpec deploys the updated configuration.
Operations Manager + FullSpec
Whenever the Google Form or email templates need updating
Contact FullSpec with the exact wording changes needed. Do not edit the live Google Form field names or remove fields without checking first, as field name changes break the validation and routing logic downstream.
Operations Manager + FullSpec
Monthly spot-check (first week of each month)
Open the Google Sheets procurement register and confirm that the previous month's PO rows are complete, that no rows show an unconfirmed supplier status older than five business days, and that PO numbers in Xero match the register. Flag any gaps to FullSpec.
Operations Manager
Monthly error-log review
FullSpec monitors the automation error log continuously, but you should also review any error Slack alerts you received during the month and confirm they were resolved. If an error type appears more than twice in a month, raise it with FullSpec so the root cause can be addressed.
Operations Manager + FullSpec
Whenever a team member joins, leaves, or changes role
Update the contact table in Section 04 of this runbook. If an approver changes, notify FullSpec so the routing logic can be updated. Remove departing team members from the Slack workspace and Google Form access as soon as they leave.
Operations Manager
Quarterly volume review
Compare the actual PO volume for the quarter against the expected ~60 per month. If volume is growing significantly, review whether the current Google Sheets register structure and Xero plan tier are still adequate. Share the volume data with FullSpec so the automation capacity can be assessed.
Operations Manager + FullSpec
The single most common maintenance issue for this process is outdated approval threshold rules. When spend limits change, or a new department is added, the routing logic inside the automation must be updated by FullSpec. If this is not done, requests will route to the wrong approver or fail validation entirely. Always notify FullSpec at support@gofullspec.com before any approval rule change takes effect.
Process Runbook / SOPPage 4 of 4