Remember Finances
SkillDocs & knowledgeImport bank statements, receipts, and invoices into persistent memory. Extract transactions with amounts, dates, merchants, and categories.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Remember Finances skill
What this skill tells your AI
The instructions your AI receives, as published by markmhendrickson/neotoma in skills/remember-finances/SKILL.md and read by ahel’s review.
Import financial documents — bank statements, receipts, invoices — into Neotoma memory with structured transaction extraction and full provenance.
When to use
When the user has financial documents (CSV/PDF bank statements, receipt images, invoice PDFs) and wants to persist the transactions as structured, queryable records.
Prerequisites
Run the ensure-neotoma skill first if Neotoma is not yet installed or configured in your current harness.
Supported sources
| Source | Format | Method |
|---|---|---|
| Bank statements | CSV, PDF | File read, parse_file for PDFs |
| Receipts | Images (JPEG, PNG), PDF | Vision, parse_file |
| Invoices | PDF, email attachments | parse_file, email MCP |
| Plaid | Live bank data | Plaid MCP (optional) |
Workflow
Phase 0: Verify Neotoma
Confirm Neotoma MCP is connected (call get_session_identity).
Phase 1: Identify financial documents
- Ask the user what to import:
- Bank statement file path (CSV or PDF)
- Receipt image(s)
- Invoice file(s)
- Live bank account via Plaid MCP
- Detect the format and choose the appropriate parsing method.
Phase 2: Parse and preview
- CSV statements: read columns, detect header row, identify date/amount/description fields.
- PDF statements: use
parse_fileto extract text, then parse rows. - Receipt images: use vision to read merchant, date, items, total, tax.
- Invoices: use
parse_fileto extract vendor, line items, amounts, due date. - Present a preview: transaction count, date range, total amounts, top merchants/vendors.
- Ask for confirmation.
Phase 3: Extract entities
For each document, extract:
- Transactions: one
transactionentity per line item or statement row withamount,currency,date,description,merchant,category(when inferable). - Contacts: merchants, vendors, or counterparties as
contactentities. - Invoices/Receipts: the document itself as a
receiptorinvoiceentity with total, tax, line items.
Use entity_type transaction consistently within a batch. Store source-specific details as fields (provider, account_suffix, value_date, concept).
Phase 4: Store with provenance
Use the combined store path — entities array plus file_path for the original document — in a single store call. This preserves the raw financial document as a source row.
Set source_file to the filename. For each transaction, set data_source with a unique identifier (e.g. row number, transaction reference).
Phase 5: Report results
Summarize:
- Documents processed
- Transactions stored (count, date range, total)
- Top merchants/vendors by frequency or amount
- Offer to query specific transactions or merchants.
Do not
- Process financial documents without user confirmation.
- Mix entity_type within a batch (use
transactionconsistently for statement rows). - Skip the raw document preservation — always use the combined store path.
- Echo full financial details in chat beyond what answering requires.
Signals
- GitHub stars
- 32
- Forks
- 3
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
remember-finances- Source
- github.com/markmhendrickson/neotoma