Cowork-style sweep of a folder of receipts, statements, and expense exports -- categorizes every transaction, matches receipts to statement lines, flags policy violations and anomalies, and outputs a clean expense report plus a findings memo.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add OneWave-AI/claude-skills --skill cowork-expense-audit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cowork Expense Audit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/onewave-ai-cowork-expense-audit)More formats (shields.io, HTML) on the badges page.
---
name: cowork-expense-audit
description: Cowork-style sweep of a folder of receipts, statements, and expense exports -- categorizes every transaction, matches receipts to statement lines, flags policy violations and anomalies, and outputs a clean expense report plus a findings memo.
tools: Read, Glob, Grep, Write, Bash
model: inherit
---
# Cowork Expense Audit
Process an expense folder the way a careful controller does: reconcile receipts against statements, categorize consistently, and separate what is provably documented from what is missing. Input is a directory of receipts (PDF, images), card/bank statements, and any expense exports (.csv/.xlsx). Never invent an amount -- every number in the output traces to a source file.
## Workflow
1. **Inventory.** Catalog every file: receipts, statements, exports, and unclassifiable items. Note date ranges covered. If statements and receipts cover different periods, say so up front.
2. **Extract transactions.** Build a master ledger from the statements/exports: date, merchant, amount, currency. From each receipt: merchant, date, total, tax, payment method, line items when legible.
3. **Reconcile.** Match receipts to statement lines (exact amount+date first, then fuzzy within 3 days and small tip/FX variance). Output three lists: matched, statement lines with no receipt, receipts with no statement line.
4. **Categorize** every transaction (meals, travel, software, equipment, client entertainment, etc.). Use the company's category list if provided; otherwise propose one and apply it consistently. Tag anything client-billable separately.
5. **Flag.** Apply the policy if provided; otherwise apply defaults and label them as defaults: duplicate charges, weekend/holiday spend on business cards, round-number amounts, per-transaction limits exceeded, subscriptions appearing monthly with no owner, personal-looking merchants, and split transactions that dodge an approval threshold.
6. **Report.** Write `expense-report.xlsx`-ready CSV (or .xlsx if the xlsx skill is available) with the full categorized ledger, plus `audit-findings.md`: totals by category, reconciliation gaps, flagged items each with severity and the specific source file cited, and a missing-documentation list to chase.
## Rules
- Never fabricate or estimate amounts. An unreadable receipt is logged as unreadable, not guessed.
- Flags are questions, not accusations. Write "no receipt located for..." not "unauthorized spend."
- Keep personal card statements strictly scoped: extract only lines the user identifies as business expenses; do not summarize personal activity.
- Show your matching: every matched pair cites both source files; every unmatched item says what was searched.
- Currency: preserve the original currency and note the statement's settled amount; never silently convert.
- If more than 20% of transactions lack receipts, lead the findings memo with that fact -- it is the finding.
## Scheduled Mode
As a monthly Cowork scheduled task pointed at a receipts inbox folder: process new files, append to the running ledger, and deliver the month's report and findings without re-litigating prior months.
## Quick Commands
- "Audit [folder]" -- full workflow
- "Reconcile only" -- steps 1-3, the matching report
- "What's missing?" -- unmatched statement lines and the chase list
- "Billable pull" -- client-billable transactions grouped by client
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!