Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Extract and analyze data from invoices, receipts, bank statements, and financial documents. Categorize expenses, track recurring charges, and generate expense reports. Use when user provides financial PDFs or images.
.claude/skills/onewave-ai-financial-document-parser/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 101% | 0% |
Extract structured data from financial documents with automatic categorization and analysis.
Activate when the user:
For Invoices:
For Receipts:
For Bank/Credit Card Statements:
markdown# Financial Document Analysis ## Document Details - **Type**: Invoice / Receipt / Statement - **Date**: [Date] - **Vendor/Merchant**: [Name] - **Document Number**: [Number] - **Total Amount**: $X,XXX.XX ## Line Items | Description | Quantity | Unit Price | Total | |-------------|----------|------------|-------| | [Item] | X | $XX.XX | $XX.XX | ## Financial Summary - **Subtotal**: $X,XXX.XX - **Tax**: $XXX.XX - **Total**: $X,XXX.XX - **Payment Method**: [Method] ## Expense Categorization | Category | Amount | Items | |----------|--------|-------| | Software | $XXX | Slack, GitHub | | Office | $XX | Supplies | ## Insights - Tax-deductible business expenses: $X,XXX - Recurring charges detected: 3 subscriptions ($XXX/month) - Foreign transaction fees: $XX ## Flagged Items - [ ] Large expense ($X,XXX) - verify approval - [ ] Duplicate charge detected on [date] ## Export Data (CSV Format)
Date,Vendor,Description,Category,Amount,Tax Deductible 2025-01-15,Adobe,Creative Cloud,Software,52.99,Yes
## Recommendations
- Track recurring $XXX/month for [subscription]
- Consider negotiating bulk discount with [vendor]
- Set up payment reminder for [invoice due date]User: "Extract data from this invoice PDF" Response: Parse PDF → Extract vendor info, line items, totals → Categorize as business expense → Format as structured data → Generate CSV export
User: "Analyze my bank statement and categorize expenses" Response: Extract all transactions → Categorize each (dining, software, travel) → Identify recurring charges → Calculate totals by category → Flag unusual transactions → Generate spending report
User: "Parse these 10 receipts and create an expense report" Response: Process each receipt → Extract merchant, date, amount, items → Categorize expenses → Calculate totals → Generate consolidated report → Create CSV for expense submission
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 17,311 | 33,713 | +95% | 1 | 1 | 0% | 2,819 | 3,443 | +22% | 0 | 0 | — |
case-02 | fail→pass | 13,255 | 6,920 | -48% | 1 | 1 | 0% | 2,216 | 2,337 | +5% | 0 | 0 | — |
case-03 | fail→pass | 15,870 | 15,310 | -4% | 1 | 1 | 0% | 3,269 | 4,253 | +30% | 0 | 0 | — |
case-04 | pass→fail | 22,853 | 30,395 | +33% | 1 | 1 | 0% | 4,240 | 7,108 | +68% | 0 | 0 | — |
case-05 | pass→pass | 18,490 | 23,483 | +27% | 1 | 1 | 0% | 2,673 | 5,074 | +90% | 0 | 0 | — |
case-06 | pass→pass | 22,789 | 28,838 | +27% | 1 | 1 | 0% | 4,225 | 7,293 | +73% | 0 | 0 | — |
case-07 | fail→fail | 3,474 | 7,215 | +108% | 1 | 1 | 0% | 646 | 2,401 | +272% | 0 | 0 | — |
case-08 | fail→fail | 7,835 | 5,733 | -27% | 1 | 1 | 0% | 1,054 | 2,153 | +104% | 0 | 0 | — |
case-09 | fail→pass | 8,530 | 10,655 | +25% | 1 | 1 | 0% | 1,442 | 2,786 | +93% | 0 | 0 | — |
case-10 | fail→fail | 2,627 | 6,739 | +157% | 1 | 1 | 0% | 469 | 2,096 | +347% | 0 | 0 | — |
case-11 | fail→pass | 6,185 | 7,845 | +27% | 1 | 1 | 0% | 1,273 | 2,555 | +101% | 0 | 0 | — |
case-12 | pass→pass | 10,048 | 10,259 | +2% | 1 | 1 | 0% | 1,762 | 2,715 | +54% | 0 | 0 | — |
case-13 | pass→pass | 7,785 | 8,563 | +10% | 1 | 1 | 0% | 1,419 | 2,464 | +74% | 0 | 0 | — |
case-14 | pass→pass | 6,356 | 7,208 | +13% | 1 | 1 | 0% | 975 | 2,312 | +137% | 0 | 0 | — |
case-15 | fail→fail | 4,373 | 5,635 | +29% | 1 | 1 | 0% | 809 | 2,138 | +164% | 0 | 0 | — |
case-16 | pass→pass | 6,727 | 6,441 | -4% | 1 | 1 | 0% | 1,104 | 2,304 | +109% | 0 | 0 | — |
case-17 | pass→pass | 6,552 | 25,709 | +292% | 1 | 1 | 0% | 1,040 | 2,161 | +108% | 0 | 0 | — |
case-18 | pass→pass | 2,510 | 5,114 | +104% | 1 | 1 | 0% | 492 | 2,044 | +315% | 0 | 0 | — |
case-19 | pass→pass | 6,446 | 6,909 | +7% | 1 | 1 | 0% | 1,129 | 2,289 | +103% | 0 | 0 | — |
case-20 | pass→pass | 10,164 | 6,121 | -40% | 1 | 1 | 0% | 1,687 | 2,238 | +33% | 0 | 0 | — |
case-21 | fail→pass | 3,129 | 5,868 | +88% | 1 | 1 | 0% | 632 | 2,282 | +261% | 0 | 0 | — |
case-22 | pass→pass | 8,026 | 6,944 | -13% | 1 | 1 | 0% | 1,848 | 2,520 | +36% | 0 | 0 | — |
case-23 | pass→pass | 5,986 | 5,190 | -13% | 1 | 1 | 0% | 1,231 | 2,234 | +81% | 0 | 0 | — |
case-24 | pass→pass | 13,019 | 8,353 | -36% | 1 | 1 | 0% | 2,401 | 2,719 | +13% | 0 | 0 | — |
case-25 | pass→pass | 4,422 | 5,557 | +26% | 1 | 1 | 0% | 1,053 | 2,428 | +131% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +20 percentage points is the difference between those two pass rates over the 25 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.