Finance Operations & Transformation

I help finance organizations work smarter by combining deep operational expertise with a practical understanding of what AI can actually do today.

12+ years at Okta, Shopify, Deliverr, Uber, Twitter, and PARC. Currently between roles — and building.

View résumé (PDF) →·See JobHunter — built while job hunting →

About

Two tracks of Finance transformation, now converging.

Chris Humphreys

Over twelve years at Okta, Shopify (via Deliverr), Uber, Twitter, and PARC, I've built a career across two tracks of Finance transformation — organizational design and process automation — and I'm now focused on where those tracks converge. On the operational side, my work is rooted in Procure-to-Pay, cost classification, and vendor cost verification: at Uber, a foundational member of the Global Process Owner team running AWS hyperscaler billing and multi-dimensional AP allocations; at Deliverr, inheriting an early-stage FinOps function and maturing it end-to-end. On the automation side, I've moved past theory. I led AI activation workshops at Okta driving Gemini and NotebookLM adoption across global Finance. I launched Kofax OCR at Uber with human-in-the-loop review patterns that modern agentic workflows now build on. I redesigned Garnishment & Tax Levy upstream so UIPath RPA could actually work — and learned firsthand that reliable automation depends on upstream data hygiene. That's the work I'm doing next: building the financial data hygiene, structured datasets, and domain-informed controls that make agentic finance automation trustworthy and scalable.

San Francisco·Open to Bay Area hybrid, remote, and select relocations·Manager through Director level

POV

Most finance teams don't have an AI problem. They have a data hygiene problem.

01

Automation fails upstream.

Every RPA project I've shipped started by cleaning the data pipeline feeding it. Kofax, UIPath, Gemini — the tool doesn't matter if the invoice memo format is inconsistent or the vendor master has duplicates. I do the unglamorous work first.

02

Human-in-the-loop isn't a compromise.

At Uber, I designed exception resolution and QC workflows around Kofax OCR that looked a lot like what modern agentic systems need today. The pattern is the same: let the model do 80%, build controlled review for the 20% that matters. That discipline ports directly to LLMs.

03

Domain context beats model size.

A generic model can't tell whether an AWS invoice line item belongs to Tech Ops or to a specific product workload. The controls, allocations, and reclass logic that make that call are what I build. AI gets good when it sits on top of that infrastructure — not when it replaces it.

Track record

Twelve years, five companies, two tracks.

PARC

Accounts Payable & Payroll Accountant

2014–2015

  • Full-cycle AP, Payroll, and T&E for Xerox's research lab
  • Labor distribution reconciliation for government-contract project accounting
  • CFO ad-hoc: labor/capital depreciation analysis, load factor calculations

Twitter

Financial Operations Specialist

2015–2016

  • Launched MoPub's integrated payment platform post-acquisition
  • Built FAS 5 reserve model for pre-acquisition foreign vendor withholding liabilities
  • Coordinated 1042-S filing with the IRS

Uber

Financial Operations Specialist II

2016–2021

  • Foundational Global Process Owner team member; pre-IPO SOX contributor
  • Redesigned Garnishment & Tax Levy upstream — enabled full UIPath RPA automation of Uber's largest AP transaction volume source
  • Launched Kofax OCR invoice ingestion globally; designed routing, QC, and human-in-the-loop exception workflows
  • Trained foundational offshore shared services team in Hyderabad; AP SME for Accenture transition

Deliverr → Shopify

Financial Operations Manager

2021–2023

  • Inherited an early-stage FinOps function; scaled team 2 → 7 across AP, AR, and offshore data entry
  • Stood up Tipalti in-house with three-way match and credit memo reconciliation from day one
  • Built unit cost dashboards in Metabase/Snowflake disaggregating vendor costs to workload level across warehouses, sortation centers, cross docks, and freight
  • Scoped NetSuite ERP migration (tabled at Shopify acquisition)

Okta

Manager, FGCC Corporate Strategy

2024–2026

  • Corporate strategy owner for Okta's Finance GCC across Bangalore and Manila
  • Scaled GCC from 87 to 182 employees (+109%) across nine Finance functions
  • Led AI activation workshops driving Gemini and NotebookLM adoption across global Finance
  • Authored the Finance Hiring Playbook; owned all QBR and CFO-direct communications

Selected work

Three that explain how I think.

CASE 01

Uber

GPO team

2018–2020

Automating Uber's largest AP volume source without breaking it

Garnishment & Tax Levy invoicing was the single largest transaction volume source on Uber's AP ledger — high-risk, high-volume, fully manual, and sitting directly on the critical path for AP cycle time and late-payment KPIs. Before any automation could ship, the upstream data had to be fixed: inconsistent memo formatting meant state agencies couldn't apply payments correctly, and sensitive PII required controlled handling. I led the cross-functional redesign — cleaning the data pipeline with the operations team, establishing structured memo formats, and building the PII controls that made the process automatable in the first place. UIPath RPA then handled the volume.

  • Full RPA automation of a previously manual, high-risk process
  • PII controls designed into the automation, not bolted on after
  • Proof of principle: reliable automation requires upstream data hygiene

CASE 02

Deliverr

Financial Operations Manager

2021–2022

Building Finance Operations from scratch at a scaling logistics startup

Inherited an early-stage FinOps function at a rapidly scaling supply chain business spanning warehouses, sortation centers, cross docks, and freight — AP was outsourced, there was no procurement function, and Brex and Ramp both had instances with no consistent controls. I scaled the team from 2 to 7, built procurement from scratch on an Asana-based PR/PO workflow, and brought AP in-house on Tipalti with three-way match and credit memo reconciliation from day one. Unit cost dashboards in Metabase/Snowflake disaggregated vendor spend to the workload level, giving Finance leadership visibility into physical-ops cost performance that didn't previously exist.

  • Team scaled 2 → 7 across AP, AR, and offshore data entry
  • AP insourced on Tipalti; procurement built on Asana PR/PO workflow
  • NetSuite ERP migration scoped and initiated (tabled at Shopify acquisition)

CASE 03

Okta

Manager, FGCC Corporate Strategy

2024–2026

Scaling Okta's Finance GCC from Shared Services to strategic operating unit

Okta's Finance Global Capability Center across Bangalore and Manila needed to evolve from a Shared Services cost center into a strategic operating unit. I served as corporate lead and primary liaison between GCC teams and Finance leadership — running roadshows to secure buy-in multiple tiers below the CFO mandate, authoring the Finance Hiring Playbook, establishing governance frameworks and SLA/OKR dashboards, and leading change management across nine Finance functions. Embedded within that work: AI activation workshops driving Gemini and NotebookLM adoption across global Finance, shifting day-to-day workflows toward LLM-augmented analysis.

  • GCC scaled 87 → 182 employees (+109%) across nine Finance functions
  • Evolved operating model from Shared Services to strategic GCC
  • AI enablement embedded into core P2P, O2C, and reporting workflows

Built while job hunting

JobHunter — a local-first job discovery pipeline I built for my own search.

While on paternity leave after being laid off from Okta, I needed a systematic way to surface Finance Operations and Transformation roles across a fragmented hiring landscape — relevant opportunities spread across 17 ATS platforms, buried in tens of thousands of postings, and inconsistently tagged in ways that defeat keyword search. Job boards surface the same ten companies everyone already knows. JobHunter inverts that: I describe what I'm qualified for, and the system discovers which companies are hiring for that — then keeps finding more. It's the difference between shopping a feed and running a sensor network.

“A 100-rank, 60-fit role is a stretch worth positioning for. A 60-rank, 100-fit role is a perfect match you'd regret taking.”

Most scorers collapse those into one number. JobHunter scores them separately.

ATS platforms aggregated

17

with SERP fallback for Workday, iCIMS, custom careers

discovery strategies

9

growing the config autonomously

dimensions of scoring

2

rank × gap-fit, rather than one “match %”

operating cost

$0

fully local, SQLite + Flask

Multi-source aggregation.

Parallel fetchers across 17 ATS platforms (Greenhouse, Ashby, Lever, SmartRecruiters, Workable, Recruitee, Teamtailor, Rippling, Pinpoint, BreezyHR, JazzHR, Jobvite, iCIMS, plus BuiltIn and TheMuse aggregators) with SerpAPI + site-scoped SerpAPI fallback for Workday, iCIMS, and custom careers sites. Unified budget tracking across providers prevents drift.

greenhouseashbyleversmartrecruitersworkablerecruiteeteamtailorripplingpinpointbreezyhrjazzhrjobviteicimsbuiltinthemuseserpapiserpapi_company

Five-pass scoring with two-dimensional output.

Pass 0 instant reject → Pass 1 title-only domain tier → Pass 1.5 description scan → Pass 2 semantic similarity (MiniLM embeddings) + role fit + salary + deadline + gap-fit → Pass 3 enrichment for scores ≥ 60. Produces Rank (desirability) and Gap-Fit (qualification) as separate dimensions, plus a combined weighted score. Verb-context analysis separates “own the R2R process” from “transform the R2R process” — the difference between doing accounting and changing it.

Four-tier sub-specialty classifier.

T1 (deepest domain, no adjustment) → T2 (strong secondary, fit capped) → T3 (adjacent, mild penalty) → T4 (explicit gap, heavy penalty). An AP-ops disambiguator reads “Procurement Manager” intent correctly — operational scope classifies as T2, sourcing scope as T3. A “Finance” title no longer automatically scores 100 on fit.

Self-expanding company discovery + 2-tier storage.

Nine discovery strategies (BuiltIn scrape, VC portfolio mining across funds, ClimateTechList, description cross-referencing, competitor vertical probing, stealth-slug scanning, and more) auto-propose new companies nightly. Two-tier SQLite storage keeps the full record for scores ≥ 60 and a slim record otherwise, so the database stays lean as coverage grows. Grew the config from 120 seed companies to 220+ across 14 platforms with no manual additions.

What the dashboard looks like

“Finance leaders talk about AI and automation. I wanted to ship it on myself.”

Built with Claude Code while on paternity leave, 2026. Architecture is mine; Claude wrote most of the code.

Get in touch

If the shape of the role is right, let's talk.

Currently exploring Senior Manager, Manager, and Director roles in Finance Operations, Finance Transformation, and GBS / GCC Strategy. Based in San Francisco — Bay Area hybrid or remote preferred.

Location
San Francisco, CA