Gusto API + Claude for automated payroll reconciliation — sharing my workflow
spent last weekend building a workflow that pulls payroll data from Gusto's API and feeds it to Claude for reconciliation against QBO. sharing because i think this is genuinely useful and i haven't seen anyone else post their setup.
the workflow:
- Gusto API → pull payroll runs for the month (JSON)
- QBO API → pull GL transactions tagged "payroll" for same period
- Claude → compare the two, match line items, flag discrepancies
what it catches:
- missed journal entries (Gusto ran payroll but bookkeeper forgot to sync)
- amount mismatches (usually rounding or timing differences)
- account mapping errors (employer taxes booked to wrong expense account)
what it doesn't catch:
- whether Gusto itself calculated correctly (garbage in, garbage out)
- anything that requires understanding the INTENT behind a number
i run this monthly for 8 clients. saves about 2 hours total. happy to share the prompt template if anyone wants it.
4 replies
the CSV/PDF version is actually what most of us probably need. not everyone has API access, and frankly the API setup is overkill for a monthly reconciliation.
i'd suggest: export the payroll summary as PDF, upload to Claude with the GL export (CSV), and ask it to reconcile. no API needed, works with any provider.
the accuracy will be slightly lower because PDF parsing isn't perfect, but for a first-pass reconciliation it's more than good enough.
mike this is solid. one concern though: you're sending payroll data (employee names, SSNs potentially, salary figures) through Claude's API.
how are you handling data privacy? is this going through the regular Claude API (where Anthropic can see the data) or are you using their enterprise tier with the data retention guarantees?
not trying to be a killjoy — it's a great workflow. just want to make sure we're all thinking about this.
this is great mike. i'd love the prompt template.
question: how do you handle the Gusto API auth? their OAuth flow is a pain and the access tokens expire. are you refreshing automatically or doing it manually each month?
also — does this work for clients who DON'T use Gusto? i have a mix of Gusto, ADP, and one client still on Paychex. would love a version that works with exported CSV/PDF instead of API.
good point james. two things:
- i strip SSNs and bank details before sending to Claude. the reconciliation only needs names, amounts, and accounts — not PII
- i'm on Claude's pro plan which has the "we don't train on your data" policy. not enterprise-tier but adequate for my risk tolerance
but you're right that this should be an explicit part of anyone's AI workflow: what data are you sending, and where does it go? i should've flagged that in the original post.
Sign in as a verified accountant to reply.
Sign in