agentleFS
OneWave-AIOneWave-AI/claude-skills/cowork-expense-audit/SKILL.md

cowork-expense-audit

Skill378 starsChanged 53 days agoMITView on GitHub

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.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Categorize: every transaction (meals, travel, software, equipment, client entertainment, etc.).

    line 17
  2. Very specific:

    Report: Write expense-report.xlsx-ready CSV (or .xlsx if the xlsx skill is available) with the full categorized ledger, plus …

    line 19
  3. Distinctive:

    Never fabricate or estimate amounts.

    line 23
  4. Distinctive:

    Keep personal card statements strictly scoped: extract only lines the user identifies as business expenses.

    line 25
  5. Distinctive:

    If more than 20% of transactions lack receipts, lead the findings memo with that fact -- it is the finding.

    line 28

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.