extract-invoices

Extract vendor, amount, IBAN, and due date data from invoice PDF email attachments.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/karimStekelenburg/k3m-marketplace --skill extract-invoices-karimstekelenburg
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: extract-invoices
Source: https://github.com/karimStekelenburg/k3m-marketplace/tree/main/plugins/personal-finance/skills/extract-invoices
Command: npx skills add https://github.com/karimStekelenburg/k3m-marketplace --skill extract-invoices-karimstekelenburg

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Manually reading invoice PDFs from emails and typing amounts, IBANs, and due dates into records is slow and error-prone. This Skill automates invoice data extraction from email attachments and flags low-confidence results for review. ## Core Features & Use Cases - Batch Extraction: Process all pending emails or a single email by ID, pulling vendor, amount, IBAN, and due date from PDF attachments. - Confidence Reporting: Displays a summary table marking which invoices used LLM fallback and require manual verification. - Manual Correction Workflow: For flagged invoices, shows raw extracted text, lets you confirm corrected values, and writes them back to the database. - Use Case: You receive dozens of supplier invoices by email each month. Run the extractor over all pending emails, review the flagged low-confidence rows, and confirm corrections to keep your finance records accurate. ## Quick Start Extract invoice data from all pending emails in my finance database and show me which ones need manual review.

Frequently Asked Questions about extract-invoices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract invoice data from email PDF attachments?▼

Run the extraction script over all pending emails or a single email ID to parse PDF attachments for vendor, amount, IBAN, and due date. Results are stored in a local database with a confidence indicator for each record.

How do I process only one specific invoice email?▼

Pass the --email-id flag with the target email's ID to run extraction on that single attachment instead of the full pending queue. You can also specify a custom data directory with --data-dir.

What happens when invoice extraction has low confidence?▼

Low-confidence results are flagged as llm_fallback in the summary table. The workflow then shows the raw extracted text so you can manually confirm vendor, amount, IBAN, and due date, then writes the corrected values back to the database.

What if an invoice PDF attachment is corrupt or unreadable?▼

The extractor reports the email ID and the error for any attachment that cannot be read, such as corrupt PDFs or unsupported formats. Processing continues with the remaining emails so one failure does not block the batch.

Where is the extracted invoice data stored?▼

Extracted records are written to a local database in the data directory, which defaults to ~/Documents/finance-data/. You can override this location by passing the --data-dir argument with a custom path.