Accounting Skill
Process financial documents and generate a comprehensive, beautiful HTML report with subscription audits, expense categorization, bookkeeper cross-referencing, and actionable insights.
When to Use This Skill
- End of year financial review
- Monthly bookkeeping catch-up
- Subscription audit (find what to cancel)
- Preparing documents for your accountant
- Cross-referencing bookkeeper work against raw statements
- Understanding where your money is going
- Flagging personal expenses on business cards
What This Skill Produces
A single, self-contained HTML report with:
- Executive Dashboard — KPI cards with revenue, expenses, profit, cash position
- Monthly Spending Trend — Visual bar chart of monthly spend
- Expense Categories — Horizontal bar breakdown by category
- Subscription Audit — Every recurring charge with monthly/annual cost and keep/review/cancel verdict
- Contractor Summary — Who got paid what, when, and for what
- Revenue Sources — Where income comes from with concentration risk flags
- Bookkeeper Categorization Audit — Flags miscategorized expenses (if bookkeeper data provided)
- Personal Expense Flags — Items on business card that should be personal draws
- Cash Dividend / Owner Draw Tracker — Monthly visualization
- Tax Position — Outstanding items, refunds owed, payables
- Year-over-Year Comparison — If prior year data available
How to Use
Step 1: Gather Your Documents
Create a folder with your financial documents. The skill works with:
Bank Statements (PDF or CSV)
- Checking/chequing account statements
- Credit card statements
- Multi-currency accounts (Wise, PayPal, etc.)
Invoices (PDF)
- Contractor invoices
- Vendor receipts
- Payment confirmations
Bookkeeper Files (optional but powerful)
- Profit & Loss statement (PDF)
- Balance Sheet (PDF)
- General Ledger (XLSX/CSV)
- Trial Balance (PDF)
Step 2: Tell Claude Where to Find Them
/accounting
My financial docs are in ~/Documents/Accounting/2025/
- Bank statements in /Statements/
- Credit card statements in /Credit Card/
- Invoices in /Invoices/
- Bookkeeper package: ~/Downloads/financials.pdf
- General ledger: ~/Downloads/general-ledger.xlsx
Or for a quick subscription audit:
/accounting
Just audit my subscriptions from these credit card statements:
~/Documents/CC-Statements/
Step 3: Get Your Report
The skill generates a single HTML file you can open in any browser. No dependencies, no server needed.
Instructions
When the user triggers this skill, follow this workflow:
Phase 0: First-Time Setup
Check if ~/.claude/skills/accounting/config.json exists.
If it exists: Load settings and proceed to Phase 1.
If it does NOT exist:
Greet the user:
Welcome to /accounting! Let's do a quick setup. This takes 30 seconds and only happens once.
Ask for:
- Business name (for the report header)
- Business entity type (Corporation, Sole Prop, LLC, etc.)
- Primary currency (USD, CAD, EUR, GBP, etc.)
- Fiscal year end (Dec 31, Mar 31, etc.)
Save to ~/.claude/skills/accounting/config.json:
{
"businessName": "Acme Corp",
"entityType": "Corporation",
"currency": "USD",
"fiscalYearEnd": "Dec 31",
"setupComplete": true,
"setupDate": "2026-04-01"
}
Confirm and proceed:
Setup complete! Running /accounting now...
Phase 1: Discovery
- Locate all financial documents in the folder(s) the user specified
- Identify document types — bank statements, credit card statements, invoices, bookkeeper files
- Report what you found before processing:
Found:
- 12 bank statements (PDF, Jan-Dec)
- 12 credit card statements (PDF, Jan-Dec)
- 28 invoices across 9 months
- 1 bookkeeper P&L (PDF)
- 1 general ledger (XLSX, 2100+ rows)
Processing all of these. This will take a few minutes.
Phase 2: Data Extraction
Process all documents in parallel where possible using Agent subagents:
Bank Statements
- Read every page of every PDF
- Extract: date, description, withdrawal, deposit, balance
- Handle multiple account types on same statement
- Handle French/English bank formats (Desjardins, TD, RBC, BMO, Chase, BofA, Wells Fargo, etc.)
- Handle CSV exports from online banking
Credit Card Statements
- Read every page — statements are often 3+ pages
- Extract: transaction date, posting date, vendor name, amount
- Handle multiple cards on same statement
- Identify credits/refunds (marked CR or negative)
- Capture statement-level totals for cross-checking
Invoices
- Read page 1 of each PDF
- Extract: date, invoice number, vendor, line items, subtotal, tax, total, currency
- Handle various invoice formats (formal invoices, transfer confirmations, receipts)
Bookkeeper Data (if provided)
- Parse P&L for official revenue, expense categories, and profit
- Parse Balance Sheet for cash position, liabilities, equity
- Parse General Ledger (XLSX) for transaction-level detail:
- Extract all account categories (the "Split" or "Account" column)
- Sum by category
- Identify what's in each category for the audit
Phase 3: Analysis
Transaction Categorization
Assign every credit card transaction to a category based on vendor name patterns:
| Pattern |
Category |
| HIGHLEVEL, GOHIGHLEVEL |
CRM |
| SLACK, ZOOM, GSUITE, GOOGLE*WORKSPACE, TEAMS |
SaaS - Communication |
| STRIPE, PAYPAL, SQUARE |
Payment Processing |
| FACEBOOK, FACEBK, INSTAGRAM, META, GOOGLE*ADS |
Advertising |
| OPENAI, CLAUDE.AI, ANTHROPIC, MIDJOURNEY |
AI Tools |
| SPOTIFY, NETFLIX, YOUTUBE PREMIUM, APPLE.COM/BILL |
Personal - Entertainment |
| GYM, ATHLETIC, FITNESS, PELOTON |
Personal - Fitness |
| UBER, LYFT, AIRBNB, AIRLINE, HOTEL |
Travel |
| AMAZON |
Review Individually |
| GODADDY, NAMECHEAP, CLOUDFLARE |
Domains / Hosting |
| CANVA, ADOBE, FIGMA |
Design Tools |
| ZAPIER, MAKE.COM |
Automation |
| QUICKBOOKS, XERO, FRESHBOOKS |
Accounting Software |
| MAILCHIMP, CONVERTKIT, ACTIVECAMPAIGN |
Email Marketing |
| SHOPIFY, WOOCOMMERCE |
E-Commerce |
| AWS, GOOGLE CLOUD, AZURE, HEROKU, VERCEL |
Cloud / Infrastructure |
Build a vendor mapping as you go — learn from the data. When you encounter a vendor not in this table, categorize it based on context clues in the description.
Subscription Detection
A charge is a subscription if:
- Same vendor appears 3+ months
- Amount is within 20% of average (allows for FX fluctuation)
- Not a one-time purchase
For each subscription, calculate:
- Average monthly cost
- Annual total
- Number of months active out of 12
- Trend (increasing, decreasing, stable)
Subscription Verdicts
Assign each subscription a verdict:
- Keep — Core business tool, actively used, no overlap
- Review — Expensive (>$100/mo), overlapping with another tool, or unclear value
- Cancel — Redundant (e.g., Zapier AND Make.com), barely used, or clearly not needed
- New — Started in last 3 months, too early to judge
Rules for verdicts:
- If two tools overlap in function, flag the less-used or more expensive one as Cancel
- If a tool costs >$100/mo, default to Review unless it's clearly core (CRM, email, main platform)
- Gym, entertainment, personal items should be flagged as personal, recommend moving to personal card
- AI tools that overlap — review which ones are actually being used vs. forgotten
Bookkeeper Cross-Reference (if GL provided)
This is the most valuable part. Compare the bookkeeper's categorization against what the raw data actually shows:
- For each expense category in the P&L, pull the underlying transactions from the GL
- Check if vendors are in the right category:
- Is a SaaS platform categorized as "Training"?
- Are contractor payments categorized as "Travel"?
- Are personal expenses mixed into business categories?
- Are recurring subscriptions categorized as one-time expenses?
- Flag any category where >20% of the amount seems miscategorized
- Calculate the corrected P&L if miscategorizations were fixed
- Explain the tax risk of each miscategorization (inflated deductions, audit flags, etc.)
Personal Expense Detection
Flag transactions that appear personal on a business card:
- Gym/fitness memberships
- Entertainment subscriptions (Spotify, Netflix, etc.)
- Clothing stores
- Medical expenses
- Personal travel (hotels, airlines without business context)
- Food delivery / restaurants (unless clearly client meetings)
- Personal grooming / dry cleaning
Revenue Analysis (if data available)
- Identify revenue sources from bank deposits, Wise/PayPal incoming, etc.
- Calculate concentration (what % comes from top source)
- Flag if >50% from single source (concentration risk)
- Show revenue trend by month
- Compare to prior year if available
Phase 4: Report Generation
Generate a single self-contained HTML file with these design requirements:
Design Standards
- Dark theme (bg: #0a0e17, cards: #111827)
- Font: Clash Display (headings) + JetBrains Mono (numbers)
- Load from Google Fonts via
<link> tag
- Accent color: cyan (#22d3ee) with warm amber (#f59e0b) and green (#10b981)
- No purple gradients on white backgrounds
- Atmospheric backgrounds with subtle gradients
- CSS-only animations (staggered card reveals)
- Fully responsive (mobile-friendly grid)
- Self-contained — no external JS dependencies
Report Sections (in order)
- Header — Business name, date range, entity info
- KPI Cards — 4-8 cards with key metrics (revenue, profit, expenses, subscriptions, cash, dividends, tax position)
- Monthly Spending Trend — Bar chart (pure CSS/HTML, no JS library needed)
- Expense Category Breakdown — Horizontal bar chart with amounts
- Subscription Audit Table — Full table with service, category, monthly cost, annual cost, months active, verdict badge (Keep/Review/Cancel/New)
- Subscription Savings Summary — Two boxes: "Recommended Cancellations" (with total savings) and "Worth Reviewing" (with potential savings)
- Contractor/Invoice Summary — Table of vendors, services, invoice counts, totals, active periods
- Revenue Sources — If data available, horizontal bar chart of income sources with concentration risk flag
- Official P&L + Year-over-Year — If bookkeeper data provided, show official P&L with YoY comparison
- Bookkeeper Categorization Audit — If bookkeeper data provided, flag miscategorized expenses with corrected amounts
- Contractor Deep Dive — Full breakdown of contractor payments with amounts, payment counts, active periods
- Personal Expense Flags — Table of items that should be reclassified as personal draws
- Cash Dividend/Owner Draw Tracker — Monthly grid visualization with total and average
- Tax Position — Cards for outstanding tax items (refunds owed, payables, GST/HST position)
- Key Insights & Recommendations — 4-6 insight/alert cards with actionable advice
- Footer — Generation date, sources used, disclaimer
Styling Details
Status badges for subscription verdicts:
- Keep: green background (#10b981), green text
- Review: amber background (#f59e0b), amber text
- Cancel: red background (#ef4444), red text
- New: purple background (#a78bfa), purple text
Category pills with colored backgrounds matching the category.
Amount formatting:
- Green for positive/income
- Red for large expenses or losses
- Amber for medium concern
- Cyan for neutral highlights
Use font-family: 'JetBrains Mono', monospace for all numbers and amounts.
Tables should have:
- Hover effect on rows
- Alternating subtle backgrounds
- Sticky headers on long tables
- Sort-friendly column alignment
Phase 5: Delivery
- Save the HTML report to the user's specified folder or
~/Documents/Accounting/[year]-annual-report.html
- Open it in the browser with
open (macOS) or xdg-open (Linux) command
- Provide a concise summary of key findings:
- Total revenue and profit (if available)
- Number of subscriptions found and total annual cost
- Potential savings from recommended cancellations
- Number of bookkeeper issues flagged (if applicable)
- Personal expenses that need reclassification
- Any critical alerts (concentration risk, tax issues, etc.)
Multi-Currency Handling
- Track transactions in their original currency
- Note currency for each amount in the report
- Don't convert currencies — the user's accountant handles that
- If statements have multiple currencies, show each separately
- Note exchange gain/loss if visible in the data
Statement Format Support
The skill handles these common formats:
Canadian Banks (often French)
- Desjardins (Caisse) — "RELEVE DE COMPTE", "CARTE AFFAIRES VISA"
- TD Canada Trust
- RBC Royal Bank
- BMO Bank of Montreal
- Scotiabank
- CIBC
US Banks
- Chase
- Bank of America
- Wells Fargo
- Citi
- Capital One
UK/EU Banks
- Barclays
- HSBC
- Revolut
- N26
International / Fintech
- Wise (TransferWise) statements
- PayPal statements
- Stripe payouts
- Mercury
- Relay
CSV/Excel
- Any CSV with date, description, amount columns
- QuickBooks exports
- Xero exports
- Wave exports
- FreshBooks exports
Error Handling
- If a PDF can't be read, note it in the summary and continue with others
- If a transaction can't be categorized, put it in "Uncategorized" and flag for manual review
- If the bookkeeper GL has unexpected columns, try to detect the right ones by looking for date, description, and amount patterns
- Always show what was processed vs skipped in the final summary
- If no statements are found in the specified folder, ask the user to confirm the path
Examples
Example 1: Full Year-End Review
/accounting
Process my 2025 financials:
- Bank statements: ~/Accounting/2025/Bank/
- Credit card: ~/Accounting/2025/CC/
- Invoices: ~/Accounting/2025/Invoices/
- Bookkeeper P&L: ~/Downloads/2025-PnL.pdf
- General Ledger: ~/Downloads/general-ledger.xlsx
Example 2: Quick Subscription Audit
/accounting
Just find all my subscriptions and tell me what to cancel.
Credit card statements are in ~/Downloads/CC-2025/
Example 3: Bookkeeper Verification
/accounting
My bookkeeper sent me the year-end package. I want to cross-reference
their categorization against my raw bank statements to make sure
everything is categorized correctly.
Bookkeeper files: ~/Downloads/2025-financials.pdf
Raw statements: ~/Accounting/2025/
Example 4: Monthly Check-In
/accounting
Process just March 2025:
- Bank statement: ~/Downloads/march-2025.pdf
- Credit card: ~/Downloads/cc-march-2025.pdf
Example 5: Multi-Currency Business
/accounting
I receive payments in USD via Wise and spend in CAD and EUR.
- Wise statements: ~/Accounting/Wise/
- Canadian bank: ~/Accounting/TD/
- Credit card: ~/Accounting/Visa/
- Invoices: ~/Accounting/Invoices/
Tips for Best Results
- PDF statements work better than screenshots — text extraction is more reliable
- CSV exports are fastest — if your bank offers CSV downloads, use those
- Organize by type — separate bank statements, CC statements, and invoices into different folders
- Include the bookkeeper package — the cross-reference audit is the most valuable feature
- Run it quarterly — don't wait until year-end to catch issues
- Keep the HTML report — it's a useful reference for tax meetings with your accountant
- Name your files consistently —
YYYY-MM format helps the skill process them in order
What This Skill Does NOT Do
- File your taxes
- Replace a CPA or bookkeeper
- Connect to your bank directly (no Plaid/API integration)
- Guarantee categorization accuracy (always review with your accountant)
- Handle payroll calculations
- Generate T4s, W2s, 1099s, or tax forms
- Provide tax advice (consult a professional)
Built by @tenfoldmarc. Follow for daily AI automation builds — real systems, not theory.
1---2name: accounting3description: Process bank statements, credit card statements, invoices, and bookkeeper financials into a beautiful HTML report with subscription audits, expense categorization, and actionable insights.4---56# Accounting Skill78Process financial documents and generate a comprehensive, beautiful HTML report with subscription audits, expense categorization, bookkeeper cross-referencing, and actionable insights.910## When to Use This Skill1112- End of year financial review13- Monthly bookkeeping catch-up14- Subscription audit (find what to cancel)15- Preparing documents for your accountant16- Cross-referencing bookkeeper work against raw statements17- Understanding where your money is going18- Flagging personal expenses on business cards1920## What This Skill Produces2122A single, self-contained HTML report with:23241. **Executive Dashboard** — KPI cards with revenue, expenses, profit, cash position252. **Monthly Spending Trend** — Visual bar chart of monthly spend263. **Expense Categories** — Horizontal bar breakdown by category274. **Subscription Audit** — Every recurring charge with monthly/annual cost and keep/review/cancel verdict285. **Contractor Summary** — Who got paid what, when, and for what296. **Revenue Sources** — Where income comes from with concentration risk flags307. **Bookkeeper Categorization Audit** — Flags miscategorized expenses (if bookkeeper data provided)318. **Personal Expense Flags** — Items on business card that should be personal draws329. **Cash Dividend / Owner Draw Tracker** — Monthly visualization3310. **Tax Position** — Outstanding items, refunds owed, payables3411. **Year-over-Year Comparison** — If prior year data available3536## How to Use3738### Step 1: Gather Your Documents3940Create a folder with your financial documents. The skill works with:4142**Bank Statements (PDF or CSV)**43- Checking/chequing account statements44- Credit card statements45- Multi-currency accounts (Wise, PayPal, etc.)4647**Invoices (PDF)**48- Contractor invoices49- Vendor receipts50- Payment confirmations5152**Bookkeeper Files (optional but powerful)**53- Profit & Loss statement (PDF)54- Balance Sheet (PDF)55- General Ledger (XLSX/CSV)56- Trial Balance (PDF)5758### Step 2: Tell Claude Where to Find Them5960```61/accounting6263My financial docs are in ~/Documents/Accounting/2025/64- Bank statements in /Statements/65- Credit card statements in /Credit Card/66- Invoices in /Invoices/67- Bookkeeper package: ~/Downloads/financials.pdf68- General ledger: ~/Downloads/general-ledger.xlsx69```7071Or for a quick subscription audit:72```73/accounting7475Just audit my subscriptions from these credit card statements:76~/Documents/CC-Statements/77```7879### Step 3: Get Your Report8081The skill generates a single HTML file you can open in any browser. No dependencies, no server needed.8283## Instructions8485When the user triggers this skill, follow this workflow:8687### Phase 0: First-Time Setup8889Check if `~/.claude/skills/accounting/config.json` exists.9091**If it exists:** Load settings and proceed to Phase 1.9293**If it does NOT exist:**94951. Greet the user:96 ```97 Welcome to /accounting! Let's do a quick setup. This takes 30 seconds and only happens once.98 ```991002. Ask for:101 - Business name (for the report header)102 - Business entity type (Corporation, Sole Prop, LLC, etc.)103 - Primary currency (USD, CAD, EUR, GBP, etc.)104 - Fiscal year end (Dec 31, Mar 31, etc.)1051063. Save to `~/.claude/skills/accounting/config.json`:107 ```json108 {109 "businessName": "Acme Corp",110 "entityType": "Corporation",111 "currency": "USD",112 "fiscalYearEnd": "Dec 31",113 "setupComplete": true,114 "setupDate": "2026-04-01"115 }116 ```1171184. Confirm and proceed:119 ```120 Setup complete! Running /accounting now...121 ```122123### Phase 1: Discovery1241251. **Locate all financial documents** in the folder(s) the user specified1262. **Identify document types** — bank statements, credit card statements, invoices, bookkeeper files1273. **Report what you found** before processing:128 ```129 Found:130 - 12 bank statements (PDF, Jan-Dec)131 - 12 credit card statements (PDF, Jan-Dec)132 - 28 invoices across 9 months133 - 1 bookkeeper P&L (PDF)134 - 1 general ledger (XLSX, 2100+ rows)135 136 Processing all of these. This will take a few minutes.137 ```138139### Phase 2: Data Extraction140141Process all documents in parallel where possible using Agent subagents:142143**Bank Statements**144- Read every page of every PDF145- Extract: date, description, withdrawal, deposit, balance146- Handle multiple account types on same statement147- Handle French/English bank formats (Desjardins, TD, RBC, BMO, Chase, BofA, Wells Fargo, etc.)148- Handle CSV exports from online banking149150**Credit Card Statements**151- Read every page — statements are often 3+ pages152- Extract: transaction date, posting date, vendor name, amount153- Handle multiple cards on same statement154- Identify credits/refunds (marked CR or negative)155- Capture statement-level totals for cross-checking156157**Invoices**158- Read page 1 of each PDF159- Extract: date, invoice number, vendor, line items, subtotal, tax, total, currency160- Handle various invoice formats (formal invoices, transfer confirmations, receipts)161162**Bookkeeper Data (if provided)**163- Parse P&L for official revenue, expense categories, and profit164- Parse Balance Sheet for cash position, liabilities, equity165- Parse General Ledger (XLSX) for transaction-level detail:166 - Extract all account categories (the "Split" or "Account" column)167 - Sum by category168 - Identify what's in each category for the audit169170### Phase 3: Analysis171172**Transaction Categorization**173174Assign every credit card transaction to a category based on vendor name patterns:175176| Pattern | Category |177|---------|----------|178| HIGHLEVEL, GOHIGHLEVEL | CRM |179| SLACK, ZOOM, GSUITE, GOOGLE*WORKSPACE, TEAMS | SaaS - Communication |180| STRIPE, PAYPAL, SQUARE | Payment Processing |181| FACEBOOK, FACEBK, INSTAGRAM, META, GOOGLE*ADS | Advertising |182| OPENAI, CLAUDE.AI, ANTHROPIC, MIDJOURNEY | AI Tools |183| SPOTIFY, NETFLIX, YOUTUBE PREMIUM, APPLE.COM/BILL | Personal - Entertainment |184| GYM, ATHLETIC, FITNESS, PELOTON | Personal - Fitness |185| UBER, LYFT, AIRBNB, AIRLINE, HOTEL | Travel |186| AMAZON | Review Individually |187| GODADDY, NAMECHEAP, CLOUDFLARE | Domains / Hosting |188| CANVA, ADOBE, FIGMA | Design Tools |189| ZAPIER, MAKE.COM | Automation |190| QUICKBOOKS, XERO, FRESHBOOKS | Accounting Software |191| MAILCHIMP, CONVERTKIT, ACTIVECAMPAIGN | Email Marketing |192| SHOPIFY, WOOCOMMERCE | E-Commerce |193| AWS, GOOGLE CLOUD, AZURE, HEROKU, VERCEL | Cloud / Infrastructure |194195Build a vendor mapping as you go — learn from the data. When you encounter a vendor not in this table, categorize it based on context clues in the description.196197**Subscription Detection**198199A charge is a subscription if:200- Same vendor appears 3+ months201- Amount is within 20% of average (allows for FX fluctuation)202- Not a one-time purchase203204For each subscription, calculate:205- Average monthly cost206- Annual total207- Number of months active out of 12208- Trend (increasing, decreasing, stable)209210**Subscription Verdicts**211212Assign each subscription a verdict:213- **Keep** — Core business tool, actively used, no overlap214- **Review** — Expensive (>$100/mo), overlapping with another tool, or unclear value215- **Cancel** — Redundant (e.g., Zapier AND Make.com), barely used, or clearly not needed216- **New** — Started in last 3 months, too early to judge217218Rules for verdicts:219- If two tools overlap in function, flag the less-used or more expensive one as Cancel220- If a tool costs >$100/mo, default to Review unless it's clearly core (CRM, email, main platform)221- Gym, entertainment, personal items should be flagged as personal, recommend moving to personal card222- AI tools that overlap — review which ones are actually being used vs. forgotten223224**Bookkeeper Cross-Reference (if GL provided)**225226This is the most valuable part. Compare the bookkeeper's categorization against what the raw data actually shows:2272281. For each expense category in the P&L, pull the underlying transactions from the GL2292. Check if vendors are in the right category:230 - Is a SaaS platform categorized as "Training"?231 - Are contractor payments categorized as "Travel"?232 - Are personal expenses mixed into business categories?233 - Are recurring subscriptions categorized as one-time expenses?2343. Flag any category where >20% of the amount seems miscategorized2354. Calculate the corrected P&L if miscategorizations were fixed2365. Explain the tax risk of each miscategorization (inflated deductions, audit flags, etc.)237238**Personal Expense Detection**239240Flag transactions that appear personal on a business card:241- Gym/fitness memberships242- Entertainment subscriptions (Spotify, Netflix, etc.)243- Clothing stores244- Medical expenses245- Personal travel (hotels, airlines without business context)246- Food delivery / restaurants (unless clearly client meetings)247- Personal grooming / dry cleaning248249**Revenue Analysis (if data available)**250251- Identify revenue sources from bank deposits, Wise/PayPal incoming, etc.252- Calculate concentration (what % comes from top source)253- Flag if >50% from single source (concentration risk)254- Show revenue trend by month255- Compare to prior year if available256257### Phase 4: Report Generation258259Generate a single self-contained HTML file with these design requirements:260261**Design Standards**262- Dark theme (bg: #0a0e17, cards: #111827)263- Font: Clash Display (headings) + JetBrains Mono (numbers)264- Load from Google Fonts via `<link>` tag265- Accent color: cyan (#22d3ee) with warm amber (#f59e0b) and green (#10b981)266- No purple gradients on white backgrounds267- Atmospheric backgrounds with subtle gradients268- CSS-only animations (staggered card reveals)269- Fully responsive (mobile-friendly grid)270- Self-contained — no external JS dependencies271272**Report Sections (in order)**2732741. **Header** — Business name, date range, entity info2752. **KPI Cards** — 4-8 cards with key metrics (revenue, profit, expenses, subscriptions, cash, dividends, tax position)2763. **Monthly Spending Trend** — Bar chart (pure CSS/HTML, no JS library needed)2774. **Expense Category Breakdown** — Horizontal bar chart with amounts2785. **Subscription Audit Table** — Full table with service, category, monthly cost, annual cost, months active, verdict badge (Keep/Review/Cancel/New)2796. **Subscription Savings Summary** — Two boxes: "Recommended Cancellations" (with total savings) and "Worth Reviewing" (with potential savings)2807. **Contractor/Invoice Summary** — Table of vendors, services, invoice counts, totals, active periods2818. **Revenue Sources** — If data available, horizontal bar chart of income sources with concentration risk flag2829. **Official P&L + Year-over-Year** — If bookkeeper data provided, show official P&L with YoY comparison28310. **Bookkeeper Categorization Audit** — If bookkeeper data provided, flag miscategorized expenses with corrected amounts28411. **Contractor Deep Dive** — Full breakdown of contractor payments with amounts, payment counts, active periods28512. **Personal Expense Flags** — Table of items that should be reclassified as personal draws28613. **Cash Dividend/Owner Draw Tracker** — Monthly grid visualization with total and average28714. **Tax Position** — Cards for outstanding tax items (refunds owed, payables, GST/HST position)28815. **Key Insights & Recommendations** — 4-6 insight/alert cards with actionable advice28916. **Footer** — Generation date, sources used, disclaimer290291**Styling Details**292293Status badges for subscription verdicts:294- Keep: green background (#10b981), green text295- Review: amber background (#f59e0b), amber text296- Cancel: red background (#ef4444), red text297- New: purple background (#a78bfa), purple text298299Category pills with colored backgrounds matching the category.300301Amount formatting:302- Green for positive/income303- Red for large expenses or losses304- Amber for medium concern305- Cyan for neutral highlights306307Use `font-family: 'JetBrains Mono', monospace` for all numbers and amounts.308309Tables should have:310- Hover effect on rows311- Alternating subtle backgrounds312- Sticky headers on long tables313- Sort-friendly column alignment314315### Phase 5: Delivery3163171. Save the HTML report to the user's specified folder or `~/Documents/Accounting/[year]-annual-report.html`3182. Open it in the browser with `open` (macOS) or `xdg-open` (Linux) command3193. Provide a concise summary of key findings:320 - Total revenue and profit (if available)321 - Number of subscriptions found and total annual cost322 - Potential savings from recommended cancellations323 - Number of bookkeeper issues flagged (if applicable)324 - Personal expenses that need reclassification325 - Any critical alerts (concentration risk, tax issues, etc.)326327## Multi-Currency Handling328329- Track transactions in their original currency330- Note currency for each amount in the report331- Don't convert currencies — the user's accountant handles that332- If statements have multiple currencies, show each separately333- Note exchange gain/loss if visible in the data334335## Statement Format Support336337The skill handles these common formats:338339**Canadian Banks (often French)**340- Desjardins (Caisse) — "RELEVE DE COMPTE", "CARTE AFFAIRES VISA"341- TD Canada Trust342- RBC Royal Bank343- BMO Bank of Montreal344- Scotiabank345- CIBC346347**US Banks**348- Chase349- Bank of America350- Wells Fargo351- Citi352- Capital One353354**UK/EU Banks**355- Barclays356- HSBC357- Revolut358- N26359360**International / Fintech**361- Wise (TransferWise) statements362- PayPal statements363- Stripe payouts364- Mercury365- Relay366367**CSV/Excel**368- Any CSV with date, description, amount columns369- QuickBooks exports370- Xero exports371- Wave exports372- FreshBooks exports373374## Error Handling375376- If a PDF can't be read, note it in the summary and continue with others377- If a transaction can't be categorized, put it in "Uncategorized" and flag for manual review378- If the bookkeeper GL has unexpected columns, try to detect the right ones by looking for date, description, and amount patterns379- Always show what was processed vs skipped in the final summary380- If no statements are found in the specified folder, ask the user to confirm the path381382## Examples383384### Example 1: Full Year-End Review385```386/accounting387388Process my 2025 financials:389- Bank statements: ~/Accounting/2025/Bank/390- Credit card: ~/Accounting/2025/CC/391- Invoices: ~/Accounting/2025/Invoices/392- Bookkeeper P&L: ~/Downloads/2025-PnL.pdf393- General Ledger: ~/Downloads/general-ledger.xlsx394```395396### Example 2: Quick Subscription Audit397```398/accounting399400Just find all my subscriptions and tell me what to cancel.401Credit card statements are in ~/Downloads/CC-2025/402```403404### Example 3: Bookkeeper Verification405```406/accounting407408My bookkeeper sent me the year-end package. I want to cross-reference409their categorization against my raw bank statements to make sure410everything is categorized correctly.411412Bookkeeper files: ~/Downloads/2025-financials.pdf413Raw statements: ~/Accounting/2025/414```415416### Example 4: Monthly Check-In417```418/accounting419420Process just March 2025:421- Bank statement: ~/Downloads/march-2025.pdf422- Credit card: ~/Downloads/cc-march-2025.pdf423```424425### Example 5: Multi-Currency Business426```427/accounting428429I receive payments in USD via Wise and spend in CAD and EUR.430- Wise statements: ~/Accounting/Wise/431- Canadian bank: ~/Accounting/TD/432- Credit card: ~/Accounting/Visa/433- Invoices: ~/Accounting/Invoices/434```435436## Tips for Best Results4374381. **PDF statements work better than screenshots** — text extraction is more reliable4392. **CSV exports are fastest** — if your bank offers CSV downloads, use those4403. **Organize by type** — separate bank statements, CC statements, and invoices into different folders4414. **Include the bookkeeper package** — the cross-reference audit is the most valuable feature4425. **Run it quarterly** — don't wait until year-end to catch issues4436. **Keep the HTML report** — it's a useful reference for tax meetings with your accountant4447. **Name your files consistently** — `YYYY-MM` format helps the skill process them in order445446## What This Skill Does NOT Do447448- File your taxes449- Replace a CPA or bookkeeper450- Connect to your bank directly (no Plaid/API integration)451- Guarantee categorization accuracy (always review with your accountant)452- Handle payroll calculations453- Generate T4s, W2s, 1099s, or tax forms454- Provide tax advice (consult a professional)455456---457Built by [@tenfoldmarc](https://instagram.com/tenfoldmarc). Follow for daily AI automation builds — real systems, not theory.