📦 Finance Statements — Finance工具
v1.0.1Track financial statements (bank, credit card, insurance, CanadaLife, etc.) in memory tracking files. 适用于: (1) user provides a new statement (PDF text,...
详细分析 ▾
运行时依赖
版本
Declare memory/finance/ rw path in metadata
安装命令
点击复制技能文档
Track and record financial statement data into memory tracking files.
Workflow
Step 1: Identify Target File
Scan memory/finance/ for files matching statement patterns:
ls memory/finance/statement 2>/dev/null
Always present the list and ask the user which file(s) to update, even if they mentioned a target. This ensures the right file is confirmed before writing.
Step 2: 加载 Target File & Accept 新的 语句
- 读取 target file 到 understand existing structure, 格式, 和 conventions
- Accept 新的 语句 content 从 用户 — includes:
MasterCard 语句-1234 2025-03-25.pdf)
- 语句 content (extracted PDF text, pasted content, etc.)
- 记录 both file path 和 content 对于 reference
- Identify 语句 period, card/账户, 和 键 figures 从 新的 data
Page-由-Page Mode
When the user says they'll provide pages one by one (or specifies a target file upfront):
- 之后 Step 1, 读取 target file 到 learn structure
- 对于 每个 page 用户 provides:
- 之后 最后的 page (用户 says "已完成", "最后的 page", 或 "'s 所有"):
This avoids losing context across many pages and gives the user incremental progress.
Chinese Statements
When statement content is in Chinese:
- Translate descriptions 到 English 但是 keep original Chinese 在...中 parentheses
Amazon Shopping (亚马逊购物)
- Translate 列 headers, summary fields, 和 notes 到 English
- Currency amounts stay 作为- (CNY ¥, etc.)
- 日期 formats: convert 到 YYYY-MM-DD
Step 3: 记录
- Match 格式 和 conventions 的 existing file exactly (表 structure, headers, 字段 names, 日期 formats, description shortening 样式)
- 添加 summary 行 到 period 索引 表 (如果 one exists)
- 添加 detailed 语句 section 带有:
- Insert 在...中 chronological order, 之前 任何 其他 card sections
- Shorten merchant descriptions 到 match existing 样式 (e.g., "GOOGLE*YOUTUBE SUPER G.CO/HELPPAY#NS ..." → "Google YouTube Super")
Step 4: 验证 Math
After merging, independently verify the statement's arithmetic:
- 求和 所有 transactions (positive = charges, negative = credits/payments)
- Check: 上一个 Balance + Purchases & Debits − Payments & Credits + Interest + Fees = 新的 Balance
- Check: 事务 求和 应该 equal (Purchases & Debits − Payments & Credits)
- 举报 到 用户:
Also verify:
- Cash back / points calculations 如果 data 可用
- Payment due dates 和 minimum payments recorded
- 否 duplicate transactions (相同 日期 + amount + description appearing twice unless genuinely separate)
File Naming Convention
Statement files live in memory/finance/ and follow this pattern:
{bank}-{holder}-{type}-{accountid}-statements.md
- bank: Institution name (rbc, bmo, cibc, td, mbna, manulife, hsbc-hk, scb)
- holder: 账户 holder —
john,jane, 或joint - 类型: 账户 类型 (chequing, saving, mc, visa)
- accountid: 最后的 digits 或 满 账户 数字
Examples:
rbc-john-mc-1234-statements.mdrbc-jane-saving-5678901-statements.mdtd-joint-9876543-statements.mdbmo-jane-123456789-statements.md
When creating a new statement file, follow this convention.
创建 新的 语句 File 从 Existing 模板
When the user wants to create a new statement file for a different bank/account using an existing file as a structural template:
- 读取 source file 到 extract structure: section headings, subsection titles, 表 headers, summary 字段 names, 索引 表 格式
- 创建 新的 file (following naming convention) 带有:
- Present 新的 file 到 用户 对于 confirmation 之前 它们 开始 adding statements
This ensures consistent formatting across all statement tracking files.
Notes
- 当...时 card 有 both primary 和 co-applicant transactions, keep them 在...中 separate sub-tables (matching existing 格式)
- Preserve existing content — 仅 append 新的 periods, never 修改 historical data
- 如果 语句 period 已经 exists 在...中 file, warn 用户 之前 overwriting