🧪 Skills
Invoices
Capture, extract, and organize received invoices with automatic OCR, provider detection, and searchable archive.
v1.0.1
Description
name: Invoices description: Capture, extract, and organize received invoices with automatic OCR, provider detection, and searchable archive.
Trigger
Use when user receives invoices (email, photo, PDF) and wants them organized automatically.
Key difference: This skill MANAGES received invoices. The invoice skill CREATES invoices to send.
Storage
~/invoices/
├── inbox/ # Unprocessed files awaiting extraction
├── archive/ # Organized by year/month
│ └── 2026/
│ └── 02/
│ └── 2026-02-13_Hetzner_INV-12345_89.50.pdf
├── providers/ # Provider metadata
│ └── index.json
├── entries.json # All invoice metadata (searchable)
└── state.json # Processing state
Quick Reference
| Topic | File |
|---|---|
| Capture and extraction workflow | process.md |
| Fields to extract | extraction.md |
| Search queries and reports | search.md |
| Legal requirements by country | legal.md |
Process Summary
- Capture — Receive invoice (email attachment, photo, direct PDF). Copy to
inbox/. - Extract — OCR if needed, parse fields (provider, date, amounts, tax).
- Validate — Check required fields, detect duplicates.
- Organize — Rename, move to
archive/YYYY/MM/, updateentries.json. - Confirm — Show extracted data, allow corrections.
See process.md for detailed workflow.
Critical Rules
- Never delete originals — Keep PDFs permanently. Legal requirement (4-6 years depending on country).
- Detect duplicates — Same invoice number + provider = duplicate. Alert, don't overwrite.
- Validate tax math — Base + tax should equal total. Flag discrepancies.
- Provider normalization — "HETZNER ONLINE GMBH" = "Hetzner". Maintain provider aliases.
Alerts
- Invoice pending >48h in inbox
- Payment due in <7 days
- Unusual amount (>50% higher than same provider average)
- Missing expected recurring invoice
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!