Skip to content

File-Naming: Reference Artifacts (Bills, Receipts, Statements)

Section titled “File-Naming: Reference Artifacts (Bills, Receipts, Statements)”

Naming System.md §4 — new ISO-date exception for dated financial/reference docs:

  • Rule: Type_Vendor_YYYY-MM-DD.pdf — what → who → when (BEM object-first). Hyphens allowed in the date only (ISO-8601 is never a code variable, so the underscore-only rationale doesn’t apply).
  • Folder-implied collapse: drop any element the folder already says — Type (Bills/) or part of Vendor (Statements/CreditCard/ already says “CreditCard” — keep only the institution, since that’s what changes if Talbot switches providers).
  • Validates rather than replaces the existing 8-year Bills/ convention (Rogers-2018-10-16.pdf).

Accounting artifacts dated 2025-06-01 onward (FY26, aligned with the QuickBooks Desktop → Online migration — pre-migration files are frozen reference material nothing else points at). Applied to Bills/, Expenses/AI Tools/, Statements/Chequing/, Statements/CreditCard/. Invoices/ had no files in scope. Bills/ needed zero changes (already compliant).

Result: 7 Stripe receipts → Claude_YYYY-MM-DD.pdf (verified real vendor+date via markitdown against each PDF’s “Date paid” line — all Anthropic/Claude, no Cursor receipts currently present); 26 statements → BMO_YYYY-MM-DD.pdf.

D:\FSS\Software\Utils\PythonUtils\rename_receipts\ — deterministic uv-managed CLI, dry-run by default (--execute to apply). Registered at Core/IT/Utils/Custom/rename-receipts.md.

os.rename() and even plain rm failed with PermissionError on 3 of the first 25 files, despite -rwxrwxrwx — not systemic (a fresh scratch file deleted fine). Likely a transient lock (backup/AV scan) on those specific pre-existing files. Fix: copy + byte-verify (filecmp.cmp) + delete, and don’t abort the whole batch on one locked file — collect a manual-cleanup list and print the exact Remove-Item PowerShell command. All subsequent files (26/26 in the follow-up BMO-redundancy-fix pass) deleted cleanly from WSL.

New custom utils weren’t being registered in Core/IT/Utils/Custom/ at creation — rename_receipts was caught only when Talbot asked for it after the fact. Added to ai-config/AGENTS.md’s Utility script placement rule: register at creation time, not retroactively.

  • Vault-wide retroactive rename beyond Accounting: not evaluated, Talbot’s call for later.
  • Pre-2025-06-01 Accounting artifacts: left alone (frozen reference material, no upstream system points at them post-QBO-migration).