Back to Fulfilment Performance 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

Fulfilment Performance Reporting

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

This runbook is your operating guide for the automated Fulfilment Performance Reporting process. It tells you exactly what the system does on its own, where your team steps in, how to handle anything that goes wrong, and who to call when you need help. FullSpec builds and maintains the automation end to end. Your team owns the five-minute commentary review each cycle and keeps the contact list and KPI targets up to date.

01Process overview

Every reporting period, the automation fires on schedule and pulls order, shipment, and returns data directly from Shopify, ShipStation, and Xero without anyone logging in or downloading a file. It writes that data into a structured Google Sheet, calculates all fulfilment KPIs, and drafts a plain-English commentary calling out any metric outside its agreed target. One person on your team reads that commentary, makes any edits needed, and approves it. The system then posts the KPI summary to Slack and emails the full report to the configured recipient list, logging the completed run to the historical record automatically.

Process name
Fulfilment Performance Reporting
Trigger
Scheduled trigger fires on the configured schedule, typically every Monday at 7 a.m., marking the start of the reporting run for the closed period.
Final output
A formatted fulfilment KPI report delivered to Slack and via Gmail, with the completed run logged to the historical performance record in Google Sheets.
Agents running
Data Collection Agent, KPI and Commentary Agent, Report Distribution Agent
Tools involved
Shopify, ShipStation, Xero, Google Sheets, Slack, Gmail
Weekly volume
Approximately 4 reports per month covering 200 to 800 orders per cycle
Human checkpoint
Ops Manager reviews and approves the AI-drafted variance commentary before distribution (approximately 5 minutes)
Process owner
Ops Manager

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

What you actually need to do: There is exactly one step in this process that requires a human. After the KPI and Commentary Agent drafts the variance commentary, the Ops Manager receives a notification, opens the draft in Google Sheets, reads the commentary, makes any edits, and confirms approval. This takes around five minutes. Every other step runs automatically without anyone touching a keyboard.
Step
What happens
Who acts
Type
1
The scheduled trigger fires at the configured time (Monday 7 a.m. by default), signalling the start of the reporting run for the closed period.
Automation platform
Automated
2
The Data Collection Agent calls the Shopify Orders API and retrieves all order records for the closed reporting period, including order status, fulfilment timestamps, and SKU-level detail.
Data Collection Agent
Automated
3
The Data Collection Agent calls the ShipStation API and pulls shipment records for the same date window, covering carrier, dispatch date, and delivery confirmation status.
Data Collection Agent
Automated
4
The Data Collection Agent calls the Xero API and fetches credit notes and return transactions for the period so that returns volume and value can be included in the KPI calculations.
Data Collection Agent
Automated
5
All retrieved data is written into the structured Google Sheet template. The KPI and Commentary Agent runs the calculation logic to produce on-time dispatch rate, fill rate, average dispatch lead time, and returns rate for the period.
KPI and Commentary Agent
Automated
6
The KPI and Commentary Agent compares each calculated metric against its configured target threshold and drafts a short plain-English variance commentary, flagging any metric that is outside target and noting the largest movements.
KPI and Commentary Agent
Automated
7
The Ops Manager is notified that the draft commentary is ready. They open the draft in Google Sheets, read the AI-written commentary, make any corrections or additions, and confirm their approval to release the report.
Ops Manager
Human
8
The Report Distribution Agent posts a formatted KPI summary, including the approved commentary, to the designated operations Slack channel so the team can see results immediately.
Report Distribution Agent
Automated
9
The Report Distribution Agent emails the full Google Sheets report link and a PDF export to the configured recipient list via Gmail, completing distribution for the reporting cycle.
Report Distribution Agent
Automated
10
The Report Distribution Agent adds a new row to the historical performance log in Google Sheets, recording the period, key KPI values, and the timestamp of distribution. No manual filing is needed.
Report Distribution Agent
Automated
Process Runbook / SOPPage 1 of 3
FS-DOC-03Operations

03Handling exceptions

Situation
What the system does
What you do
One or more data sources returns incomplete or missing data (e.g. Shopify returns zero orders for the period)
The Data Collection Agent logs the incomplete fetch and sends an alert to the Ops Manager via email and Slack. The run pauses and does not write partial data to the Google Sheet.
Check whether the reporting period date range is correctly configured. Verify the API credentials are still active. If the source system had an outage, manually confirm data is available and contact FullSpec at support@gofullspec.com if the agent does not recover on retry.
Duplicate order or shipment records detected in the fetched data
The Data Collection Agent applies deduplication logic based on order ID and shipment reference before writing to the sheet. Duplicates are flagged in a separate log tab and excluded from KPI calculations.
Review the duplicates log tab in the Google Sheet after each run if you suspect a volume discrepancy. If duplicates appear consistently from the same source, notify FullSpec so the deduplication rule can be adjusted.
A SKU, warehouse, or channel referenced in the data is not found in the KPI configuration
The KPI and Commentary Agent flags the unrecognised item in the sheet and excludes it from metric totals. A note is appended to the commentary draft indicating that one or more items were excluded and why.
If a new warehouse, channel, or SKU category has been added to your operations, notify FullSpec so it can be added to the configuration. Unrecognised items will not cause the report to fail but they will undercount until resolved.
The Ops Manager does not review or approve the commentary within the expected window (e.g. no action after 4 hours)
The system sends a follow-up reminder notification via Slack and email. If no action is taken within a second defined window (default 24 hours), the run is marked as pending and no report is distributed.
Check your Slack and email notifications. If you are unavailable, delegate approval authority to another team member and inform FullSpec to add them as a backup approver. Reports will not go out without explicit approval while the review gate is active.
Gmail or Slack is unavailable at the time of distribution (tool outage or authentication error)
The Report Distribution Agent retries delivery up to three times at five-minute intervals. If all retries fail, the agent logs the failure and sends an alert to the Ops Manager. The report data is preserved in Google Sheets and the run is marked failed.
Check the Slack and Gmail service status pages. Once the platform recovers, contact FullSpec to trigger a manual re-run of the distribution step, or share the Google Sheets link directly with recipients in the interim.
A source API (Shopify, ShipStation, or Xero) is unavailable due to planned maintenance or an unexpected outage
The Data Collection Agent detects the failed API call, waits, and retries twice more with a delay between attempts. If all retries fail, the run is halted, a failure alert is sent to the Ops Manager, and the incomplete run is logged. No partial report is distributed.
Check the relevant platform's status page. If the outage is confirmed, note the expected recovery time and contact FullSpec at support@gofullspec.com. Once the platform is back, FullSpec can initiate a manual re-trigger of the full run for the affected period. If the outage spans the entire reporting window, a manual data export may be needed as a one-off fallback.

04Who to contact and when

Fill in the rows marked with placeholders once your team is confirmed. Keep this table updated whenever roles change, especially the backup approver for the commentary review step, since reports will not distribute if there is no one available to approve.

Role
Name
How to reach them
Process owner (Ops Manager)
[Your name]
[Your email and Slack handle]
Backup commentary approver
[Your name]
[Backup email and Slack handle]
Head of Fulfilment (escalation)
[Your name]
[Rep email]
Report recipients list owner
[Your name]
[Your email]
FullSpec builder
FullSpec team
support@gofullspec.com
FullSpec support
FullSpec support
support@gofullspec.com
If an agent fails and the run halts, always contact FullSpec before attempting to manually restart or reconfigure anything. Triggering a second run while a failed run is still in a partial state can cause duplicate records in the historical log.
Process Runbook / SOPPage 2 of 3
FS-DOC-03Operations

05Ongoing maintenance

When
What to do
Who
Whenever a data source changes (Shopify, ShipStation, or Xero API update or field rename)
Notify FullSpec immediately so the Data Collection Agent field mappings can be updated before the next run. Do not wait for the run to fail first. API updates from these platforms can silently change field names or response structures.
Ops Manager notifies FullSpec
Whenever KPI targets or variance thresholds change
Send the updated target values to FullSpec via support@gofullspec.com. The KPI and Commentary Agent reads thresholds from its configuration, not from the sheet, so targets updated only in the spreadsheet will not affect the commentary flags.
Ops Manager updates targets, FullSpec applies configuration change
Monthly spot-check (first run of each month)
Open the Google Sheet for the most recent run and confirm that row counts for orders, shipments, and returns look reasonable for the period. Check that the historical log row was written correctly. Flag anything unexpected to FullSpec.
Ops Manager
Monthly error-log review
Review the duplicates and exclusions log tab in the Google Sheet. If excluded or deduplicated items are growing in volume, this may indicate a change in how a source platform is exporting records. Share findings with FullSpec for investigation.
Ops Manager, with FullSpec if volume is increasing
Whenever a team member joins, leaves, or changes role
Update the report recipient list held in the Report Distribution Agent configuration by contacting FullSpec. Also update the backup approver row in the contact table above. Distribution lists are not self-managed through the sheet.
Ops Manager notifies FullSpec
Quarterly volume review
Every quarter, check whether the order volume processed by the automation has grown significantly beyond the 200 to 800 orders per cycle range. If volume is consistently above the upper end, contact FullSpec to review API rate limit headroom and Google Sheets row capacity.
Ops Manager initiates, FullSpec reviews configuration
The most common maintenance issue for this process is KPI targets being updated in the Google Sheet itself rather than in the agent configuration. When this happens, the commentary continues flagging against the old targets, and the variance notes in each report become misleading. Always send target changes to FullSpec at support@gofullspec.com so the configuration is updated correctly.
Process Runbook / SOPPage 3 of 3

More documents for this process

Every document generated for Fulfilment Performance 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