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.
853 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
235
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
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
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.
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.
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.
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.
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.
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
How to use it
Copy the folder
Take onewave-ai/cowork-expense-audit from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
Check the name does not clash
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.