About cowork-expense-audit
A Cowork skill for reconciling expense receipts with card or bank statements and expense exports. It creates a sourced ledger, categorizes transactions, and flags documentation gaps and items for review.
Key features
- 01Inventory receipts, statements, and exports
- 02Match receipts to statement transactions
- 03Categorize expenses and tag billable items
- 04Flag policy and documentation concerns
- 05Produce a ledger and audit findings
- 06Process new files in scheduled monthly runs
Use cases
- 01Reconcile a folder of receipts and statements
- 02Find transactions missing receipts
- 03Prepare client-billable expense lists
- 04Generate a monthly expense audit
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ onewave-ai/ claude-skills --skill cowork-expense-auditAfter installing, type/cowork-expense-auditin Claude Code to confirm it loaded.
Details
From the project READMECowork 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
- 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, plusaudit-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