Free accounting and tax skills for AI agents — extraction, matching, footing, tie-outs, and anomaly detection. Every skill proves its own work and refuses to deliver a workpaper that doesn't tie. Everything runs on your machine: no cloud, no API keys, no uploads.
Open source under MIT at github.com/adoptai/cpa-skills
Convert PDF bank, credit card, and merchant-processor statements into a clean workbook with dates, descriptions, debits, credits, and running balance — and prove the extraction is complete against the statement’s own control totals. Local OCR for scans.
Extract Schedule K-1 data box by box with the code preserved, then foot the aggregate K-1s to the entity return. Detects a missing K-1 through ownership percentages and a two-way recipient reconciliation. Full TINs rejected on input.
Receipt images to an expense spreadsheet, proved by each receipt’s own internal sum — subtotal plus tax plus tip equals the printed total, a check independent of the OCR. Output schema is expense-policy-testing’s input schema exactly.
A close checklist derived from your trial balance, not a generic template. Assigns the right procedure per account from what the account is, and names the skill that performs it. An account absent from the checklist is reported as not considered — the usual close failure.
Run first on a new client, cleanup, or conversion. Debits equalling credits proves almost nothing; this proves every account maps to a statement line, the mapping foots, and surfaces duplicates like Repairs & Maintenance versus Repairs and Maintenance.
Reconcile a bank statement to the GL cash account through a six-pass matching cascade, then produce the four-column reconciliation, the journal entries for unrecorded bank items, and aged outstanding-item schedules.
Compare two years line by line under dual materiality, flag the movements and the suspicious non-movements, and enforce that every explanation is causal and quantified.
Four-way tie across the payroll register, the four Forms 941, W-2/W-3, and the GL. Infers the Social Security wage base from the data rather than asserting one, and isolates undeposited trust-fund tax.
PO to invoice to receiving, with four duplicate-detection patterns, quantity and price tolerances, vendor-level pattern rollup, and a quantified goods-received-not-invoiced accrual.
Review a prepared return against a structured checklist with evidence for every item tested. Starts with what’s missing — dropped carryforwards, absent forms, unfiled information returns. Checklists for 1040, 1120-S, 1065, 1120, depreciation, and amended returns.
Compare two years line by line under dual materiality, flag the movements and the suspicious non-movements, and enforce that every explanation is causal and quantified.
Extract Schedule K-1 data box by box with the code preserved, then foot the aggregate K-1s to the entity return. Detects a missing K-1 through ownership percentages and a two-way recipient reconciliation. Full TINs rejected on input.
Fixed asset register to depreciation schedule to return. Recomputes straight-line exactly; tests accelerated methods for consistency without asserting any rate. Catches disposed assets still depreciating and beginning balances that do not agree to the prior year.
Reconcile a bank statement to the GL cash account through a six-pass matching cascade, then produce the four-column reconciliation, the journal entries for unrecorded bank items, and aged outstanding-item schedules.
Full-population journal entry scan across 26 tests — duplicates, round-dollar, weekend, after-hours, self-approval, threshold circumvention, unreversed accruals, Benford — with accumulating risk scores.
MUS/PPS, stratified, and attribute selection with a mandatory seed so the sample can be re-performed exactly. Population must tie to a control total; negative balances need an explicit decision. Projects with tainting.
PO to invoice to receiving, with four duplicate-detection patterns, quantity and price tolerances, vendor-level pattern rollup, and a quantified goods-received-not-invoiced accrual.
Fixed asset register to depreciation schedule to return. Recomputes straight-line exactly; tests accelerated methods for consistency without asserting any rate. Catches disposed assets still depreciating and beginning balances that do not agree to the prior year.
Filed returns to the sales ledger to the GL, with a liability rollforward that isolates collected-but-unremitted tax. Derives rates from the returns and produces a nexus screening schedule rather than a conclusion. Separates marketplace-facilitated sales throughout.
Ties the aging to the GL control account and then recomputes every bucket from the invoice date — because the total can agree while the aging is wrong. Grosses up netted credits, tests cutoff, and uses subsequent receipts to separate collection timing from valuation.