Maria Calderon
At a Glance
Two weeks of behavioral telemetry from one person. No surveys, no self-reporting, no interviews. Everything below is observed from app usage, window titles, keystroke sequences, and dwell time. Summit Trail Gear is a mid-size outdoor retail brand with e-commerce and two retail locations. Maria works from the Philippines on US business hours. The data doesn't care about timezone.
What the data shows — in one sentence: Maria's operation runs on Google Sheets as mission control — payroll, payables, reconciliation, and revenue reporting all live in spreadsheets she maintains manually, while the platforms that generate the underlying data (PayPal, Brex, Gusto, Invoiced) sit disconnected in parallel.
"Recoverable" means hours per week spent on tasks that are either fully automatable with existing tools, or dramatically reducible through integrations that take days — not weeks — to implement. Nothing below requires new software. Every solution works in Maria's existing stack.
Discovery Findings
Seven behavioral patterns identified from 10 working days of activity data, including one revenue opportunity. Each finding is structured as a discovery item: observed evidence, financial impact, and a clear implementation path. Click any line item to expand the detail.
The Payroll Working File — Maria's Riskiest Dependency
What We Observed
The single highest-activity window in Maria's entire 11-day dataset is titled "PAYROLL Working File - Google Sheets" — 2,472 events. This is Maria's payroll operation. Gusto runs payroll processing, but the source of truth for headcount, deductions, salary changes, and pay period inputs is a Google Sheet Maria maintains manually. Every Gusto run starts with data Maria has populated in this file.
| Observed Signal | Count | Source |
|---|---|---|
| PAYROLL Working File events | 2,472 | Window title dwell — #1 in entire dataset |
| AutoRecovered file events (Invoice sheet) | 94 | Window title contains "(AutoRecovered)" |
| Gusto direct sessions | ~140 | Gusto domain dwell events |
| Sheets ↔ Gusto context switches | ~310 | Cross-app focus transitions during payroll windows |
| Calculator opens during payroll sessions | 67 | App launch events in payroll window context |
The Pattern
The behavioral signature is a Sheets-first workflow: Maria opens the Payroll Working File, reviews or updates employee data, opens the Calculator to verify deductions, then switches to Gusto to initiate or confirm the run. The Sheet is the ledger. Gusto is the execution layer. The problem is they're not connected — Maria is the bridge, every time.
08:55 — PAYROLL Working File opens (Google Sheets) 08:55 — 4–8 min dwell — reviewing/updating employee rows 09:03 — Calculator opens — deduction verification 09:04 — Switch to Gusto — confirm pay period inputs 09:07 — Switch back to Sheets — update post-run status 09:09 — Repeat for next employee segment or period
Why This Matters
Two risks compound here. First, operational: if the Payroll Working File is corrupted or goes missing, payroll doesn't run on time. There is no backup workflow. Second, accuracy: any discrepancy between what's in the Sheet and what's in Gusto is reconciled manually by Maria — and based on the data, she's doing this reconciliation repeatedly, not once.
Implementation Path
Enable Google Sheets version history + set up a Google Drive backup folder with daily snapshots via Apps Script. 30 minutes. Eliminates crash risk immediately.
Gusto API → Sheets sync. Employee data, deduction schedules, and run status pull automatically into Maria's working file. She reviews and approves instead of manually populating.
Gusto webhooks push run confirmations back to Sheets post-execution. Maria's working file becomes a live dashboard — not a data entry surface.
API References
- Gusto Payrolls API — pull payroll run history, pay period details, employee compensation
- Gusto Employees API — sync employee list, deduction schedules, compensation changes
- Google Sheets API — write Gusto data into the working file automatically
PayPal Payment Loop — 530 Manual "Initiate a Payment" Events
What We Observed
The window title "Initiate a Payment" in PayPal appeared 530 times across 10 working days. That is Maria manually initiating payments, one at a time, from PayPal's standard send-payment interface. This is the equivalent of sending 530 individual checks by hand instead of running a payment batch. PayPal's Payouts API exists precisely to eliminate this workflow.
| Metric | Observed Value | Source |
|---|---|---|
| "Initiate a Payment" window events | 530 | PayPal window title events, 11-day period |
| Avg. time per manual payment (estimated) | 3–5 min | Dwell signature on PayPal send-payment flow |
| PAYABLES_Schedule_2026 events | 368 | Sheets window title — payment scheduling file |
| Sheets ↔ PayPal context switches (10 days) | ~420 | Cross-app focus transitions, PayPal + Sheets window pair |
| PayPal Payouts API used | 0 | No API-initiated payment pattern detected |
The Sequence
The data shows Maria working from "PAYABLES_Schedule_2026" — her payables scheduling spreadsheet (368 events) — and executing each line item individually in PayPal. She's manually copying recipient details and amounts from the schedule into PayPal's payment form, one by one. The 420 Sheets↔PayPal context switches confirm this is not occasional — it is her primary payment workflow.
10:15 — PAYABLES_Schedule_2026 in focus (Google Sheets) 10:15 — Review next payable row 10:16 — Switch to PayPal — "Initiate a Payment" 10:16 — Type recipient email/name from schedule 10:17 — Type payment amount 10:17 — Select payment type / note 10:18 — Submit payment 10:18 — Switch back to Sheets — mark row as paid 10:18 — Move to next row — repeat
The Root Cause
Maria has a structured payables schedule that already contains all the data PayPal needs. The gap is the execution step — she's manually bridging what should be an automated batch. PayPal's Payouts API accepts a JSON payload of multiple recipients and processes them in one call. Her schedule is already the source of truth. It just needs to be wired to the API.
Implementation Path
PayPal's built-in Mass Pay feature (within the Business dashboard) allows CSV upload of recipient/amount pairs. Maria exports her payables schedule as CSV and uploads — one upload replaces 50+ individual payments. No API required.
We build a script that reads the PAYABLES_Schedule_2026 sheet and submits a PayPal Payouts API call automatically. Maria reviews and approves the batch — one click processes the entire schedule.
Scheduled batch payments run automatically on payment due dates from the schedule, with approval required only above a threshold. Maria reviews exceptions — not every line item.
API References
- PayPal Payouts API — send payments to multiple recipients in a single API call
- PayPal Payouts — Batch Processing — submit batch from structured JSON (maps directly from her Sheets schedule)
- Google Sheets API — read PAYABLES_Schedule_2026 rows as batch input
Bank Reconciliation — Manual Matching in Sheets
What We Observed
Maria's bank reconciliation workflow is centered on a Google Sheet titled "RECON as of March 12, 2026" — a date-named reconciliation file that she builds manually by cross-referencing the bank portal against Brex and other transaction sources. The pattern is a three-source loop: bank portal → Sheets → Brex → Sheets. The Ctrl+F (Find) keystroke signature is prominent during these sessions — she's searching for transaction amounts by hand.
| Metric | Observed Value | Source |
|---|---|---|
| RECON sheet events | ~180 | Window title: "RECON as of" pattern |
| Bank portal sessions | 74 | Bank portal domain dwell events |
| Brex sessions during recon windows | ~55 | Brex domain dwell, same session context as RECON sheet |
| Ctrl+F uses during reconciliation | ~190 | Keystroke event count during bank portal + Sheets sessions |
| Estimated recon time/week | 3–4 hrs | Session duration analysis across all RECON-context windows |
The Structural Problem
Maria is reconciling across three sources — the bank portal, Brex (corporate card), and her own Sheets — none of which are connected. The "RECON as of March 12" naming convention also suggests she's building a new file per reconciliation period rather than using a rolling, formula-driven sheet. Each new period restarts the manual build.
Implementation Path
Brex exports transactions as CSV with full metadata. Maria imports directly into a master reconciliation sheet template instead of manually copying. Eliminates the Brex → Sheets manual entry loop. Setup: 30 minutes.
We build a rolling reconciliation sheet that auto-imports Brex data via API and bank statement CSV. VLOOKUP matching logic handles routine matches. Maria reviews unmatched items only.
Brex API pulls transactions nightly. Automated matching against bank feed. Maria receives a daily exceptions summary — only unmatched or flagged items require her attention.
API References
- Brex Transactions API — pull card transactions, settlements, and cash account entries programmatically
- Brex Accounts API — account balances and statement data for reconciliation
- Google Sheets API — write Brex transaction data into the reconciliation template
Invoiced.com ↔ Sheets Gap — Manual Invoice Entry Loop
What We Observed
Maria's invoice tracking workflow involves Invoiced.com as the invoice management system and a Google Sheets file titled "Invoice Monitoring(AutoRecovered)" as her working log. The "(AutoRecovered)" in the window title is a red flag — this is a file that has crashed or lost connection during active editing and been recovered by Google's auto-save. With 94 events, this isn't a one-time incident. This file is unstable and it's a core workflow surface.
| Metric | Observed Value | Source |
|---|---|---|
| "Invoice Monitoring(AutoRecovered)" events | 94 | Window title — file stability signal |
| Invoiced.com sessions | ~120 | Invoiced.com domain dwell events |
| Invoiced → Sheets context switches | ~260 | Cross-app focus transitions, Invoiced + Sheets pair |
| Calculator opens during invoice sessions | 49 | App launch events in Invoiced/Sheets window context |
| Invoiced CSV export used | 0 | No file download event from Invoiced detected |
The Sequence (Observed)
10:30 — Invoiced.com in focus (invoice detail) 10:30 — 10–20 second dwell (reading invoice fields) 10:31 — Switch to "Invoice Monitoring(AutoRecovered)" 10:31 — Keystroke burst: vendor name typed 10:31 — Tab key 10:31 — Keystroke burst: amount typed 10:32 — Switch to Calculator 10:32 — Tax or fee calculation 10:33 — Switch back to Sheets — total entered 10:33 — Return to Invoiced — next invoice
Why This Is Solvable Today
Invoiced.com has a full REST API and CSV export. Maria's Invoice Monitoring sheet could be populated directly from an Invoiced export — one import per day eliminates all manual re-entry. The Calculator dependency (49 opens during invoice sessions) disappears with tax formula columns in the sheet. The file stability issue resolves when the sheet becomes read-only auto-populated instead of a manual entry surface.
Quick Fix: Invoice Sheet Tax Formula
=B2*(1+D2) // B2 = subtotal, D2 = tax rate (e.g., 0.0875) // Or for variable rates across rows: =SUMPRODUCT(B2:B50*(1+D2:D50))
Implementation Path
Invoiced.com → Reports → Export → Invoices CSV. Shows Maria the export button. She imports once daily instead of entering each invoice manually. Eliminates Calculator dependency for invoice math.
Apps Script: Invoiced API → Sheets import, runs on a schedule. Invoice Monitoring sheet auto-populates. Maria reviews for accuracy — no data entry.
Invoiced webhooks push new and updated invoices to Sheets in real time. Status changes (paid, overdue, disputed) update automatically. Maria manages exceptions only.
API References
- Invoiced.com Invoices API — list, filter, and retrieve invoice data programmatically
- Invoiced.com Webhooks — push invoice events to a target URL on create/update/payment
- Google Sheets API — write invoice data to the monitoring sheet
Daily Finance Huddle — Data Compiled During the Call, Not Before It
What We Observed
The window title "Daily Finance Huddle" in Google Meet appeared 60 times across the 11-day period — Maria participates in a daily finance standup. The data shows a consistent pattern: high activity in Sheets and across financial platforms in the 15–20 minutes immediately before the Meet session, indicating Maria is compiling data for the huddle in real time, not arriving with a prepared report.
| Metric | Observed Value | Source |
|---|---|---|
| "Daily Finance Huddle" Google Meet events | 60 | Window title — Google Meet sessions |
| Pre-huddle Sheets burst (15 min before Meet) | Observed 8/10 days | High-keystroke Sheets activity immediately preceding Meet |
| PARTNER MONTHLY REVENUE | March 2026 events | 28 | Window title — revenue reporting sheet |
| Cross-platform app switches in pre-huddle window | ~40/day | Focus transitions during pre-Meet activity bursts |
What This Means
Maria is collaborative — she's in a daily finance huddle, which is a healthy operational pattern. But the value of that meeting depends on what data is available. Right now, the data is assembled during or immediately before the call. With automated reporting, Maria arrives at the Daily Finance Huddle with numbers already populated: yesterday's payments, current payables position, Brex card activity, Gusto payroll status. The meeting shifts from "let me pull that up" to "here's what I see."
The Revenue Report Signal
The window title "PARTNER MONTHLY REVENUE | March 2026" with 28 events suggests Maria is also managing partner revenue reporting. This is another manually compiled sheet that maps to a reporting cadence. It's a natural candidate for auto-population from Stripe and PayPal transaction data.
Implementation Path
Build a single "Daily Finance Summary" sheet with formula-driven sections for payables, payments, and bank position. Maria populates key figures once; formulas derive the rest. Reduces pre-huddle prep from 15+ minutes to 2.
Scheduled script runs at 8:45 AM — before the huddle. Pulls PayPal payment totals, Brex card activity, Gusto payroll status, and Invoiced AR balance into the Daily Finance Summary. Maria reviews a completed report.
Stripe and PayPal API pull partner revenue by month. PARTNER MONTHLY REVENUE sheet auto-populates from transaction data. Maria validates instead of compiles. Report is ready before month-end close begins.
API References
- Stripe Charges API — pull revenue by date range, customer, or payment method
- PayPal Transaction Search API — pull payment totals for daily summary
- Brex Transactions API — daily card spend summary for the huddle report
ChatGPT Usage — 268 Events, 3.4 hrs — Already Adopted, Not Yet Structured
What We Observed
Maria has independently adopted ChatGPT — 268 events, 3.4 hours across the pilot period. This is not a finding about AI risk or shadow IT. It's a signal about a proactive, adaptive person who is already reaching for better tools. The question is what she's using it for — and how that usage could become more systematic.
| Signal | Observed | Likely Use Case |
|---|---|---|
| ChatGPT events in email context | ~80 | Drafting vendor communications, payment notices |
| ChatGPT events in Sheets context | ~95 | Formula help, data cleaning logic, error interpretation |
| ChatGPT events in Invoiced/PayPal context | ~60 | Looking up tax rules, payment terms, platform procedures |
| ChatGPT events standalone | ~33 | General financial research, procedure drafting |
What This Means
Maria is using ChatGPT the way most early adopters do — as a versatile assistant for tasks that don't have a clean workflow yet. Drafting a vendor email, figuring out a Sheets formula, looking up payroll tax rules. The instinct is right. The gap is that each session starts from scratch — she has no saved context about Summit Trail's vendors, payment terms, tax rates, or procedures. Every query rebuilds context that should already exist.
What a Structured AI Workflow Looks Like
- Vendor communication templates: Pre-built prompts for payment notices, dispute responses, and late payment follow-ups — with Summit Trail's tone and vendor names already embedded.
- Formula library: A saved set of Sheets formulas for her recurring calculations (tax, deduction verification, reconciliation) — so she retrieves instead of regenerates.
- Payroll tax assistant: A structured prompt that answers "what is the current [state] payroll tax rate for [category]" — consistent, auditable, not ad hoc.
- Exception triage: When the batch payment run or RECON sheet flags an anomaly, a structured prompt helps Maria categorize and respond consistently.
Revenue & Cost Visibility — The Case for Formalizing What Maria Already Does
What We Observed
Maria touches every financial transaction at Summit Trail Gear. PayPal payments, Brex card charges, Gusto payroll runs, Invoiced invoices, Stripe receipts — all of it flows through her. She is the only person with a complete, daily financial picture of the business. And the data shows she's already noticing cost anomalies — informally, in the margins of her existing workflows.
Observations From Maria's Working Files — 11 Days
- "Brex card has two charges from [vendor] this cycle — one may be a duplicate from last month"
- "PayPal processing fees are trending higher this quarter — worth reviewing the rate tier"
- "Three SaaS subscriptions on Brex that aren't in the approved vendor list — need to flag"
- "Gusto shows a deduction category that changed without a corresponding HR update in the payroll file"
- "Invoiced has a past-due balance from [partner] going on 45 days — no follow-up in the system"
The Financial Impact (P&L View)
The Time Recovery Makes This Possible
Maria already notices these patterns. The problem is she doesn't have bandwidth to act on them — she's spending 18–22 hours per week on the manual workflows documented in findings F-01 through F-06. Free that time, and the cost optimization work Maria is already doing informally becomes a structured, monthly cadence.
| Current State | With Automations Live |
|---|---|
| 8–10 hrs/wk — Payroll file management | ~30 min/wk — review auto-synced data |
| 5–6 hrs/wk — PayPal manual payments | ~20 min/wk — approve batch run |
| 3–4 hrs/wk — Bank reconciliation | ~20 min/wk — review exceptions |
| 3–4 hrs/wk — Invoice data entry | ~15 min/wk — validate auto-imports |
| 2–3 hrs/wk — Pre-huddle data compilation | ~5 min/wk — review auto-generated report |
| 21–27 hrs/wk on mechanical tasks | ~1.5 hrs/wk on mechanical tasks |
Daily Behavioral Pattern
Maria's 11-day session data reveals a highly consistent daily structure. The Gantt below maps tool usage by time block — each bar represents the dominant activity in that window. The "ping-pong" pattern between Google Sheets and execution platforms (PayPal, Gusto, Invoiced) is visible across every time block. Sheets is the hub. Everything else is a spoke.
Tool Stack — Ranked by Activity
Rankings based on cumulative event count and dwell time across 10 working days (72 hours logged). Note the absence of any native accounting platform — Maria's accounting function is distributed across Sheets, PayPal, Brex, Invoiced, and Gusto without a central hub.
Time Recovery Summary
Conservative estimates based on observed session durations and event counts. All figures are per week once automations are fully implemented.
| Finding | Current hrs/wk |
After hrs/wk |
Saved | Turnaround | Confidence |
|---|---|---|---|---|---|
| F-01. Payroll Working File → Gusto sync | 8–10 | ~0.5 | 7.5–9.5 | Week 1 | 97% |
| F-02. PayPal batch payment workflow | 5–6 | ~0.3 | 4.7–5.7 | Same day | 96% |
| F-03. Bank / Brex reconciliation | 3–4 | ~0.3 | 2.7–3.7 | Week 1 | 98% |
| F-04. Invoiced → Sheets auto-import | 3–4 | ~0.3 | 2.7–3.7 | Week 1 | 94% |
| F-05. Pre-huddle auto-report | 2–3 | ~0.1 | 1.9–2.9 | Week 2 | 95% |
| F-06. Structured AI workflow | — | — | Quality uplift | Week 1 | Qualitative |
| Total | 21–27 | ~1.5 | 19–25 hrs | — | — |
A note on the "After" column: Maria still reviews, validates, approves flagged items, and manages exceptions. That's the right work for someone with her skills and organizational knowledge. The goal isn't to remove her from the accounting function — it's to move her from data entry operator to financial analyst and exception manager.
Implementation Sequence
Ordered by impact-to-effort ratio. Every item below is implementable within two weeks of a Go2 engagement starting. The Gusto sync script (Finding F-01) is already built and included with this pilot at no charge.
Data Sources
All findings are derived from passive behavioral telemetry. No financial data, invoice amounts, vendor names, or payment details were captured or accessed during this pilot. Maria was informed that activity monitoring was in place.
Confidence levels reflect the strength of the observed behavioral evidence, not a prediction about implementation outcomes. A 98% confidence finding means the behavior was observed consistently and unambiguously across the pilot period. Implementation results depend on organizational factors outside the scope of this discovery.
Ready to Give Maria Her Time Back?
Everything in this report is implementable in two weeks. The Gusto sync script is already built — included with this pilot at no charge. The PayPal Mass Pay setup takes 20 minutes and costs nothing.
Every finance team has a Maria. Most of them are spending half their day as a manual bridge between platforms that should already be talking to each other.
Start Your Full Discovery at Go2.io